使用 Python Pydub 库对音频进行音量放大时,可能会遇到以下报错:

Traceback (most recent call last):
  File "D:\graduation_design\enhance.py", line 11, in <module>
    louder_audio.export("output_audio.wav", format="wav")
  File "D:\python\lib\site-packages\pydub\audio_segment.py", line 890, in export
    wave_data.setsampwidth(self.sample_width)
  File "D:\python\lib\wave.py", line 353, in setsampwidth
    raise Error('bad sample width')
wave.Error: bad sample width
Exception ignored in: <function Wave_write.__del__ at 0x0000022BDA40ADC0>
Traceback (most recent call last):
  File "D:\python\lib\wave.py", line 326, in __del__
    self.close()
  File "D:\python\lib\wave.py", line 444, in close
    self._ensure_header_written(0)
  File "D:\python\lib\wave.py", line 464, in _ensure_header_written
    raise Error('sample width not specified')
wave.Error: sample width not specified

这个报错可能是由于输入的音频文件的采样宽度不被支持所致。你可以尝试指定输出音频文件的采样宽度,例如:

louder_audio.export('output_audio.wav', format='wav', parameters=['-ac', '2', '-ar', '44100', '-sample_fmt', 's16'])

其中,parameters参数可以用来指定输出音频文件的一些参数,-ac表示声道数,这里设置为2,-ar表示采样率,这里设置为44100Hz,-sample_fmt表示采样宽度,这里设置为s16(16位有符号整数)。

如果还是无法解决问题,你可以尝试使用其他音频处理库,例如soundfile或librosa等。

Python Pydub 音频放大报错:'bad sample width' 解决方法

原文地址: https://www.cveoy.top/t/topic/nvTy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录