【发布时间】:2020-07-23 02:59:10
【问题描述】:
我在 wav 文件(客户服务)中有一个对话,我将其拆分为 2 个音频通道。现在我有 2 个 wav 文件,每个人都在说话,并且有静音期。我需要剪掉那些静默期,以在较短的文件中“压缩”所有人的话。
我在谷歌上搜索并找到了这个link。 它有这个代码:
def addFrameWithTransition(self, image_file, audio_file, transition_file):
media_info = MediaInfo.parse(transition_file)
duration_in_ms = media_info.tracks[0].duration
audio_file = audio_file.replace("\\", "/")
try:
audio_clip = AudioSegment.from_wav(r"%s"%audio_file)
f = sf.SoundFile(r"%s"%audio_file)
except Exception as e:
print(e)
audio_clip = AudioSegment.from_wav("%s/pause.wav" % settings.assetPath)
f = sf.SoundFile("%s/pause.wav" % settings.assetPath)
duration = (len(f) / f.samplerate)
audio_clip_with_pause = audio_clip
self.imageframes.append(image_file)
self.audiofiles.append(audio_clip_with_pause)
self.durations.append(duration)
self.transitions.append((transition_file, len(self.imageframes) - 1, duration_in_ms / 1000))
但它需要某种“图像文件”。还有其他选择吗?
【问题讨论】:
-
你如何定义沉默?是不是在某个阈值以下没有任何声音或没有声音?
-
@LukaszTracewski 没有声音
-
github.com/pradbajaj/bothoven/blob/master/sound.py。这是为了检测静音并获取声音所在的部分并找到频率节点