2011-09-29 107 views
7

我從來沒有在Mma中使用過多的聲音。將聲音導出爲WAV文件

我已經

t = Sound[List["Violin",SoundNote[-6]]] 

我怎麼能導出t爲.wav文件?

當我嘗試了明顯

Export["c:\\test.wav",t] 

我得到

enter image description here

In this old thread索博爾奇說,它不能做。也許事情自2007年以來有所改善!

+0

你特指'MIDI - > WAV',對嗎?我可以將任意聲音格式導出爲WAV。 – abcd

+0

@yoda我只需要在上面的例子中輸出我的't' thingy(當然,並不是真的,但所有其他人都非常喜歡它)。我沒有接受過聲音格式的教育,所以也許這意味着MIDI-> WAV,但我不知道。 –

回答

4

我認爲它仍然無法完成。 Mathematica支持創建和修改MIDI對象,但會將聲音從midi留給底層操作系統。現在,您必須導出到midi,然後使用系統上的MIDI界面或在線服務轉換爲採樣聲音格式。

例如(來自文檔)

t = Sound[SoundNote[DeleteCases[3 Range[31] Reverse[#], 0] - 48, .1] & /@ 
    Transpose[CellularAutomaton[90, {{1}, 0}, 30]]] 
Export["test.mid", t] 

上傳到http://free-midi-converter.com/Midi/Create給出link

它也可以用TiMidity它可與命令所有主要的操作系統轉換(假設你運行上面的)

Run["timidity test.mid -Ow -o test.wav"] 

可以導入回用數學Import["test.wav"]

這種轉換可以實現自動化如果需要的話......


顯然VLC can also convert midi to wav,這可能是一些禮操作系統更容易的選擇!另請參閱here

+0

謝謝Simon!嘗試VLC ...不工作,嘗試Audacity,不能遵循指示。緊張是下一個。計算ClebschGordan coeffs更容易。 –

+0

@belisarius,我也使用在線轉換器,就像Simon建議的那樣。爲什麼不嘗試一個?上次我嘗試過,在Windows上設置Timidity是件痛苦的事情(但那是幾年前) – Szabolcs

+0

@Szabolcs我會嘗試,然後在這裏報告我的冒險。非常感謝您分享您的體驗! –