Skip to content

Instantly share code, notes, and snippets.

@brunokruse
Created October 2, 2017 03:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brunokruse/c1432dbbe284cfbe9f69e49576a6eb87 to your computer and use it in GitHub Desktop.
Save brunokruse/c1432dbbe284cfbe9f69e49576a6eb87 to your computer and use it in GitHub Desktop.
test exif
{
'YResolution': (72, 1),
'ResolutionUnit': 2,
'Make': u 'Apple',
'Flash': 16,
'SceneCaptureType': 0,
'GPSInfo': {
1: u 'N',
2: ((40, 1), (41, 1), (4204, 100)),
3: u 'W',
4: ((73, 1), (57, 1), (3795, 100)),
5: '\x00',
6: (11551, 344),
7: ((22, 1), (37, 1), (1814, 100)),
12: u 'K',
13: (0, 1),
16: u 'T',
17: (70051, 427),
23: u 'T',
24: (70051, 427),
29: u '2017:09:08',
31: (1414, 1)
},
'MeteringMode': 3,
'XResolution': (72, 1),
'LensSpecification': ((399, 100), (399, 100), (9, 5), (9, 5)),
'ExposureBiasValue': (0, 1),
'MakerNote': 'Apple iOS\x00\x00\x01MM\x00\x0f\x00\x01\x00\t\x00\x00\x00\x01\x00\x00\x00\x05\x00\x02\x00\x07\x00\x00\x02.\x00\x00\x00\xc8\x00\x03\x00\x07\x00\x00\x00h\x00\x00\x02\xf6\x00\x04\x00\t\x00\x00\x00\x01\x00\x00\x00\x01\x00\x05\x00\t\x00\x00\x00\x01\x00\x00\x00\x9f\x00\x06\x00\t\x00\x00\x00\x01\x00\x00\x00\x99\x00\x07\x00\t\x00\x00\x00\x01\x00\x00\x00\x01\x00\x08\x00\n\x00\x00\x00\x03\x00\x00\x03^\x00\x0c\x00\n\x00\x00\x00\x02\x00\x00\x03v\x00\r\x00\t\x00\x00\x00\x01\x00\x00\x00\x16\x00\x0e\x00\t\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0f\x00\t\x00\x00\x00\x01\x00\x00\x00\x02\x00\x10\x00\t\x00\x00\x00\x01\x00\x00\x00\x01\x00\x11\x00\x02\x00\x00\x00%\x00\x00\x03\x86\x00\x14\x00\t\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00bplist00O\x11\x02\x00}\x00x\x00\x90\x00l\x00V\x00\x8d\x00\x0c\x01w\x00M\x00j\x00\xde\x01I\x02\x04\x03\xe8\x02d\x02\xcf\x01\x89\x00\x80\x00r\x00h\x00_\x00w\x00\x85\x00?\x00\x7f\x00\xf1\x01\xb0\x02\x1f\x03\xad\x02y\x02Y\x02\xc3\x01\x8f\x00}\x00p\x00f\x00D\x00N\x00.\x00\xf0\x00I\x02\xa4\x02\xa8\x02\xd0\x02\x8e\x02Q\x02\xfd\x01O\x01\x8f\x00z\x00j\x00S\x00F\x007\x00 \x013\x02\xc4\x02\xb8\x02y\x02\xe5\x01\x7f\x01}\x01e\x01\t\x01\x91\x00z\x00b\x000\x00^\x00\x1e\x01\xc6\x00U\x01a\x01\xde\x02\xec\x02\x7f\x02\xa3\x01Q\x01\xfb\x00\xfc\x00\x91\x00|\x00X\x002\x00\x96\x00\xbd\x00\xbf\x00n\x00\xac\x00/\x02\x0b\x03\xfd\x02\xfa\x01T\x01\xd8\x00\xe2\x00\x92\x00{\x00`\x008\x00F\x00N\x00N\x00n\x00p\x00\x04\x01\x1e\x02\xc7\x01n\x01\xfc\x00\xaa\x00\xaa\x00\x90\x00}\x00b\x00@\x00=\x008\x002\x00<\x00g\x00\xfd\x00\x16\x018\x01\xea\x00\xc5\x00w\x00@\x00\x8e\x00\x80\x00c\x00D\x00:\x00,\x00Q\x00%\x00\xee\x00\xd8\x00\xac\x00\xd7\x00\x84\x00B\x00\x18\x002\x00\x8c\x00{\x00b\x00K\x00<\x00+\x00\x1e\x00q\x00\x9d\x00\x82\x00n\x00\x1e\x00\x15\x002\x00>\x00H\x00\x86\x00q\x00X\x00K\x00@\x003\x00/\x000\x00=\x00A\x00\x87\x00J\x00h\x00L\x00@\x00<\x00n\x00i\x00X\x00K\x00A\x00:\x002\x001\x005\x00F\x00\x7f\x00L\x006\x00;\x009\x00>\x004\x00P\x00U\x00J\x00A\x00<\x00E\x00H\x00,\x00,\x00J\x00E\x00?\x00C\x00D\x00I\x00\xa7\x00.\x00H\x00I\x00@\x004\x00\x1c\x00\x14\x00\x1a\x00\x1f\x00\x1f\x00\x1e\x00\x1e\x00\'\x00.\x008\x00t\x017\x01>\x00A\x00I\x00*\x00 \x00\x19\x00\x1c\x00\'\x00\'\x00%\x00%\x00!\x00\x1e\x00\x1a\x002\x01\x85\x014\x02\x8c\x00+\x00\x1e\x00"\x00"\x00%\x00\'\x00(\x00\'\x00%\x00"\x00\x1d\x00\x1a\x00\x00\x08\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x0cbplist00\xd4\x01\x02\x03\x04\x05\x06\x07\x08UflagsUvalueUepochYtimescale\x10\x01\x13\x00\x00\x15\x86\x846O\xeb\x10\x00\x12;\x9a\xca\x00\x08\x11\x17\x1d#-/8:\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\xff\xff\xf6\x9c\x00\x00\x0e\xd7\xff\xff\xffo\x00\x00$\xe2\xff\xff\xebA\x00\x00\x1a\xfa\x00\x00\x00\x91\x00\x00\x01\x00\x00\x00\x01E\x00\x00\x01\x00F949BF04-33B7-43FA-B03C-7CFADB844FC2\x00\x00',
'ExposureProgram': 2,
'FocalLengthIn35mmFilm': 28,
'SubjectLocation': (3371, 1623, 753, 756),
'ColorSpace': 65535,
'ExifImageWidth': 4032,
'DateTimeDigitized': u '2017:09:08 18:37:24',
'ApertureValue': (2159, 1273),
'SceneType': '\x01',
'LensModel': u 'iPhone 7 back camera 3.99mm f/1.8',
'BrightnessValue': (2966, 3709),
'WhiteBalance': 0,
'SensingMethod': 2,
'FNumber': (9, 5),
'DateTimeOriginal': u '2017:09:08 18:37:24',
'FocalLength': (399, 100),
'SubsecTimeOriginal': u '404',
'ExposureMode': 0,
'ComponentsConfiguration': '\x01\x02\x03\x00',
'ExifOffset': 206,
'ExifImageHeight': 3024,
'SubsecTimeDigitized': u '404',
'ISOSpeedRatings': 100,
'Model': u 'iPhone 7',
'DateTime': u '2017:09:08 18:37:24',
'Software': u '10.3.3',
'ExposureTime': (1, 15),
'Orientation': 1,
'FlashPixVersion': '0100',
'YCbCrPositioning': 1,
'LensMake': u 'Apple',
'ShutterSpeedValue': (2435, 623),
'ExifVersion': '0221'
}
@Avi-TelnT
Copy link

Hi
I am looking to hire an ESP32 Python programmer to help me to develop a firework interface for ESP32 I2S for a mic on I2S ICS-43434 IC and play wav using I2S MAX98357A IC. The target is work needed Google speech recognition and Google text to speech from ESP32.
The development environment must be https://github.com/loboris/MicroPython_ESP32_psRAM_LoBo
If you have an experience on ESP32 MicroPython_ESP32_psRAM_LoBo Python please reply my email nissim@telnt.com
And call my Skype nissim.test
The work is milestone-based and payment will be as milestone below,
We will provide the hardware for that :

  1. Expose to LoBO Python the ESP32-IDE /MicroPython/Tools/esp-idf/components/driver/include/driver/I2S.H and I2S.C by integrate them in machine module so dir(machine) will show the I2S interface and commands to set I2S for recording and playing using the ESP32 DMA.
  2. Use the above machine.I2S to record and play a wav file a digital mic on
    I2S ICS-43434 IC and play wav using MAX98357A IC
  3. Make an audio PTT (Push-To-Talk) instead of PCB button. By detecting the rising level on the recorded audio level, ok voice keyword recognized.
  4. Doing above but record and play from ram with Flak encoding as needed by Google SR AND TTS. See https://cloud.google.com/speech-to-text/docs/encoding
  5. I need to use SR to get the recognized the Mic audio, as text returns from Google back to ESP32, modify the return text with meaningful information and send to be played by Google TTS. Like Siri. With ESP32.
    As:
    You Say to Mic I2S ICS-43434 “What is the temperature now?”
    Get back the text in ESP32 Python “What is the temperature now”
    ESP32 Send to TTS “The temperature now is 30 degree”
    The return wav or Flak been played to using MAX98357A over I2S
  6. So, I believe to expose I2S code from ESP32 C to Python will not be a big work.
    a. Google API use wav Audio Encoding name: FLAC Free Lossless Audio Codec 16-bit or 24-bit required for streams.
    b. So, FLAC can be done in C or Python. But interface must be from Python. See https://goo.gl/mtrwVN
  7. Maybe this is a good source for FLAC in C https://goo.gl/cCYFTh
    Contact :
    Nissim Zur
    nissim@telnt.com
    Skype: nissim.test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment