语音识别之波形图展示
本实验完成绘制波形图对声波进行展示。通过本实验我们学习到了波形图展示的相关知识,需要掌握以下知识点:- 用包络视图绘制单音波形- 立体声波形- 具有透明度的谐波和冲击波源
·
⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿
个人网站:https://jerry-jy.co/❗❗❗知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我
语音识别之波形图展示
波形图展示
一、任务需求
声波、音波,是一种波,因此我们可以使用波形图对声音进行展示。
要求:
- 用包络视图绘制单音波形
- 立体声波形
- 具有透明度的谐波和冲击波源
二、任务目标
1、学习用包络视图绘制单音波形
2、学习立体声波形
3、学习带有透明度的谐波和冲击波源
三、任务环境
1、jupyter开发环境
2、python3.6
3、tensorflow2.4
四、任务实施过程
加载工具
import librosa
import librosa.display
import matplotlib.pyplot as plt
接下来我们依次使用如下三种方式绘制波形图:
- 用包络视图绘制单音波形
- 立体声波形
- 具有透明度的谐波和冲击波源
choice = '/home/jovyan/datas/admiralbob77_-_Choice_-_Drum-bass.ogg'
choice_hq = '/home/jovyan/datas/admiralbob77_-_Choice_-_Drum-bass.hq.ogg'
y, sr = librosa.load(choice, duration=10)
y_hq, sr_hq = librosa.load(choice_hq, mono=False, duration=10)
将音频分解为谐波和冲击波源
y_harm, y_perc = librosa.effects.hpss(y)
# 用包络视图绘制单音波形
fig, ax = plt.subplots(nrows=3, sharex=True,figsize=(14,5))
librosa.display.waveshow(y, sr=sr, ax=ax[0])
ax[0].set(title='Envelope view, mono')
ax[0].label_outer()
# 立体声波形
librosa.display.waveshow(y_hq, sr=sr_hq, ax=ax[1])
ax[1].set(title='Envelope view, stereo')
ax[1].label_outer()
# 具有透明度的谐波和打击乐组件
librosa.display.waveshow(y_harm, sr=sr, alpha=0.5, ax=ax[2], label='Harmonic')
librosa.display.waveshow(y_perc, sr=sr, color='r', alpha=0.5, ax=ax[2], label='Percussive')
ax[2].set(title='Multiple waveforms')
ax[2].legend(bbox_to_anchor=(1,1), loc='upper left', ncol=1)
plt.tight_layout()
上图依次显示的是“单声道”、“stereo”和“谐波+冲击波”的波形图
放大图以显示原始样本值
fig, (ax, ax2) = plt.subplots(nrows=2, sharex=True,figsize=(12,6))
ax.set(xlim=[6.0, 6.01], title='Sample view', ylim=[-0.2, 0.2])
# 绘制原始信号
librosa.display.waveshow(y, sr=sr, ax=ax, marker='.', label='Full signal')
# 绘制谐波
librosa.display.waveshow(y_harm, sr=sr, alpha=0.5, ax=ax2, label='Harmonic')
# 绘制冲击波
librosa.display.waveshow(y_perc, sr=sr, color='r', alpha=0.5, ax=ax2, label='Percussive')
ax.label_outer()
ax.legend()
ax2.legend()
第一幅图显示的是原始音频波形,下图显示的是被分解为谐波和冲击波的波形图。
五、任务小结
本实验完成绘制波形图对声波进行展示。通过本实验我们学习到了波形图展示的相关知识,需要掌握以下知识点:
- 用包络视图绘制单音波形
- 立体声波形
- 具有透明度的谐波和冲击波源
–end–
说明
本实验(项目)/论文若有需要,请后台私信或【文末】个人微信公众号联系我
更多推荐
所有评论(0)