Jaymon / transcribe

Convert images or audio files to plain text on the command line
MIT License
32 stars 7 forks source link

Error in transcribing a Chinese audio: UnicodeEncodeError: 'ascii' codec can't encode characters #6

Closed CicoZhang closed 4 years ago

CicoZhang commented 4 years ago
$ transcribe speech conditional_thinking.mp3 --language zh-CN > conditional_thinking.txt
[I] Converting /home/cico/Downloads/conditional_thinking.mp3 to ogg at /tmp/conditional_thinking.ogg
[I] Uploading /tmp/conditional_thinking.ogg to Google cloud storage bucket wired-balm-243412
[I] Google cloud storage uri gs://wired-balm-243412/conditional_thinking.ogg
[I] Beginning transcription
[I] Transcription finished in 0:10:19
[I] Deleting file from Google cloud storage gs://wired-balm-243412/conditional_thinking.ogg
Traceback (most recent call last):
  File "/home/cico/miniconda3/envs/autosub/bin/transcribe", line 10, in <module>
    sys.exit(console())
  File "/home/cico/miniconda3/envs/autosub/lib/python2.7/site-packages/transcribe/__main__.py", line 69, in console
    exit(__name__)
  File "/home/cico/miniconda3/envs/autosub/lib/python2.7/site-packages/captain/__init__.py", line 41, in exit
    ret_code = s.run(raw_args)
  File "/home/cico/miniconda3/envs/autosub/lib/python2.7/site-packages/captain/__init__.py", line 176, in run
    ret_code = callback(*args, **kwargs)
  File "/home/cico/miniconda3/envs/autosub/lib/python2.7/site-packages/transcribe/__main__.py", line 63, in main_speech
    for time, text in f:
  File "/home/cico/miniconda3/envs/autosub/lib/python2.7/site-packages/transcribe/speech.py", line 160, in __iter__
    text = String(alternative.transcript).flow()
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)
Jaymon commented 4 years ago

I think 9b190c1 should address this, if you could pull the latest master and try again? If it doesn't work then if you want to send me 10-30 seconds of the file and I will really get into it and figure out why it isn't working. Thanks

CicoZhang commented 4 years ago

Thanks for the quick fix. I tested over a short Chinese audio, it worked.

transcribe speech test_talk.mp3 --language zh-CN > text_talk.txt            
[I] Converting /home/cico/Documents/audio-to-text/test_talk.mp3 to ogg at /tmp/test_talk.ogg
[I] Uploading /tmp/test_talk.ogg to Google cloud storage bucket wired-balm-243412
[I] Google cloud storage uri gs://wired-balm-243412/test_talk.ogg
[I] Beginning transcription
[I] Transcription finished in 0:00:20
[I] Deleting file from Google cloud storage gs://wired-balm-243412/test_talk.ogg