我正在尝试构建一个相当冗长的程序和库链,最终使用语音转文本 API 将 mp3 文件运行为人类可读的文本。我很惊讶地发现很少有 API 可以在线执行此操作 - 我发现的唯一有效的东西是 voice2text 项目:https://github.com/taf2/speech2text它连接到 Google 的非官方 Speech-To-Text API。
这实际上一开始是有效的。我做了一些手动转换,并对结果感到满意。然而,自从尝试用 Java 实现流程链自动化以来,它就停止了正常工作。
编辑 - 从技术上讲,以下错误消息来自 flac 本身,而不是 voice2text。尝试仅使用flac而不使用speech2text转换这些文件也会导致id3v2错误消息,因此该错误实际上与speech2text无关(尽管speech2text可能是错误标签的来源)
Java 将此报告为错误(在使用 ProcessBuilder 调用 voice2text 并打印出流之后):
/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' from /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' from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/bin/speech2text:11 from /usr/bin/speech2text:19:in `load' from /usr/bin/speech2text:19
但是,尝试在同一个文件上手动运行命令实际上给了我这个:
ERROR: input file ./chunk-abortion-test-audio-0.mp3 has an ID3v2 tag /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' from /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' from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/bin/speech2text:11 from /usr/bin/speech2text:19:in `load' from /usr/bin/speech2text:19
当然,具有讽刺意味的是,我实际上已经使用以下命令清理了 id3v2 标签的文件
Mac 终端上的 id3v2 --delete-all
。所以有些奇怪的事情正在发生。
任何人都可以建议可能会发生什么吗?另外,鉴于 Speech2text 已经一年没有更新了,我觉得人们必须使用更新的语音到文本解决方案。因此,如果有更好的东西,请告诉我。
干杯!
编辑 - 顺便说一句,如果有人感兴趣,mp3 文件源自使用 ffmpeg 剥离 .flv 文件。
最佳答案
现在这是两个独立的问题。我只能通过回避使用 .mp3 文件并使用 .wav 来解决 ID3v2 问题。 Java 输出仍然是一个问题,因此我将其转移到一个新问题。
关于java - flac: "ERROR: input file has an ID3v2 tag"(它没有),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9860835/