我正在尝试构建一个冗长的程序和库链,最终使用语音到文本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)
      来自/Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_splitter.rb:77:in new' 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:in new' 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:在`load'中
      来自/ usr / bin / speech2text:19


但是,尝试在同一文件上手动运行命令实际上给了我这个:


  错误:输入文件./chunk-abortion-test-audio-0.mp3具有ID3v2标签
  /库/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:in each' 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:在`load'中
      来自/ usr / bin / speech2text:19


当然,这里具有讽刺意味的是,我实际上已经使用以下命令清除了id3v2标签的文件
在Mac终端上为id3v2 --delete-all。所以发生了一些棘手的事情。

谁能暗示可能会发生什么?另外,鉴于Speech2text一年没有更新,我觉得人们必须使用一种更新的语音到文本解决方案。所以,如果那里有更好的东西,请告诉我。

干杯!

编辑-顺便说一句,如果有人感兴趣,则mp3文件源自使用ffmpeg剥离.flv文件。

最佳答案

现在这是两个单独的问题。我只能通过回避使用.mp3文件并改用.wav来解决ID3v2问题。 Java输出仍然是一个问题,因此我将其转移到一个新的Question上。

10-01 08:11