2013-04-30 9 views
2

하나의 미디 파일이 있는데 웹 페이지에서 해당 파일을 재생하고 싶습니다. 현재는 midi.js 플레이어를 사용하고 있지만 모바일 브라우저에서는 작동하지 않습니다.midi를 mp3로 변환

어떻게 파일을 재생하는 나를 인도 또는 다른 내가 미디 연주 할 수있는 방법 또는 다음

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은 오픈 소스 오디오 변환기입니다.

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

대담은 MIDI 파일을 처리하지 않습니다. – cleong

+0

Wiki에 그들이 말하길 ... http://wiki.audacityteam.org/wiki/Midi – Frank

+0

대담함에 관한 코드를 찾을 수 없습니다 ... 나를 도울 수 있습니까 – chitranjna

1

당신이 리눅스 머신에있어 추측 ... 가장 간단한 방법은 겁 및 파이프로 출력는 FFmpeg 그것을 재생하는 것입니다 모바일 브라우저에서 ogg 파일을 포함 시켰지만 mp3가 누락되었다는 것이 밝혀졌습니다 (어떤 이유로 MIDI.js는 synth_drum의 ogg 버전 만 제공합니다).

모든 일반 MIDI 사운드의 악기 파일은 https://github.com/gleitz/midi-js-soundfonts에서 찾을 수 있습니다. 는 FFmpeg가 사용되지 않기 때문에

+0

지금 phreaknerd 나는 웹 페이지에 그 곡을 연주하고 싶습니다 – chitranjna

+0

당신은 mp3 변환 권리를 요청 했습니까? 서버에 대한 루트/관리자 액세스 권한이없는 경우 로컬로 mp3로 변환해야합니다. Alternativley 당신이 할 수있는 제안 [여기] (http://stackoverflow.com/questions/7677366/about-embed-midi-files-on-a-webpage) – phreaknerd

+0

나는이 코드를 사용하여 미디를 연주했지만 작동하지 않습니다. chitranjna

1

내가 작동하지 MIDI.js와 유사한 문제로 실행 :

0

리눅스를 사용하는 경우는 FFmpeg 대신 avconv 사용

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

또는 절름발이 :

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