How to play MIDI with bassmidi? (ios)

378 views Asked by At

I'm trying to play midi but it's not working, I can play an mp3 but when I change the code to midi and build - there is no sound. (with "bassmidi" plugin).

my code:

 NSString *fileName = @"1";
 NSString *fileType = @"mid"; // mid
 BASS_Init(-1, 44100, 0, 0, 0); // initialize output device
 NSString *respath=[[NSBundle mainBundle]pathForResource:fileName ofType:fileType]; // get path of audio file

  HSTREAM stream=BASS_MIDI_StreamCreateFile(0, [respath UTF8String], 0, 0, BASS_SAMPLE_LOOP, 1);  
 BASS_ChannelPlay(stream, FALSE); // play the stream
1

There are 1 answers

0
Matth On

For those who would be interested in using the BASSMIDI player on iOS, we implemented an AUv3 Audio Unit wrapped around the bassmidi library.

The main advantage is that this audio unit can be inserted into a graph of audio nodes handled by the iOS Audio Engine (just like you would do with the AVAudioUnitSampler).

The code is available on a public repository: https://github.com/newzik/BassMidiAudioUnit

Feel free to use it!