用Python在PCM WAV文件中找到沉默后的索引

2 投票
1 回答
2082 浏览
提问于 2025-04-16 13:22

我需要找到一个WAV音频片段的索引,最好是以毫秒为单位,这个片段是在一个暂停(静音)之后的。我会用这个索引来标记新句子开始的地方,也就是在前一个句子的暂停之后。我可以提供一个包含暂停和两边语音的两到三秒的音频片段。

我查过Python的Wave模块,了解如何打开和保存文件,但我不太确定怎么找到相对静音后第一个声音的索引。

更新:

我的目的是给圣经的经文建立索引,这样用户可以选择任何一节经文并听到朗读。一旦找到第一个声音的索引,我会向前退几毫秒,以便有个引入。

谢谢

1 个回答

0

我在我的应用程序中用过这个,不过我是从StackOverflow上复制粘贴过来的。感谢写这个的人;)

import wave

handle = wave.open('file', 'r')

for i in range(handle.getnframes()):
  frame = handle.readframes(i)

  zero = True

  for j in range(len(frame)):
    if ord(frame[j]) > 0:
      zero = False
      break

    if zero:
      print 'Silence found at frame {0}'.format(handle.tell())

撰写回答