介绍
这期内容当中小编将会给大家带来有关使用python怎么录音麦克风并生成wav文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
<>强如下所示:强>
文件:gen_wav.py 日期:2017/03/24 12:36:27 简单:,通过麦克风录音,生成,wav文件 “““ import 操作系统 import 系统 import 波 import numpy  as np 得到datetime import  datetime 得到pyaudio import PyAudio paInt16 class GenAudio(对象): ,,,def __init__(自我): ,,,,,,,self.num_samples =, 2000,,,, # pyaudio内置缓冲大小 ,,,,,,,self.sampling_rate =, 8000,, #取样频率 ,,,,,,,self.level =, 1500,,,,,,,,,, #声音保存的阈值 ,,,,,,,self.count_num =, 20,,,,,,,, # count_num个取样之内出现count_num个大于水平的取样则记录声音 ,,,,,,,self.save_length =, 8,,,,,,, #声音记录的最小长度:save_length *, num_samples 个取样 ,,,,,,,self.time_count =, 8,,,,,,,, #录音时间,单位 ,,,,,,,self.voice_string =, [] ,,,, ,,,#保存文件 ,,,def save_wav(自我,,文件名): ,,,,,,,wf =, wave.open(文件名,& # 39;wb # 39;), ,,,,,,,wf.setnchannels (1), ,,,,,,,wf.setsampwidth (2), ,,,,,,,wf.setframerate (self.sampling_rate), ,,,,,,,wf.writeframes (np.array (self.voice_string) .tostring ()) ,,,,,,,wf.close () ,,,, ,,,, ,,,def read_audio(自我): ,,,,,,,pa =, PyAudio (), ,,,,,,,stream =, pa.open(格式=paInt16,渠道=1,率=self.sampling_rate,输入=True,, ,,,,,,,,,,,,,,,frames_per_buffer=self.num_samples), ,,,,,,, ,,,,,,,save_count =0 ,,,,,,,save_buffer =, [], ,,,,,,,time_count =self.time_count ,,,,,,,while 正确的: ,,,,,,,,,,,time_count -=1 ,,,,,,,,,,, ,,,,,,,,,,,#,读入num_samples个取样 ,,,,,,,,,,,string_audio_data =, stream.read (self.num_samples),,,,, ,,,,,,,,,,,#,将读入的数据转换为数组 ,,,,,,,,,,,audio_data =, np.fromstring (string_audio_data, dtype =, np.short) ,,,,,,,,,,,#计算大于,level 的取样的个数 ,,,,,,,,,,,large_sample_count =, np.sum (audio_data 祝辞,self.level) ,,,,,,,,,,, ,,,,,,,,,,,印刷(np.max (audio_data)),,,“large_sample_count=祝辞;“,large_sample_count ,,,,,,,,,,,#,如果个数大于COUNT_NUM,则至少保存SAVE_LENGTH个块 ,,,,,,,,,,,if large_sample_count 祝辞,self.count_num: ,,,,,,,,,,,,,,,save_count =self.save_length ,,,,,,,,,,,:, ,,,,,,,,,,,,,,,save_count -=1 ,,,,,,,,,,,if save_count & lt;, 0: ,,,,,,,,,,,,,,,save_count =0 ,,,,,,,,,,, null null null null null null null null null null null null null null null null null null null null null null null null null null使用python怎么录音麦克风并生成wav文件