切割wav文件至小段wav保存

audition手动切割

1.载入wav文件

2.点击移到下一个按钮  

3.然后选中截取的文件长短如图示

4.点击键盘快捷键大写M,然后会在左侧下面出现列表

5. 重复3和4步骤,得到一些列标记短音频

6. 全选短音频,点击下载按钮

7.编辑输出文件名字

8.点击导出,就可以得到busnoise01.wav, busnoise02.wav, busnoise03.wav, ......

一系列单独文件。注意上面第一行,文件名,小方格不选。否则名字会有之前留下的字。

——————————————————

代码切割,(还没跑过,不知道是否准确)

将wav格式的语音文件切成20秒一个的小文件 python

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文件,可能需要进行调整。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值