2010-11-21 6 views
10

Ho un'app di diagramma di chitarra per Android che sto eseguendo il porting su iOS. Android ha un sintetizzatore midi incorporato (sonivox), così posso generare file midi e lasciare che Android gestisca la riproduzione.MidiSynth semplice da incorporare per iOS?

C'è un modo per farlo su iOS? O ci sono sintetizzatori incorporabili molto leggeri per iOS?

risposta

4

Aggiornamento: La mia risposta è obsoleta. La risposta di @ lukebuehler è molto appropriata.

Se non ti dispiace soluzione non-opensource, prova FMOD. Essendo un motore audio commerciale per i giochi, fmod fornisce un semplice synth MIDI. Ho provato la versione di valutazione gratuita. Riproduce correttamente i file GM MIDI sul mio iPhone 3G.

Se ciò che si desidera non è solo un lettore di file SMF, si desidera una funzione completa GS/GM softsynth, che può rispondere a singoli eventi midi in tempo reale. Puoi provare lo midisynth from CrimsonTech. Il suo canone è giusto. Crimsontech fornisce diverse app demo nell'appstore. Inoltre, fornisce anche un SDK di valutazione gratuito. Non hai bisogno di pagare un centesimo per la licenza finché non hai intenzione di pubblicare la tua app.

+0

È bello. Non mi interessa il software commerciale, solo gli standard aperti sono ciò che ritengo sia veramente importante. Grazie per l'headup, se hai bisogno di qualcosa fammelo sapere, forse posso aiutarti. – Peterdk

+0

Sembra che non sia in grado di eseguire lo streaming di eventi midi, è piuttosto un peccato. Il lato positivo è che supporta Android e WP7. Speriamo in una singola licenza. – Peterdk

+0

Wow, sai un sacco di cose! Grazie per il puntatore. Li ho contattati. – Peterdk

-3

C'è il supporto MIDI in iOS 4.2. Se è lo stesso di quello che fornisce OS X, anche trhere sarà anche un sintetizzatore di base incluso. Controlla.

+0

Il supporto MIDI in 4.2 non include un motore di sintesi. – hotpaw2

+4

Potresti considerare di eliminare questa risposta? –

1

Non credo che il supporto MIDI in iOS 4.2 consenta la riproduzione di dati MIDI dal telefono stesso. È semplicemente per inviare e ricevere comandi MIDI ad altri dispositivi MIDI.

Dal recente documento iOS 4.2, sembra che sia possibile utilizzare il supporto MIDI per inviare comandi MIDI ad altri dispositivi per la riproduzione. È inoltre possibile ricevere comandi da altri dispositivi e apportare modifiche a questi comandi o salvarli in un file. Tuttavia non riesco a trovare alcun supporto per riprodurre direttamente il file MIDI direttamente dal telefono. Qualcuno, per favore, correggimi se sbaglio (vorrei sbagliarmi !!).

21

Da iOS 5 c'è ora l'unità audio AUSampler per cui è possibile caricare un banco di suoni (mela preset e soundfonts) e quindi controllare il sampler/synth tramite messaggi MIDI.

Seee questo esempio app: https://developer.apple.com/library/ios/#samplecode/LoadPresetDemo/Listings/ReadMe_txt.html

Funziona benissimo!

+0

Incredibile scoperta, grazie! –

+2

Grazie. La tua risposta è più aggiornata rispetto alla mia. iOS 5.0 è dotato di un potente motore di campionamento. Per suonare un midifile GM/GS, lo abbiamo appena alimentato con una soundfont contenente un ricco set di strumenti. Ho trovato un [technote ufficiale] [1] su come caricare il file soundfont DLS2. Qualcuno ha provato questo? [1]: https://developer.apple.com/library/mac/#technotes/tn2283/_index.htmladd complete –

+0

Sì, sto utilizzando i caratteri audio per la mia app (WorldScales) Sto caricando un file sf2 da 100 MB , contenente più banchi di suoni, livelli di velocità e campioni per patch. Attenzione però, ci sono alcuni problemi di memoria se si continua a cambiare la banca sonora con lo stesso tipo di suono, cioè la memoria viene cancellata rapidamente solo se si carica un file di font audio diverso. – lukebuehler