2013-04-30 85 views
2

我有一個midi文件,我想在網頁上播放該文件,目前我正在使用midi.js播放器播放,但它不適用於移動瀏覽器。轉換midi到mp3

請指導我如何播放的文件,不然我怎麼能播放midi或將其轉換成MP3

這裏是我的代碼

$data = fopen ($midi, 'rb'); 
$size= filesize($midi); 
$contents = fread ($data, $size); 
fclose($data); 
$encoded= base64_encode($contents); 

$encode = "'data:audio/midi;base64,".$encoded."=='"; 

最後傳遞的base64值midi.js

回答

-2

Audacity是一款開源音頻轉換器。

+0

無畏不處理MIDI文件。 – cleong 2013-04-30 09:04:02

+0

他們的Wiki說他們做... http://wiki.audacityteam.org/wiki/Midi – Frank 2013-04-30 09:09:47

+0

我無法找到任何關於大膽的代碼...你能幫我嗎 – chitranjna 2013-04-30 09:45:22

1

猜你在Linux機器上... 最簡單的方法是用膽怯和管道發揮它輸出的ffmpeg:

timidity song.mid -Ow -o - | ffmpeg -i - -acodec libmp3lame -ab 64k song.mp3 
+0

現在phreaknerd我想播放網頁上的那首曲子 – chitranjna 2013-04-30 09:45:55

+0

你要求的MP3轉換權嗎?如果您沒有對服務器的root/admin訪問權限,則必須將其從本地轉換爲mp3。 Alternativley你可以這樣做建議[這裏](http://stackoverflow.com/questions/7677366/about-embed-midi-files-on-a-webpage) – phreaknerd 2013-04-30 09:51:55

+0

我已經使用此代碼播放midi但不工作 chitranjna 2013-04-30 10:09:02

1

我跑進與MIDI.js類似的問題不工作在移動瀏覽器中。事實證明,我已經包含了ogg文件,但卻錯過了mp3(出於某種原因,MIDI.js只提供了synth_drum的ogg版本)。

所有128個常規MIDI聲音的樂器文件可在https://github.com/gleitz/midi-js-soundfonts找到。

0

如果你使用的是Linux,使用avconv代替的ffmpeg的,因爲ffmpeg將在棄用:

timidity input.midi -Ow -o - | avconv -i - -acodec libmp3lame -b 64k output.mp3 

或者跛:

timidity -Ow -o - input.midi | lame - output.mp3