
[英]How to find noise point of .wav file. i mean, not remove noise, just when occurred noise by using python
[英]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.