将哼唱转换为旋律音符
# coding: utf-8# In[1]:import matplotlib.pyplot as plt
import librosa
import librosa.display
import librosa.util
import numpy as np
import pysynth# In[2]:#要转换的输入wav音频文件
input_wav=r"d:\test0.wav"
#要输出的音频文件
output_wav=r"d:\librosa.wav"
#总共要输出的音符个数
number_notes=30
#音符时值1,2,4,8
note_time=16
y,sr=librosa.load(input_wav,sr=None,duration=None)
cent = librosa.feature.spectral_centroid(y=y, sr=sr)# In[3]:#如果声音频率超过钢琴音域则升降八度直至落入钢琴音域为止
def frequency_limit(f):while f>4186:f*=0.5while f<28:f*=2return f# In[4]:mod_r=cent[0].shape[0]%number_notes
cut_count=int(cent[0].shape[0]-mod_r)
merge_count=int(cut_count/number_notes)c=cent[0][:cut_count].reshape(number_notes,merge_count)frequencies=[]
notes=[]
for fs in c:fm=fs.mean()frequencies.append(fm)note=librosa.hz_to_note(fm,octave=True)notes.append(note.lower())times=np.ones(len(notes))*note_time
melody=tuple(zip(notes,times))
print(melody)pysynth.make_wav(melody,fn =output_wav)print("OK")# In[16]:plt.subplot(211)
plt.plot(cent[0])
plt.xlabel('time')
plt.ylabel('frequency')
plt.subplot(212)
plt.scatter(range(len(frequencies)),frequencies)
plt.xlabel('time')
plt.ylabel('frequency')
将哼唱转换为旋律音符相关推荐
- 对哼唱的语音或者播放的音乐进行乐谱的识别,并将哼唱转换为其他乐器的声音回放...
读取信号为数组 def wavread(filename):f = wave.open(filename,'rb')params = f.getparams()nchannels, sampwidth ...
- 最新FL Studio 21中文版发布啦!全新的FL音频剪辑封套、主题和插件
FL Studio 21发布:新的音频剪辑封套.主题和插件,信不信由你,庆祝DAW双十周年的FL Studio 20发布已经四年半了.当然,从那时起,我们已经从Image Line获得了很多点发布,但 ...
- FL STUDIO 21中文版已经发布啦,有什么新功能?
FL STUDIO 21 官方中文版推出更快.更精确的音频编辑.改进的内容发现.控制DAW的情绪,以及更多鼓舞人心的创意工具.对现有客户免费,因为我们喜欢您的终身免费更新!为了庆祝FL Studio ...
- FL Studio2023水果完整中文版音乐制作软件
FL Studio2023水果中文版是一款由 Image Line 公司研发几近完美的虚拟音乐工作站,同时也是知名的音乐制作软件.它让你的计算机就像是全功能的录音室,漂亮的大混音盘,先进的创作工具,让 ...
- 适合AI初学者的10个机器学习项目!入门so easy
如果你是机器学习的初学者,并且希望最终开始使用机器学习项目,那么我建议你首先熟悉一下Google的AI实验,一个任何工程师都不容错过的机器学习项目.在开始面向任何机器学习专业人员/学生之前,你需要一个 ...
- 几个很特别的音乐搜索网站
几个很特别的音乐搜索网站 关键词: 搜索 音乐 网站 ┊ 杂粹 ┊ 推荐: ┊ 来源: 有意思吧 ┊ 收藏 随着网络越来越深入我们的生活,我们会经常使用一些搜索引擎来搜索自己想要的歌曲,比如百度MP3 ...
- 水果FLStudio21.0.0软件最新版有哪些新增功能变化?
FL Studio(水果软件)21 引入更快.更精确的音频编辑.改进的内容发现.对 DAW 情绪的控制以及更多鼓舞人心的创意工具.FL Studio是一款功能非常强大的音乐创作编辑软件它就是FL St ...
- c语言程序设计说句心里话,长春版小学五年级下册语文《摇篮歌》 教案
[导语]摇篮歌这是一首充满情趣的诗歌,语言优美,描写生动,展现出一年四季安静恬淡.温馨浪漫的画卷.读来朗朗上口,令人陶醉.是学生感悟语言,练习朗读,培养语感的好材料.无忧考网准备了以下教案,希望对你有 ...
- WuYun: Exploring hierarchical skeleton-guidedmelody generation using ... 论文笔记
记录一下所阅读的大佬论文. 吴云:利用知识增强的深度学习探索分层骨骼引导的旋律生成 看标题一头雾水.. // 摘要写的很明了,用知识增强先生成旋律的重要音符来构建音乐结构,之后动态的(不理解)将装饰音 ...
- Fl Studio 21中文版安装包下载,FL 21支持Mac版新增对苹果M1M2家族芯片原生支持
Fl Studio 21中文版发布,新增了丰富的主题换肤,可以通过控制色调.饱和度.亮度.文本.仪表和步进序列器的颜色来改变DAW外观.Fl Studio 21中文版引入更快.更精确的音频编辑,改进的 ...
最新文章
- 压缩aspx页面,移除aspx多余的空格 供学习参考
- python代码格式-Python 代码格式
- HDU 4279 占坑先。。。
- 微信小程序调用php,微信小程序调用PHP后台接口 解析纯html文本
- 4.3 核对矩阵的维数-深度学习-Stanford吴恩达教授
- 用户注意到用户计算机中千兆位网卡,为何你电脑上的千兆网卡跑不到千兆?
- Swift 在 GAIA 平台云端一体化的探索
- 【计算机网络】FDM和TDM的传输总时间计算
- mac可以开发php嘛_Mac自带PHP开发环境的简易使用
- SqlServer中将某字符串按照特定的字符分隔并返回临时表
- Smart View的客户化开发
- base64原理(附代码) 换表脚本
- 2048游戏回顾三:自定义Dialog和ProgressBar
- 软考(中级软件设计师)考试信息
- HHS整合(Struts2+Spring+Hibernate)
- Node模块引入与加载机制
- (150)FPGA面试题-Verilog实现2的幂次方乘法运算
- binlog流程 mysql_MySQL binlog分析程序:Open Replicator
- 小程序canvas画头像
- LDP --- 标签分发协议