1.载入wav文件
2.点击移到下一个按钮??
3.然后选中截取的文件长短如图示
4.点击键盘快捷键大写M,然后会在左侧下面出现列表
5. 重复3和4步骤,得到一些列标记短音频
6. 全选短音频,点击下载按钮
7.编辑输出文件名字
8.点击导出,就可以得到busnoise01.wav,?busnoise02.wav,?busnoise03.wav, ......
一系列单独文件。注意上面第一行,文件名,小方格不选。否则名字会有之前留下的字。
——————————————————
代码切割,(还没跑过,不知道是否准确)
wav?语音?文件?python
下面是一个简单的Python代码示例,可以将一个WAV格式的语音文件切成20秒一个的小文件:
import os
import wave
def split_wav(filename, chunk_size=20):
"""
将WAV格式的语音文件切成20秒一个的小文件
:param filename: 输入文件路径
:param chunk_size: 切割大小,单位为秒
"""
with wave.open(filename, 'rb') as wav_file:
framerate = wav_file.getframerate()
chunk_size = chunk_size * framerate # 计算要切割的采样点数
frames = wav_file.readframes(-1)
n_chunks = len(frames) // chunk_size
for i in range(n_chunks):
chunk = frames[i*chunk_size:(i+1)*chunk_size]
outfile = os.path.splitext(filename)[0] + f'_{i+1}.wav'
with wave.open(outfile, 'wb') as chunk_wav:
chunk_wav.setnchannels(wav_file.getnchannels())
chunk_wav.setsampwidth(wav_file.getsampwidth())
chunk_wav.setframerate(framerate)
chunk_wav.writeframes(chunk)
# 处理最后一个不足规定大小的chunk
if len(frames) % chunk_size > 0:
chunk = frames[n_chunks*chunk_size:]
outfile = os.path.splitext(filename)[0] + f'_{n_chunks+1}.wav'
with wave.open(outfile, 'wb') as chunk_wav:
chunk_wav.setnchannels(wav_file.getnchannels())
chunk_wav.setsampwidth(wav_file.getsampwidth())
chunk_wav.setframerate(framerate)
chunk_wav.writeframes(chunk)
if __name__ == '__main__':
split_wav('input.wav', 20)
该代码使用Python内置的wave模块读取WAV文件,并按照指定的块大小(20秒)切割成多个小文件,文件名按照原文件名加上序号。其中,frames是WAV文件的采样点,根据采样点数计算出要切割成多少块。实际进行切割时,使用了Python的切片操作。切割后的每一块都写入新的WAV文件中。最后,处理最后一个不足规定大小的chunk。
请注意,该代码没有考虑WAV文件的采样位深和声道数等因素。如果需要处理非标准的WAV文件,可能需要进行调整。