前段时间看见了微软公司推出的Soundwave(详见连接点击打开链接)觉得很有意思,搜遍很多地方却只发现了js的实现。于是心血来潮做了一个python版的。
代码如下:
# -*- coding: utf-8 -*-
from pyaudio import PyAudio, paInt16
import numpy as np
from datetime import datetime
import pylab as pl
import wave
import numpy as np
import scipy.signal as signal
import sounddevice as sd
import threading
# 将data中的数据保存到名为filename的WAV文件中
def save_wave_file(filename, data):
wf = wave.open(filename, 'wb')
wf.setnchannels(1)
wf.setsampwidth(2)
wf.setframerate(SAMPLING_RATE)
wf.writeframes("".join(data))
wf.close()
def test():
NUM_SAMPLES = 50000 # pyAudio内部缓存的块的大小
P_NUM=300
data_l=NUM_SAMPLES-P_NUM
SAMPLING_RATE = 44100 # 取样频率
COUNT_NUM = 0#20
# 开启声音输入
print"record is beginning!"
pa = PyAudio()