弗拉克:"ERROR: input file has an ID3v2 tag"(它没有)



我正在尝试构建一个相当冗长的程序和库链,最终使用语音转文本API将mp3文件运行为可阅读的文本。我很惊讶地发现,很少有API能在网上做到这一点——我发现唯一可行的是speech2text项目:https://github.com/taf2/speech2text它与谷歌的非官方Speech-To-Text API挂钩。

这在一开始确实有效。我做了一些手动转换,并对结果感到满意。然而,由于试图在Java中实现流程链的自动化,它已经无法正常工作。

编辑-从技术上讲,以下错误消息来源于flac本身,而不是speech2text。尝试仅使用flac而不使用speech2text转换这些文件也会导致id3v2错误消息,因此该错误实际上与speech2ttext无关(尽管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_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/speech2文本:19

然而,尝试在同一个文件上手动运行命令实际上会给我带来以下结果:

错误:输入文件/chunk-aportion-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_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/speech2文本:19

当然,具有讽刺意味的是,我实际上已经使用CCD_ 6。所以发生了一些奇怪的事情。

有人能提出可能发生的事情吗?此外,鉴于speech2text已经一年没有更新了,我觉得人们一定在使用一种更新的语音到文本解决方案。所以,如果有更好的东西,请告诉我。

干杯!

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

现在这是两个独立的问题。ID3v2问题我只能通过避免使用.mp3文件而使用.wav来解决。Java输出仍然是一个问题,所以我将把它转移到一个新的问题上。

最新更新