Nano Blog - 오병우

[Update] 2015년의 Android API23 Marshmallow에서 MIDI API를 제공하고 있으므로 MIDI Device에 연결하거나 노트를 재생하시려는 분들에게 이 글은 큰 의미가 없을 것 같습니다. 

대신 최신 블로그 글을 참조해 주십시오.

http://bwoh.tistory.com/89


---------------------------------------------------------------------------------

실제로 미디를 사용한 프로그램(시퀀서, 건반, 기타 등 음악 앱이나 게임 앱)을 만들기 위해서는 JetPlayer가 답으로 생각된다.


C:\adt-bundle-windows-x86_64-20140321\sdk\platforms\android-3\samples\JetBoy


ADT (Android Developer Tools) 깔고 나서 sdk 디렉토리에 보면 JetBoy라는 JetPlayer를 사용하는 샘플 앱이 있다. (밑줄 친 앞부분은 버전과 각자 설치 환경에 따라 달라질 수 있음)


이걸 분석해 보면 JetPlayer를 사용할 수 있을 듯...


다음 디렉토리에 있는 JetCreator를 사용하여 MIDI 노트를 사용하는 JET 파일을 만들고 그 파일을 앱에서 활용한다.


C:\adt-bundle-windows-x86_64-20140321\sdk\tools\Jet


JetCreator를 사용하려면 Python을 깔아야 한다.



Android 공식 API Guide는 아래 링크로...


http://developer.android.com/guide/topics/media/jetplayer.html



코드 내에서 MIDI 노트를 바로 플레이할 수 있는 기능이 있는지 모르겠다. 아시는 분은 댓글 달아 주시길...



--------------------------------


MIDI File 생성

http://kevinboone.net/javamidi.html


------------------------------------


Java Sound FAQ

http://www.jsresources.org/faq_midi.html


Java Sound API

http://docs.oracle.com/javase/1.5.0/docs/guide/sound/programmer_guide/


--------------------------------------


CodeGuru에서 MIDI 검색 (Windows용 MCI or DirectX 사용)


http://www.codeguru.com/vb/gen/vb_multimedia/article.php/c1097/Advanced-MIDI-Programming--Utility.htm

http://www.codeguru.com/cpp/g-m/multimedia/article.php/c1573/Playing-MIDI-Files-Directly-From-The-Resource.htm

http://www.codeguru.com/cpp/g-m/multimedia/audio/article.php/c4715/Creating-an-MCI-MIDI-Class.htm