音频信号处理与可视化

发布时间:2024-12-23 04:37

音响可以用来播放音乐、广播等音频信号。 #生活常识# #音响#

语音识别

最新推荐文章于 2023-09-12 16:57:31 发布

bangtutu8593 于 2019-07-23 08:57:00 发布

可视化音频信号 - 从文件读取并进行处理 import numpy as np import matplotlib.pyplot as plt from scipy.io import wavfile frequency_sampling, audio_signal = wavfile.read("C:\\Users\\Administrator\\Desktop\\test.wav") #标准化 audio_signal = audio_signal / np.power(2, 15) audio_signal = audio_signal[21000:22000] time_axis = 1000 * np.arange(0, len(audio_signal), 1) / float(frequency_sampling) plt.plot(time_axis, audio_signal, color='blue') plt.xlabel('Time (milliseconds)') plt.ylabel('Amplitude') plt.title('Input audio signal') plt.show() 表征音频信号:转换到频域 import numpy as np import matplotlib.pyplot as plt from scipy.io import wavfile #读取音频文件, 返回采样频率和音频信号 frequency_sampling, audio_signal = wavfile.read('C:\\Users\\Administrator\\Desktop\\test.wav') audio_signal = audio_signal / np.power(2, 15)#标准化 length_signal = len(audio_signal)#信号长度 half_length = np.ceil((length_signal+1)/2).astype(np.int)#信号半长 #傅里叶转化到频域 signal_frequency = np.fft.fft(audio_signal) #频域信号归一化并平方 signal_frequency = abs(signal_frequency[0:half_length])/length_signal signal_frequency **= 2 len_fts = len(signal_frequency)#频率变化信号的长度 #傅里叶信号针对奇偶调整 if length_signal % 2: signal_frequency[1:len_fts] *= 2 else: signal_frequency[1:len_fts - 1] *= 2 signal_power = 10*np.log10(signal_frequency)#以分贝(dB)为单位提取功率 x_axis = np.arange(0, len_fts, 1) * (frequency_sampling/length_signal)/1000#X轴以kHz为单位 #特征可视化 plt.plot(x_axis, signal_power, color='blue') plt.xlabel('Frequency (kHz)') plt.ylabel('Signal power (dB)') plt.title('Characterize audio signals: convert to frequency domain') plt.show()

转载于:https://www.cnblogs.com/hichens/p/11229641.html

网址:音频信号处理与可视化 https://www.yuejiaxmz.com/news/view/544177

相关内容

python算法对音频信号处理Sonification :Gauss
视频号+小程序+红包封面=微信春节营销
AI助力:让视频号视频下载变得前所未有的简单
视频号橱窗
视频号智能家居推广方案优化
视频号橱窗【教育培训】类目管理规则
视频号助手
视频号橱窗【家用电器】类目管理规则
视频号橱窗【个人护理】类目管理规则
从“抖音”APP透视移动短视频社交效果

随便看看