繁体   English   中英

如何从python中的.wav音频文件中删除/减少噪声

[英]How to remove/reduce noise from .wav audio file in python

我有一个.wav音频文件,正在将音频转换为文本。 我需要减少/消除噪音以获得更准确的结果。

请让我知道如何去做

import wave
import sys

import binascii

ip = wave.open('C:\\Users\\anagha\\Documents\\Python Scripts\\a1.wav', 'r')

op = wave.open('C:\\Users\\anagha\\Documents\\Python Scripts\\r_1.wav', 'w')
op.setparams(ip.getparams())

for i in range(ip.getnframes()):
iframes = ip.readframes(1)
amp = int(binascii.hexlify(iframes))
if amp > 32767:
    amp = 65535 - int(binascii.hexlify(iframes))#-ve
    print(amp)
else:
    amp = int(binascii.hexlify(iframes))#+ve
    print(amp)
if amp < 2000:
    #make it zero
    final_frame = '\x00\x00'
else:
    #Keep the frame 
    final_frame = iframe
op.writeframes(final_frame)
op.close()
ip.close()

出现错误:

 ValueError: invalid literal for int() with base 10: b'ffff'

您正在尝试将非数字转换为int,

也许,你的意思是。

    amp = int(len(binascii.hexlify(iframes)))

转换为int且不带'0x'的十六进制字符串时,请手动指定基数。 如下所示:

int(binascii.hexlify(iframes), 16)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM