2010-11-21 3 views
10

Android 용 기타 다이어그램 앱을 가지고있어 iOS로 포팅 중입니다. 안드로이드는 미디 신디사이저 (sonivox)가 내장되어있어 미디 파일을 생성하고 안드로이드가 재생을 처리하도록 할 수 있습니다.iOS 용 간단한 내장 가능 MidiSynth?

iOS에서이 작업을 수행 할 수있는 방법이 있습니까? 아니면 iOS 용으로 매우 가벼운 임베디드 신스가 있습니까?

답변

4

업데이트 : 내 답변이 구식입니다. @ lukebuehler의 답변이 훨씬 적절합니다.

오픈 소스가 아닌 솔루션에 신경 쓰지 않는다면 FMOD을 사용해보십시오. 게임용 상용 오디오 엔진 인 fmod는 간단한 MIDI 신디사이저를 갖추고 있습니다. 무료 평가판을 사용해 보았습니다. 그것은 내 아이폰 3G에서 GM GM 파일을 올바르게 재생합니다.

만약 당신이 원하는 것이 SMF 파일 플레이어가 아니라면, 당신은 실시간으로 각각의 미디 이벤트에 반응 할 수있는 완전한 기능 GS/GM softsynth를 원합니다. midisynth from CrimsonTech을 사용해보세요. 라이센스 비용은 공평합니다. Crimsontech은 appstore에서 여러 가지 데모 응용 프로그램을 제공합니다. 게다가 무료 평가판 SDK도 제공합니다. 실제로 앱을 게시 할 때까지 라이센스에 대해 페니를 지불 할 필요가 없습니다.

+0

좋은 소식입니다. 나는 상용 소프트웨어에 신경 쓰지 않는다. 공개 표준 만이 정말로 중요하다고 생각한다. 헤드 업에 감사 드리며, 필요한 것이 있으면 알려주세요. 아마도 도움이 될 수 있습니다. – Peterdk

+0

미드 이벤트를 스트리밍 할 수없는 것처럼 보입니다. 그건 상당히 파격입니다. 위쪽은 안드로이드와 wp7을 지원한다는 것입니다. 단일 라이센스가 있기를 바랍니다. – Peterdk

+0

와우, 당신은 많은 것들을 안다! 포인터 주셔서 감사. 나는 그들과 접촉했다. – Peterdk

-3

iOS 4.2에는 MIDI 지원이 있습니다. OS X가 제공하는 것과 동일하다면, trhere도 기본 synth가 포함될 것입니다. 확인 해봐.

+0

4.2의 MIDI 지원에는 신스 엔진이 포함되어 있지 않습니다. – hotpaw2

+4

이 답변을 삭제하는 것이 좋습니다. –

1

iOS 4.2의 MIDI 지원으로 인해 전화 자체에서 MIDI 데이터를 재생할 수 있다고 생각하지 않습니다. 그것은 단지 다른 MIDI 장치로 MIDI 명령을 송수신하기위한 것입니다.

최근 iOS 4.2 문서에서 MIDI 지원을 사용하여 재생을 위해 다른 장치에 MIDI 명령을 보낼 수있는 것으로 보입니다. 다른 장치에서 명령을 수신하고 이러한 명령을 변경하거나 파일에 저장할 수도 있습니다. 그러나 실제로 전화에서 직접 미디 파일을 재생할 수있는 지원을 찾을 수 없습니다. 누군가 틀린 경우에 저를 정정하십시오 (나는 틀리게 좋겠다! !!).

21

iOS 5부터는 사운드 뱅크 (사과 프리셋 및 사운드 폰트)를로드 한 다음 MIDI 메시지를 통해 샘플러/신디사이저를 제어 할 수있는 AUSampler 오디오 장치가 있습니다.

누르라이 예제 응용 프로그램은 : https://developer.apple.com/library/ios/#samplecode/LoadPresetDemo/Listings/ReadMe_txt.html

그것은 좋은 작품!

+0

놀라운 찾기, 감사합니다! –

+2

감사합니다. 귀하의 답변은 내 것보다 최신 업데이트입니다. iOS 5.0은 강력한 샘플러 엔진을 갖추고 있습니다. GM/GS 미디 파일을 재생하기 위해 우리는 풍부한 악기 세트가 포함 된 사운드 폰을 제공했습니다. DLS2 사운드 폰트 파일을로드하는 방법에 대한 [공식 기술 노트] [1]을 발견했습니다. 아무도 이걸 시도해 봤어? [1] : https://developer.apple.com/library/mac/#technotes/tn2283/_index.html 추가 완료 –

+0

예, 내 앱 (WorldScales)에 사운드 글꼴을 사용하고 있습니다. 100MB sf2 파일을로드하고 있습니다. 패치마다 여러 개의 사운드 뱅크, 속도 레이어 및 샘플이 포함되어 있습니다. 그러나 동일한 사운드 글꼴로 사운드 뱅크를 계속 전환하면 여러 가지 메모리 문제가 발생합니다. 즉, 다른 사운드 글꼴 파일을로드하면 메모리가 빨리 지워집니다. – lukebuehler