问题描述
我的输入: 多个带有英文语音的 .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 (将#修改为@)