python中如何画语谱图

1.导包

Librosa是一个用于音频、音乐分析、处理的python工具包,一些常见的时频处理、特征提取、绘制声音图形等功能应有尽有,功能十分强大

import librosa
import librosa.display
import matplotlib.pyplot as plt
import numpy as np

2,导入音频

y,sr = librosa.load('./data/noisy/p226_001_0.wav',sr=None)
print(y,sr)

3,提取特征

  1. Log-Mel Spectrogram:是音频信号的时频表示特征
melspec = librosa.feature.melspectrogram(y,sr,n_fft=1024,hop_length=512,n_mels = 128)
logmelspec = librosa.power_to_db(melspec)
print(logmelspec.shape)
  1. MFCC是一种在自动语音识别和说话人识别中广泛使用的特征
mfccs = librosa.feature.mfcc(y=y,sr=sr,n_mfcc=40)
print(mfccs.shape)

4,绘图显示

  1. 波形图:librosa.display.waveplot(y,sr)
plt.figure()
librosa.display.waveplot(y,sr)
plt.title('Beat wavform')
plt.gcf().set_size_inches(20, 12) # get current figure
plt.savefig("./png/clean.png",dpi=300)
  1. mel谱图:其实就是非线性语谱图,因为梅尔刻度是针对人耳设计的,因此梅尔频谱很大程度上保留了人耳理解原本语音所需的信息,这就是梅尔频谱的精髓所在。(logmelspec是上面得到的值)
    librosa.display.specshow( logmelspec, sr = sr, x_axis = ‘time’, y_axis = ‘mel’ )

直接画:

plt.figure()
librosa.display.specshow(logmelspec,sr=sr,x_axis='time',y_axis='mel')
plt.title('mel spectrogram')
plt.savefig("./png/clean_mel.png",dpi=300)

归一化之后画:

# 第二种
L = len(y)
print("time:",L * sr)
y = y*1.0/max(y)
framelength = 0.025
# NFFT点数=0.025*sr
framesize = int (framelength * sr)
print("NFFT:",framesize)
#提取mel特征
mel_spect = librosa.feature.melspectrogram(y, sr=sr, n_fft=framesize)
#转化为log形式
mel_spect = librosa.power_to_db(mel_spect, ref=np.max)
librosa.display.specshow(mel_spect, sr=sr, x_axis='time', y_axis='mel')
plt.ylabel('Mel Frequency')
plt.xlabel('Time(s)')
plt.title('Mel Spectrogram')
plt.savefig("./png/clean_mel2.png")
  1. 语谱图:(横轴为时间,纵轴为频率,颜色为幅值)也称为声音的时频域表示(时频图)
    这种画的好看点,进行了加窗和归一化
plt.figure()
# sr=None声音保持原采样频率, mono=False声音保持原通道数
data, rs = librosa.load('./data/noisy/p226_001_0.wav', sr=None, mono=False) 
L = len(data)
print('Time:', L / rs)
#归一化
data = data * 1.0 / max(data)
#0.025s
framelength = 0.025
#NFFT点数=0.025*fs
framesize = int(framelength * rs)
print("NFFT:", framesize)
#画语谱图
plt.specgram(data, NFFT=framesize, Fs=rs, window=np.hanning(M=framesize))
plt.ylabel('Frequency')
plt.xlabel('Time(s)')
plt.title('Spectrogram')
plt.savefig("./png/clean_linear2.png")

语谱图

5,将多张图画在同一张图中

plt.subplot(2,3,1)也可以简写plt.subplot(231)表示把显示界面分割成2*3的网格。其中,第一个参数是行数,第二个参数是列数,第三个参数表示图形的标号

# 3.4 将波形和频谱画在同一张图中
plt.figure()
# plt.subplot(2,3,1)也可以简写plt.subplot(231)表示把显示界面分割成2*3的网格。其中,第一个参数是行数,第二个参数是列数,第三个参数表示图形的标号
plt.subplot(2,1,1)
librosa.display.waveplot(y,sr)
plt.title('Beat wavform')

plt.subplot(2,1,2)
librosa.display.specshow(logmelspec,sr=sr,x_axis='time',y_axis='mel')
plt.title('Mel spectrogram')
plt.tight_layout() #保证图不重叠
plt.savefig("./png/clean_mix.png",dpi=300)

语音基础知识

<think>好的,用户现在问的是关于吉他谱图片。之前他们问的是完整的吉他琴谱,我提供了文字版的谱子,包括和弦、节奏型和演奏细节。现在用户需要图片格式的吉他谱,可能是觉得文字不够直观,或者想更清晰地看到指法图示。 首先,我需要确认用户的需求到底是什么。他们可能是在练习时遇到了困难,文字描述不够用,需要图片来辅助理解,特别是和弦指法和六线谱的具体位置。或者他们可能在寻找现成的图片谱,可以直接打印或保存下来使用。 接下来,我应该考虑如何有效地回答这个问题。由于直接提供图片可能有版权问题,或者我无法生成图片,所以需要给出替代方案。比如,指导用户如何找到可靠的吉他谱图片资源,推荐常用的网站或应用,或者教他们如何自己制作吉他谱图片。 还要注意用户的技术水平。如果他们不太熟悉如何搜索或使用相关软件,可能需要一步步的指导,比如推荐具体的网站名称,如何搜索关键词,或者介绍一些用户友好的制谱工具,如Guitar Pro、MuseScore等。此外,手机应用如Chord!、Ultimate Guitar可能有图片谱功能,可以方便地在移动设备上查看。 另外,用户可能需要了解图片谱的优势和不足。比如,图片谱直观,但通常无法调整播放速度或循环练习部分段落,而软件生成的谱子更互动。这时候可以建议用户根据自身需求选择合适的方式。 还要检查是否有其他潜在需求。比如,用户是否在寻找特定歌曲的图片谱,是否需要高清版本,或者是否需要免费资源。如果有,可以在回答中涵盖这些方面,比如推荐免费和付费资源,提醒注意版权问题,避免使用侵权的谱子。 最后,确保回答结构清晰,分点说明不同的方法和资源,让用户能一步步找到或制作所需的吉他谱图片。同时,保持语气友好,鼓励用户进一步提问,如果他们需要更具体的帮助。</think>以下是关于**吉他谱图片**的获取、识别与使用方法的详细指南: --- ### **一、常见吉他谱图片类型** 1. **六线谱(TAB谱)** - 用6条横线代表吉他弦,数字表示品格位置 - **示例符号**: - `h`=击弦,`p`=勾弦,`/`=滑音,`~`=颤音 ![六线谱示例](https://example.com/tab-demo.jpg) *(注:此为文字描述,实际需查看真实图片)* 2. **和弦图** - 方格图显示左手按法,竖线=琴弦,横线=品格 - **标记说明**: - ●=按弦位置,○=开放弦,×=不弹奏 ![和弦图示例](https://example.com/chord-diagram.jpg) 3. **节奏型图示** - 箭头方向表示扫弦路径(↑↓) - 数字+符号组合标注指法细节 --- ### **二、免费获取渠道** #### 1. **专业曲谱网站**(推荐电脑端使用) - [GuitarTuna谱库](https://www.guitartuna.com/):支持在线转调 - [Ultimate Guitar](https://www.ultimateguitar.com/):搜索时加`chords`或`tab`关键词 - [911Tabs](https://www.911tabs.com/):多平台谱源聚合 #### 2. **中文资源平台** - 吉他社(www.jitashe.org):国内经典曲谱库 - 有谱么APP:手机端高清图片谱,支持放大 - 微信小程序搜索「吉他谱大全」 #### 3. **图像搜索技巧** - **Google/Bing**:搜索`歌曲名+吉他谱+filetype:jpg/png` - **百度图片**:筛选「大尺寸」图片避免模糊 --- ### **三、图片谱使用建议** 1. **打印优化** - 使用Photoshop或在线工具([iloveimg.com](https://www.iloveimg.com/))调整对比度,突出谱线 - A4纸打印时选择「适应页面」模式 2. **手机/平板查看** - 安装PDF阅读器(如Adobe Acrobat)实现谱面缩放标注 - 搭配翻页踏板(如AirTurn)实现免手持翻谱 3. **版权注意** - 商业演出使用需确认谱面授权状态 - 标注来源尊重原制谱者(如「谱源:吉他社-用户@琴魔」) --- ### **四、自制吉他谱图片** 1. **软件工具** - [Guitar Pro](https://www.guitar-pro.com/):导出PNG/PDF(需购买) - [MuseScore](https://musescore.org/):免费开源制谱软件 - [TuxGuitar](https://tuxguitar.com/):兼容GP格式的免费替代品 2. **手写转电子版** - 扫描APP推荐:CamScanner(增强黑白对比) - 手绘修正:用Procreate/Penly添加指法标记 --- ### **五、疑难解决** - **模糊谱面识别**: 使用AI工具增强画质:[Upscayl](https://upscayl.github.io/)(免费本地运行) - **和弦图不清晰**: 对照和弦查询工具:[Chord Finder](https://oolimo.com/guitarchords/analyze) - **节奏型争议**: 通过原曲BPM检测(使用Audacity或手机APP「Tempo」)反推正确时值 --- 需要具体某首歌曲的谱面资源或制谱操作演示,可告知曲目名称进一步协助! 🎸
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强大的RGG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值