谁能推荐可靠的开源软件来在wav文件中记录英语语音?我研究过的两个主要程序是Sphinx和Julius,但是我从来都无法使用它们,并且每个转录文件的文档充其量都是粗略的。
我正在开发64位Ubuntu
10.04,其存储库包括sphinx2和julius,以及voxforge的英语julius声学模态。我专注于转录文件,而不是直接处理麦克风的声音,因为我已经放弃了期望像这样的项目可以与Ubuntu的声音系统一起工作的方法。这并不是对Ubuntu的敲门声,因为我可以使用Audacity完美地录制我的麦克风的声音,但是这两个系统似乎都无法访问我的麦克风,因此我希望我可以仅通过读取文件来简单地配置它们。
我首先从Ubuntu软件包sphinx2-bin中尝试了Sphinx2。尽管示例sphinx2-demo似乎可以转录文件,但实际上没有有关配置的文档,因此我不确定如何自定义此文件以从任意wav读取。演示中使用的音频文件为某些未记录的“
16k”格式,可通过2个配置文件间接引用。有简短的介绍将sphinx2-demo描述为正在运行sphinx2-batch,但是检查脚本表明它实际上是在调用sphinx2-continuous。更糟糕的是,每个脚本的
–help文档列出了大约六打选项,并且没有提及哪些是必需的或可选的。总体而言,缺少狮身人面像文档以及现有文档质量不佳使我发疯。
接下来,我再次尝试使用来自Ubuntu软件包的Julius,该软件包是令人惊讶的最新版本(4.1),考虑到Voxforge快速入门中使用的版本是3.5。该软件包似乎包括稍微更好的文档,甚至包括一个用Python编写的示例(/
usr / share / doc / julius-voxforge / examples /
controlapp)。阅读示例的文档后,我尝试通过创建一个filelist.txt
包含文本“
hello.wav”的文件来引用该文件,该文件引用了同名文件,其中包含有人说“ hello”的记录。将它们放在同一目录中,我运行了:
julius -input file -filelist filelist.txt -C julian.jconf
得到响应:
### read waveform input
Error: adin_file: sampling rate != 16000 (8000)
Error: adin_file: error in parsing wav header at hello.wav
Error: adin_file: failed to read speech data: "hello.wav"
0 files processed
通过为filelist.txt和hello.wav指定绝对文件名重试会产生相同的错误。
我还尝试了示例中使用的Julius调用,以直接从麦克风录音:
julius -input mic -C julian.jconf
我多次打电话给我,响应在错误之间有所不同:
Cannot read /dev/dsp
和:
STAT: AD-in thread created
<<< please speak >>>
在后一种情况下,无论我对麦克风说什么,都不会发生。我无法判断它是否仍然无法读取麦克风,或者是否正在读取某些东西,但是根本无法转录音频。
我不确定该怎么做。我遇到的错误并不会给我带来太多麻烦。为什么看不懂wav?为什么不能读取/ dev / dsp?那么为什么它似乎能够读取/ dev /
dsp却没有任何反应呢?
任何人都有 任何 与开源语音识别成功,特别是在Linux上?
为什么看不懂wav?
它告诉您文件的采样率(8000)而不是请求的(16000)错误。采样率对于语音识别软件非常重要。
为什么不能读取/ dev / dsp?
在最新版本的Ubuntu中,使用pulseaudio框架代替OSS。您尝试使用的版本正在使用OSS,因此您需要从发行版中安装oss-
compatibility软件包,以重新获得OSS支持。
您可以尝试支持PulseAudio的新版Julius
那么为什么它似乎能够读取/ dev / dsp却没有任何反应呢?
音频输入无法正常工作。
其他人在开源语音识别器上是否取得了成功,尤其是在Linux上?
我建议您重新使用CMUSphinx软件包,它是领先的开源语音识别引擎。网站上有大量文件,您只需要阅读它们即可。请记住,语音识别是一个复杂的领域,您可以在其中获得出色的成绩,但是您还需要花时间在理解技术上。就像其他任何域一样。
简而言之,要使用CMUSPhinx转录文件,您需要执行以下3个简单步骤:
提取wav文件,然后用sox将其重采样为8khz 16位单声道文件:
袜输入.wav -r 8000 -c 1重新采样.wav
安装pocketsphinx 0.7
apt-get install pocketsphinx
解码文件
pocketsphinx_continuous -samprate 8000 -infile resampled.wav
结果将打印到标准输出。要禁止记录器,请将stderr重定向添加到/ dev / null
pocketsphinx_continuous -infile resampled.wav 2> / dev / null
使用Microsoft语音API转录中/大型音频文件(每个文件约6-10分钟)的最佳方式是什么?比如批量音频文件转录? 我使用了https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-to-text-sample中提供的代码,用于连续转录语音,但它在某个时候停止转录。转录有任何限制吗?我只使用免
问题内容: 我觉得这是一个相当普遍的问题,但我尚未找到合适的答案。我有很多想在单词上打断的人类语音音频文件,可以通过查看波形中的停顿来试探性地完成,但是谁能指出我在python中自动执行此功能的函数/库吗? 问题答案: 一个简单的方法是使用pydub模块。最近添加的静默实用程序可以完成所有繁重的工作,如,。等等,并且与所提到的其他方法相比,大大简化了代码。 这是一个演示实现,从这里得到启发 设定:
我对javascript和discord.js很陌生,有人知道如何让机器人加入一个频道,播放一个文件然后离开吗? 以下是我尝试过的: 现在,它将发送消息加入语音通道,而不管我是否在其中,如果我在其中,它就不会加入语音通道并播放文件。任何帮助都很感激。
有了一个机器人,我试着用discord在一个音频通道中播放一个音频文件(mp3)。js、ffmpeg和opusscript。 基本上,这就是它的工作原理: 因此,音频播放,但在结束前停止(例如,对于5s音频文件,它在3s后停止)。机器人留在频道中,我可以再次播放,但对于我的所有文件,它在结束前停止。我怎样才能解决这个问题?
录制完一个呼出的电话后,我试图播放录制的文件——以确保通话录音按预期工作(我使用“媒体播放器”进行),但没有声音。所以我试图访问手机上的实际文件(只需将手机连接到电脑上并访问它的文件)。当我播放录音时,它的长度是正确的,但同样没有声音。 我错过了什么? 这是我记录电话的方式: 这是结束通话记录的代码: 这是我播放音频文件的方式:
我正试图创建一个呼叫录音机应用程序,然而,我的音频来源时,它的麦克风工作正常,但它不能捕捉第二个声音。 如果我更改为VOICE_CALL,我的应用程序关闭。 我在PlayStore上看到了数百个类似的应用程序,并想知道它们能够记录通话双方的秘密是什么。