Re: [问题] 新手请教一些音乐相关问题

楼主: sma1033 (死马)   2018-07-31 11:37:22
※ 引述《phoenixlife (键盘小底迪)》之铭言:
: 如题
: 我想做一个程式input一个音乐档 然后直接转换成音阶(Do Re Mi..)
: 不知道这有没有人做过
: 在github也不知道打哪些关键字
: frequency,note....找到很多没有想要的
: 另外,有做这类适合用哪些package
: 这样才会有比较好的方向下手
: 感谢
小弟不才,正好是相关领域的研究人员
你说的这个问题其实就是自动转谱
自动转谱的问题其实很难,而很难的原因有2个面向
1. Multi-Pitch estimation
假设有个很细的时间轴上的最小单位,比方说0.005秒
然后我就每个最小基本时间单位(0.005s)做一次侦测
把声音的能量直接对到钢琴上的某个Key
这个技术目前state-of-the-art准确度好像80%多左右
但是使用上依然限制很大,比方说录音品质必须足够好,同时弹奏的音不能太多
钢琴不能走音,不能有钢琴以外的其他乐器...等
以致在实际的生活中很难被大量的应用
2. Beat tracking.
节拍的概念(比方说4分音符究竟有多长),其实是变动的
从每一首曲子的拍号,到每一个音的速度都有可能是不相同的
所以"16分音符"代表的时间长度其实也并非是固定的,目前SOTA对于节拍的侦测
应赅可以做到8.9成正确,但是同样也是有稳定性的问题,要准确的侦测到
"从那边开始算起来是第一拍",这段音乐究竟是4/4 or 3/4 or 4/6,这种事情
以目前的技术来说,也还没办法给出非常稳定的结果。
结语,由于在时间以及在频率上自动分析的准确度以及稳定度都还不是很理想
因此音高辨识的技术目前并不是非常成熟,一般你可以找到的软件在准确度以及稳定度
上都很难有让人满意的表现,所以你不太会看到有现成的“可用code”
(因为准确度太低,做出来你也不会想用)
但是如果能限缩自动转谱的自由度,比方说在满足下面这些条件
1. 音档的长度固定
2. 节拍固定
3. 同时弹奏的音不能超过两个
4. 乐器数量最多只有一种
5. 没有走音
6. 录音品质良好
...等的前提下
应赅是可以做到准确度足够高的自动转谱啦
找个做相关研究的人帮忙,应赅是可以做到的
以上提供给你参考
作者: phoenixlife (键盘小底迪)   2018-07-31 11:40:00
感谢过来人心得

Links booklink

Contact Us: admin [ a t ] ucptt.com