iT邦幫忙

0

音訊檔(mp3、wav...)能轉成midi嗎?

想要知道目前mp3轉midi的現況
看到很舊的文章說轉換的情形很差
請問有沒有相關學術論文呢?
google很久都看不太到這類的問題討論><

看更多先前的討論...收起先前的討論...
ccutmis iT邦研究生 1 級 ‧ 2019-09-12 12:32:07 檢舉
Python(ver: 2.7) 可以把 wav 轉 midi 檔
https://github.com/justinsalamon/audio_to_midi_melodia
dragonH iT邦大師 6 級 ‧ 2019-09-12 13:16:32 檢舉
話說

midi 嚴格來說應該不算一種音檔格式吧
ccutmis iT邦研究生 1 級 ‧ 2019-09-12 14:24:11 檢舉
先別管midi了 你有聽說過安麗嗎?
dragonH iT邦大師 6 級 ‧ 2019-09-12 15:10:02 檢舉
(((゚Д゚;)))
ks1217 iT邦研究生 5 級 ‧ 2019-09-12 17:39:12 檢舉
挖~ MIDI, 好久好久以前的事了.
golden wave 十幾年前應該都是用這套把 WAV 轉 MIDI
原則上WAV 轉 MIDI 都是單軌,只能近似而已
你還要加音軌進去,靠耳力去把什麼時間什麼樂器鋪好
最後把轉換的音軌拿掉,這樣才是真正的轉換
1
小魚
iT邦高手 1 級 ‧ 2019-09-12 13:15:19

有試過 ffmpeg 嗎?

1
dragonH
iT邦大師 6 級 ‧ 2019-09-12 13:25:43

先看這個☟

Why you can't convert between MIDI and audio files

再看這個☟

convert-mp3-to-midi

最後

幾乎每個回復都提到☟

waon

4
fillano
iT邦超人 1 級 ‧ 2019-09-12 13:56:50

https://zh.wikipedia.org/wiki/%E6%B3%9B%E9%9F%B3

簡單說,當你聽到某個樂器發出某個音高的聲音,你聽到的是基音與泛音的組合。這應該無法直接轉換成midi,因為midi的資料是音高、長度(加上指定樂器)。

要轉換的話,我想應該是用傅立葉轉換,然後把同時間出現的基音找出來(泛音是基音頻率的整數倍,音量較小,可以用這個規則來找)。其中也會過濾掉一些雜訊等。

沒真正做過,只是依照理論猜的。不過這應該沒有困難到需要去找學術論文。

2
浩瀚星空
iT邦大師 1 級 ‧ 2019-09-12 16:59:57

其實以前是真的有幹過這件事。
但並不是直接轉換。

因為認真來說,midi並不是算是音源檔。
講白一點好了。它比較像是一個設定好的樂譜。

所以音源檔轉換會比較單純。因為那大多是類比式資料。差別在於壓縮率的問題。
但midi的東西則是一種格式數位資料。所以要將音源類的東西轉換成midi的話。
需要有音率的辨識應用。來幫你重新將聽到的音源變成一個譜格式。

大多數的midi編輯器,有將wav轉換的功能才對。
我之前在玩音樂遊戲用的編輯器也有相關的功能。只是我太久沒用了。
真的忘了名稱了。且那都是10多年前了。也不知道現在是否還能找的到。

0
海綿寶寶
iT邦超人 1 級 ‧ 2019-09-12 17:01:58

google很久都看不太到

/images/emoticon/emoticon28.gif
LMGT

2
vegalou
iT邦新手 4 級 ‧ 2019-09-12 22:04:13

phsBB 以前我的小站

有工具。

https://www.google.com/search?client=firefox-b-d&q=mp3+tp+midi

早期j95, j88 只支援 midi 來電。

midi to mp3:

timidity

wave to midi:

https://sourceforge.net/directory/os:linux/?q=wav+to+midi+converter

我要發表回答

立即登入回答