12345678910111213141516171819202122 |
- import rnnoise
-
- import sys
- import wave
-
- rnn = rnnoise.RNNoise()
-
- with wave.open(sys.argv[1], 'rb') as infp:
- with wave.open(sys.argv[2], 'wb') as outfp:
- outfp.setparams(infp.getparams())
- buf = b''
- for i in range(infp.getnframes()):
- dataframe = infp.readframes(10)
- buf += dataframe
- while len(buf) >= (rnn.frame_size*2):
- res = rnn.process_frame(buf[:rnn.frame_size*2])
- outfp.writeframes(res)
- buf = buf[rnn.frame_size*2:]
- if len(buf):
- lenbuf = len(buf)
- buf += bytes(rnn.frame_size*2 - lenbuf)
- outfp.writeframes(rnn.process_frame(buf)[:lenbuf])
|