使用python怎么录音麦克风并生成wav文件

  介绍

这期内容当中小编将会给大家带来有关使用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文件