我正在尝试构建一个相当冗长的程序和库链,最终使用语音到文本 API 将 mp3 文件运行为人类可读的文本。我很惊讶地发现很少有 API 可以在线执行此操作 - 我发现的唯一有效的东西是 Speech2text 项目:https ://github.com/taf2/speech2text ,它与 Google 的非官方 Speech-To-Text API 挂钩。
起初这确实有效。我做了一些手动转换,对结果很满意。但是,由于尝试在 Java 中自动化流程链,它已停止正常工作。
编辑 - 以下错误消息在技术上来自 flac 本身,而不是 Speech2text。尝试仅使用 flac 而不是 speech2text 转换这些文件也会导致 id3v2 错误消息,因此该错误与 speech2text 无关(尽管 speech2text 可能是错误标签的来源)
Java 将此报告为错误(在使用 ProcessBuilder 调用 speech2text 并打印出流之后):
/Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_inspector.rb:50:in
initialize': undefined method
first' for nil:NilClass (NoMethodError) from /Library/Ruby/Gems/1.8/gems/speech2text -0.3.4/lib/speech/audio_splitter.rb:77:innew' from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_splitter.rb:77:in
initialize' 来自 /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_to_text.rb:15:innew' from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_to_text.rb:15:in
to_text' 来自/Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/bin/speech2text:11 来自 /usr/bin/speech2text:19:in `load' from /usr/bin/speech2text:19
但是,尝试在同一个文件上手动运行命令实际上给了我这个:
错误:输入文件 ./chunk-abortion-test-audio-0.mp3 有一个 ID3v2 标签 /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_splitter.rb:59:in
to_flac': failed to convert chunk: ./chunk-abortion-test-audio-0.mp3 with flac ./chunk-abortion-test-audio-0.mp3 (RuntimeError) from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_to_text.rb:18:in
to_text '来自 /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_to_text.rb:17:ineach' from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_to_text.rb:17:in
to_text' 来自 /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/ bin/speech2text:11 来自 /usr/bin/speech2text:19:in `load' from /usr/bin/speech2text:19
id3v2 --delete-all
当然,具有讽刺意味的是,我实际上已经在 Mac 终端上使用了 id3v2 标签文件
。所以有些奇怪的事情正在发生。
谁能建议可能发生的事情?另外,鉴于speech2text 一年没有更新,我觉得人们必须使用更新的语音到文本解决方案。所以如果有更好的东西请告诉我。
干杯!
编辑 - 顺便说一句,如果有人对 mp3 文件感兴趣,则该文件源自使用 ffmpeg 剥离 .flv 文件。