# 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')

将哼唱转换为旋律音符相关推荐

  1. 对哼唱的语音或者播放的音乐进行乐谱的识别,并将哼唱转换为其他乐器的声音回放...

    读取信号为数组 def wavread(filename):f = wave.open(filename,'rb')params = f.getparams()nchannels, sampwidth ...

  2. 最新FL Studio 21中文版发布啦!全新的FL音频剪辑封套、主题和插件

    FL Studio 21发布:新的音频剪辑封套.主题和插件,信不信由你,庆祝DAW双十周年的FL Studio 20发布已经四年半了.当然,从那时起,我们已经从Image Line获得了很多点发布,但 ...

  3. FL STUDIO 21中文版已经发布啦,有什么新功能?

    FL STUDIO 21 官方中文版推出更快.更精确的音频编辑.改进的内容发现.控制DAW的情绪,以及更多鼓舞人心的创意工具.对现有客户免费,因为我们喜欢您的终身免费更新!为了庆祝FL Studio ...

  4. FL Studio2023水果完整中文版音乐制作软件

    FL Studio2023水果中文版是一款由 Image Line 公司研发几近完美的虚拟音乐工作站,同时也是知名的音乐制作软件.它让你的计算机就像是全功能的录音室,漂亮的大混音盘,先进的创作工具,让 ...

  5. 适合AI初学者的10个机器学习项目!入门so easy

    如果你是机器学习的初学者,并且希望最终开始使用机器学习项目,那么我建议你首先熟悉一下Google的AI实验,一个任何工程师都不容错过的机器学习项目.在开始面向任何机器学习专业人员/学生之前,你需要一个 ...

  6. 几个很特别的音乐搜索网站

    几个很特别的音乐搜索网站 关键词: 搜索 音乐 网站 ┊ 杂粹 ┊ 推荐: ┊ 来源: 有意思吧 ┊ 收藏 随着网络越来越深入我们的生活,我们会经常使用一些搜索引擎来搜索自己想要的歌曲,比如百度MP3 ...

  7. 水果FLStudio21.0.0软件最新版有哪些新增功能变化?

    FL Studio(水果软件)21 引入更快.更精确的音频编辑.改进的内容发现.对 DAW 情绪的控制以及更多鼓舞人心的创意工具.FL Studio是一款功能非常强大的音乐创作编辑软件它就是FL St ...

  8. c语言程序设计说句心里话,长春版小学五年级下册语文《摇篮歌》 教案

    [导语]摇篮歌这是一首充满情趣的诗歌,语言优美,描写生动,展现出一年四季安静恬淡.温馨浪漫的画卷.读来朗朗上口,令人陶醉.是学生感悟语言,练习朗读,培养语感的好材料.无忧考网准备了以下教案,希望对你有 ...

  9. WuYun: Exploring hierarchical skeleton-guidedmelody generation using ... 论文笔记

    记录一下所阅读的大佬论文. 吴云:利用知识增强的深度学习探索分层骨骼引导的旋律生成 看标题一头雾水.. // 摘要写的很明了,用知识增强先生成旋律的重要音符来构建音乐结构,之后动态的(不理解)将装饰音 ...

  10. Fl Studio 21中文版安装包下载,FL 21支持Mac版新增对苹果M1M2家族芯片原生支持

    Fl Studio 21中文版发布,新增了丰富的主题换肤,可以通过控制色调.饱和度.亮度.文本.仪表和步进序列器的颜色来改变DAW外观.Fl Studio 21中文版引入更快.更精确的音频编辑,改进的 ...

最新文章

  1. 压缩aspx页面,移除aspx多余的空格 供学习参考
  2. python代码格式-Python 代码格式
  3. HDU 4279 占坑先。。。
  4. 微信小程序调用php,微信小程序调用PHP后台接口 解析纯html文本
  5. 4.3 核对矩阵的维数-深度学习-Stanford吴恩达教授
  6. 用户注意到用户计算机中千兆位网卡,为何你电脑上的千兆网卡跑不到千兆?
  7. Swift 在 GAIA 平台云端一体化的探索
  8. 【计算机网络】FDM和TDM的传输总时间计算
  9. mac可以开发php嘛_Mac自带PHP开发环境的简易使用
  10. SqlServer中将某字符串按照特定的字符分隔并返回临时表
  11. Smart View的客户化开发
  12. base64原理(附代码) 换表脚本
  13. 2048游戏回顾三:自定义Dialog和ProgressBar
  14. 软考(中级软件设计师)考试信息
  15. HHS整合(Struts2+Spring+Hibernate)
  16. Node模块引入与加载机制
  17. (150)FPGA面试题-Verilog实现2的幂次方乘法运算
  18. binlog流程 mysql_MySQL binlog分析程序:Open Replicator
  19. 小程序canvas画头像
  20. LDP --- 标签分发协议

热门文章

  1. 解读前端历届主流框架
  2. 青果教务处系统爬虫(java)
  3. 浅学几天统计(SPSS)
  4. ARM Linux 系统设置开机自启动一个程序
  5. 调用JS函数的内部函数
  6. ad采样做按键开关_基于ad采样电路的多路开关量采集装置及其采集方法
  7. 生物信息学分析选用的服务器,蛋白质与蛋白质组分析生物信息学
  8. Axure RP 7.0学习
  9. Ajax不执行回调函数
  10. 十一式:开发者思维模式-简单而纯粹