【问题标题】:How to remove/reduce noise from .wav audio file in python如何从 python 中的 .wav 音频文件中删除/减少噪音
【发布时间】:2017-09-08 04:07:21
【问题描述】:

我有一个 .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'

【问题讨论】:

    标签: python-3.x audio hex speech-recognition noise-reduction


    【解决方案1】:

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

    也许,你的意思是。

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

    【讨论】:

      【解决方案2】:

      在转换为不带前导“0x”的十六进制字符串时,手动指定基数。如下:

      int(binascii.hexlify(iframes), 16)
      

      【讨论】:

        猜你喜欢
        • 2021-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-24
        • 2020-07-23
        • 1970-01-01
        相关资源
        最近更新 更多