- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近正在使用神经网络和 CTC 损失来训练自动语音识别机。但我要做的第一件事是准备用于训练模型的数据。由于 Librispeech 包含大量数据,最初我将使用它的一个子集,称为“Mini LibriSpeech ASR 语料库”。 (http://www.openslr.org/31/)。我还使用 SeanNaren Pytorch 绑定(bind)进行 Warp-ctc ( https://github.com/SeanNaren/warp-ctc )。
读取音频文件及其相应的文字记录后,我使用 Spicy 包来计算每个音频文件的频谱图。当我将频谱图输入卷积层进行特征提取时,问题就出现了。每个频谱图的长度都不同于其他频谱图的长度。在对这个问题进行更多搜索之后,我发现我可能应该将特定数量的帧传递到网络,但为了达到这个目的,我需要用相应的字符(也包含空白符号)标记声音文件的每个帧。
有没有办法在Python中做到这一点?
最佳答案
您的问题非常广泛:您是否正在查看音频文件的文字记录?如果是这样,它们位于每个目录的文本文件中,每行以文件名开头(不带扩展名)。
您可以在这里查看:https://github.com/inikdom/rnn-speech/blob/master/util/dataprocessor.py
特别是这种方法,它给出了 Librispeech 语料库的音频文件列表及其转录:
def get_data_librispeech(self, raw_data_path):
text_files = self.find_files(raw_data_path, ".txt")
result = []
for text_file in text_files:
directory = os.path.dirname(text_file)
with open(text_file, "r") as f:
lines = f.read().split("\n")
for line in lines:
head = line.split(' ')[0]
if len(head) < 5:
# Not a line with a file desc
break
audio_file = directory + "/" + head + ".flac"
if os.path.exists(audio_file):
result.append([audio_file, self.clean_label(line.replace(head, "")), None])
return result
注意:每个项目的第三个值始终为 None,因为它应该在另一种方法中被替换为音频长度。
您不必使用相应的字符标记音频的每一帧,CTC 将通过处理完整长度的音频和相应的文字记录来处理它。
关于python - 在 pytorch 中加载 librispeech 以进行 ASR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50993861/
我尝试在“New-AzureRmRecoveryServicesAsrReplicationProtectedItem”上使用“-ReplicationGroupName”参数 cmdlet ,但是,
我正在研究创建可在 Hyper-V 中启动的 .VHD 文件的方法。 我可以使用 Windows 7 和 Win 2k8 中包含的 VSS ASR 编写器来执行此操作吗? 最佳答案 经过进一步研究,似
以下错误是我尝试使用 CURL 将音频样本(从内存)上传到 Nuance 的 ASR 网络服务时遇到的错误。我不确定我的代码哪里出错了,所以我希望有人能帮我找出错误所在。根据响应,错误是无效的应用程序
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
我正在通过 torchaudio 将 8 kHz 的音频文件重新采样为 16 kHz。 原始文件的示例: Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0
我使用 OpenAI 的 Whisper用于语音识别的 python 库。如何获取单词级时间戳? 用 OpenAI 的 Whisper 转录(在带有 Nvidia GeForce RTX 3090 的
我使用 OpenAI 的 Whisper用于语音识别的 python 库。我有一些训练数据:要么是纯文本,要么是音频+相应的转录。如何根据我自己的训练数据微调来自 OpenAI 的 Whisper A
我使用 OpenAI 的 Whisper用于语音识别的 python 库。我怎样才能给出一些提示短语,因为它可以用其他一些 ASR 来完成,例如 Google ? 用 OpenAI 的 Whisper
我使用 OpenAI 的 Whisper用于语音识别的 python 库。我有一些训练数据:要么是纯文本,要么是音频+相应的转录。如何根据我自己的训练数据微调来自 OpenAI 的 Whisper A
我使用 OpenAI 的 Whisper用于语音识别的 python 库。我怎样才能给出一些提示短语,因为它可以用其他一些 ASR 来完成,例如 Google ? 用 OpenAI 的 Whisper
我使用 OpenAI 的 Whisper用于语音识别的 python 库。如何获取单词级时间戳? 用 OpenAI 的 Whisper 转录(在带有 Nvidia GeForce RTX 3090 的
我最近正在使用神经网络和 CTC 损失来训练自动语音识别机。但我要做的第一件事是准备用于训练模型的数据。由于 Librispeech 包含大量数据,最初我将使用它的一个子集,称为“Mini Libri
我被要求在我们的产品中开发一个文本到语音模块,它应该支持各种文本到语音引擎。 是否有标准描述如何与第三方 TTS(文本到语音)服务或 ASR(自动语音识别)服务交互? 最佳答案 大多数 ASR 的使用
如何评估 ASR(自动语音识别)中的 WER(单词错误率)? 例如,如果我有 ASR 的句子和输出(人工引用翻译)。 我知道方程式,但不知道如何计算。计算WER时是否输入逗号、句号等标点符号? 以及单
如何评估 ASR(自动语音识别)中的 WER(单词错误率)? 例如,如果我有 ASR 的句子和输出(人工引用翻译)。 我知道方程式,但不知道如何计算。计算WER时是否输入逗号、句号等标点符号? 以及单
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 12 年前。 Improve thi
我有一台 VM Redhat Centos 5.6。出于时间和成本原因,我想以 ASR 模式将它迁移到 Azure:我部署的 Web 应用程序公开了一个 Web 服务(服务器 Apache Tomca
我正在尝试通过 Azure Powershell(Az 模块)从 Azure VM 禁用 Azure 站点恢复保护。这个想法是使用名称和资源组获取虚拟机: Get-AzVM -Name $name -
我正在尝试通过 Azure Powershell(Az 模块)从 Azure VM 禁用 Azure 站点恢复保护。这个想法是使用名称和资源组获取虚拟机: Get-AzVM -Name $name -
我有一个带有大量 JS 脚本的 Web 应用程序(“大量”是指无法在服务器端完成的大量客户端处理)。经过 1 小时左右(不固定)的处理后,我得到了 Chrome 的 “Aw, Snap!” 错误,我已
我是一名优秀的程序员,十分优秀!