• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Playing midi files as audio
#1
Hi - I have read as many posts as I could find about midi files. I'm not finding my situation. I am posting here, because this involves Windows and Ipad versions. Based on other posts I have read, I want to be specific about what I am requesting.

I want to attach a midi file to a song and be able to listen to it, the same way one does with an mp3.
I am not interested editing the midi other than the same features already offered for other forms of audio (change pitch/tempo).

I do not want to turn MS into a midi-editing program. There are plenty of other great apps - I don't need to edit any notes, or soundfonts within MS.

I simply want to hear a midi file that is already created. This already works flawlessly in Android. On Android, I can go into the metadata setting of a song, tap on the audio tab, then the plus button and choose a file. All midi files on my phone are available to choose from. Once added, they just play normally in the internal player of MS like any mp3. All the features work, i.e. pitch and/or tempo changes. The length of the song shows and the counter works (how much time has passed) as it is playing, just as if it were an mp3.

The problem is, my android is a small phone... I use an ipad (and I recently added MS to my Windows laptop for extra editing capability). What works on android is not available on Windows or Ipad.

I have a lot of midi files to practice with. They are such a great resource because they take up so little space. Typically, the size of an average midi file is anywhere from 8kb to 50kb. Whereas, an equivalent mp3 is around 5 or 6mb.

On the Ipad: Following the same procedure, in the file picker, I can see the midi files and I am allowed to choose one - they actually show as choices. But after tapping on "Open", I get a popup:

Unable to get duration of audio for file /var/mobile/Containers/Data ... (etc) ... /Library/Caches/filename.mid. Is the file valid? 

There's only one option "OK." After pressing "OK" it closes, and no audio file is added.

On Windows: when clicking the plus button to add an audio file, the usual file explorer window opens, but in this case, midi files do not even show up and no allowance is made for them. On the lower right-hand side above the open and cancel buttons, where the file types are listed, these are the choices:

All files (*.mp3;*.wav;*.wma;*3gp;*.mp4;*.m4a;*.3g2;*.aac;*.flac;*ogg)

I'm pretty sure the device has to have some internal support to play midi files and some sort of default sounfont, which Android does. But Windows has had the old "gm microsoft wavetable synth" built in for years. (I'm only interested in clicking the button and hearing the song, not interested in the debate about how bad it may sound compared to modern vsts! I can use other programs for that.) I don't know about the internal structure of ipads, but there are midi players availabe in the app store. I've tried several and they all work.

So that's my main question. Can MS for Windows and Ipad be updated to have the same feature available?

(p.s. I have one auxiliary question - has to do with kar files, but I think I will start another thread about it later, as this post is already too long!)

Thanks, and as always, love the app!
Reply
#2
Playing back MIDI files on Android is only possible because Google decided to support that as part of their base audio framework. Microsoft and Apple do not support that, which is why it's not currently supported. It isn't even supported across all Android devices - some can't play back MIDI files as audio. As far as what it will take to support this across all three platforms on all devices - I will have to implement my own MIDI sequencer and synthesizer so I can parse out the MIDI notes, figure out when to play them back, generate audio notes through the synthesizer at the right times, and integrate this all with the audio player so that progress can be provided and users can control the playback position. This is not a small undertaking. It would be much faster if there was an existing open source framework I could use on all three platforms for this, but if this exists, I'm not aware of it. So it will just have to wait until I have the bandwidth to focus on this.

As far as the "GM Microsoft Wavetable Synth" - yes, that could be used a synthesizer to save me some time, but that is only available on Windows, and I'd still have to develop a sequencer to generate the notes through that synthesizer at the right times. I'd rather have a solution that is the same on all three platforms.

Mike
Reply
#3
I use midi files for the same purpose and would also love to see this feature in Mobile Sheets. However, I can appreciate Mike's response in that it definitely isn't a trivial undertaking. The only thing I would add is that I think Mike could consider using fluidsynth as the standard cross-platform synthesizer piece. But I think that's actually the easiest piece of the whole puzzle. Trying to create a player that layers on top of the midi file and fluidsynth - definitely not trivial.
Reply
#4
I believe fluidsynth uses a license that requires any application that utilizes it to disclose all their source code (GNU Lesser General Public License v2.1). So I don't think I can use that in my app. I appreciate the suggestion though.

Mike
Reply
#5
Understood! It's a great feature on android.
Reply




Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2024 MyBB Group.