gpt4 book ai didi

python - 转换器 wav 24 位到 16 位

转载 作者:太空宇宙 更新时间:2023-11-04 03:04:54 25 4
gpt4 key购买 nike

我想转换一些wavs48kHz 24 位文件.wav 到 48kHz 16 位文件-2.wav

import wave 
origAudio = wave.open("Sample_5073.wav","r")
frameRate = origAudio.getframerate()
nChannels = origAudio.getnchannels()
sampWidth = origAudio.getsampwidth()
nbframe=origAudio.getnframes()
da = np.fromstring(origAudio.readframes(48000), dtype=np.int16)
left, right = da[0::2], da[1::2]

谢谢

最佳答案

如果将文件从 24 位转换为 16 位是您唯一想做的事情,您可以使用 SoX ,没有比这更容易的了:

sox file.wav -b 16 file-2.wav

SoX 还可以做更多的事情,看看它的 man page .

如果你想使用 Python,我推荐 soundfile模块:

import soundfile as sf

data, samplerate = sf.read('file.wav')
sf.write('file-2.wav', data, samplerate, subtype='PCM_16')

指定 subtype='PCM_16' 甚至不是绝对必要的,因为它是默认设置。

如果你真的想用内置的 ẁave 模块来做,看看我的 tutorial about the wave module .

关于python - 转换器 wav 24 位到 16 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39788464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com