将哼唱转换为旋律音符

本文探讨了将哼唱的旋律转化为音符和乐谱的过程,揭示了作曲技术如何捕捉音乐创意,让非专业音乐人也能将自己的音乐想法记录下来。通过现代软件工具,哼唱的旋律可以被精准地转换成可视化的音符,为创作开启新的可能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 


# 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.5
    while f<28:
        f*=2
    return 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_not
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值