首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

数学之路(三)-机器学习(3)-机器学习算法-神经网络[18]

2013-09-05 
数学之路(3)-机器学习(3)-机器学习算法-神经网络[18]编写线性神经网络 的python代码,目标是通过输入在混杂

数学之路(3)-机器学习(3)-机器学习算法-神经网络[18]

编写线性神经网络 的python代码,目标是通过输入在混杂噪声的语音中前面预留的待拟合的背景音乐,以供线性神经网络拟合背景音乐,输出能与混合后形成声音中的背景音乐尽可能一致的噪声,部分python代码如下:

#复制并除去背景声音jg_wave_data=copy.deepcopy(new_wave_data)jg_temp_wavedata=np.hstack((fi_wave_data,fi_wave_data))[:len(new_wave_data)]jg_temp_wavedata=jg_temp_wavedata[:len(new_wave_data)]*w[1]+w[0]jg_wave_data=jg_wave_data-jg_temp_wavedatafor jg_i in xrange(0,len(jg_wave_data)):    if abs(jg_wave_data[jg_i])<500:        jg_wave_data[jg_i]=0jg_wave_data[:framerate]=0    jg_wave_data =jg_wave_data.astype(wave_data.dtype)jg_str_data=jg_wave_data.tostring()print "save output wav...."fend.setnchannels(nchannels)fend.setframerate(framerate)fend.setsampwidth(sampwidth)fend.writeframes(jg_str_data)# 绘制波形time = np.arange(0, nframes) * (1.0 / framerate)wave_data.shape = -1, 2wave_data = wave_data.Tpl.subplot(321)pl.plot(time, wave_data[0])pl.subplot(322)pl.plot(time, wave_data[1], c="g")pl.xlabel("time (seconds)") # 绘制波形new_wave_data.shape = -1, 2new_wave_data =new_wave_data.Tpl.subplot(323)pl.plot(time,new_wave_data[0])pl.subplot(324)pl.plot(time, new_wave_data[1], c="g")pl.xlabel("time (seconds)")pl.show()# 绘制波形jg_wave_data.shape = -1, 2jg_wave_data =jg_wave_data.Tpl.subplot(325)pl.plot(time,jg_wave_data[0])pl.subplot(326)pl.plot(time, jg_wave_data[1], c="g")pl.xlabel("time (seconds)")pl.show()


通过预先采集一小段噪声信号,来实现后期对语音的除噪,实现将背景音乐去除

本博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/u010255642

热点排行