如何解决用于为手动转录的 .wav 文件生成时间戳的 Python
我的输入: 多个带有英文语音的 .wav 文件。 所有这些 .wav 文件都已手动转录。
我的目标: 为语音文本的开始和结束以及所有超过 2 秒的静音生成时间戳。
到目前为止我所尝试的: 我已经使用 Python 在超过 2 秒的静音时拆分我的 .wav 文件,这是有效的。 我使用了以下来自 stackoverflow 的代码。
from pydub.silence import split_on_silence
import deepspeech
import numpy as np
def match_target_amplitude(sound,target_dBFS):
change_in_dBFS = target_dBFS - sound.dBFS
return sound.apply_gain(change_in_dBFS)
sound = AudioSegment.from_wav("/content/gdrive/My Drive/Surf.wav")
normalized_sound = match_target_amplitude(sound,-20.0)
chunks = split_on_silence(normalized_sound,min_silence_len=2000,silence_thresh=-30)
for i,chunk in enumerate(chunks):
fullPath = "/content/gdrive/My Drive/{number}-Surf-{length}.wav".format(number=i+1,length=len(chunk))
chunk.export(fullPath,format="wav")
在此之后,我尝试使用 Deepspeech 来转录拆分的语音块。
但是我无法运行 Deepspeech,因为我的一些块太长,所以代码只是运行并停止。另外,我不知道在哪里拆分它们以缩短它们。
此时我在寻找什么: 找到一种方法来转录我通过在静音时拆分创建的块。
我希望我的问题很清楚。 谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。