Midi2PLAY - Converting MIDI files to MSX-BASIC

By rodrivas78

Supporter (5)

rodrivas78's picture

19-10-2018, 00:05

Hello everyone, I am doing this post to promote "Midi2PLAY" (for Windows 32/64), a program I developed that assists in the process of converting MIDI files (.mid) to the syntax accepted by the PLAY command of MSX-BASIC.

 This program works as an extension of the "3ML Editor" program (link below), that is, it depends on this one to carry out the conversion process.

The main purpose was to develop a converter parser that generates code compatible with all versions of MSX (from MSX1), without the need for additional hardware such as MSX-Audio or MSX-Musi. That is, the syntax generated by "Midi2PLAY" can be executed on any MSX.

The program is still in development but I already offer the binaries for those who want to use it.
Download link:

https://github.com/rodrivas78/Midi2PLAY

The 3ML Editor is free and can be downloaded at: http://3ml.jp/download.html

I did not have time to perform all the necessary tests, so if possible help by reporting any bug.
Reviews and suggestions are also welcomed!

Login or register to post comments

By FiXato

Scribe (1502)

FiXato's picture

19-10-2018, 06:14

Welcome to the forum rodrivas78 Smile
I had to manually accept your forum topic as it was your first post, hence why it took a bit for it to show up. Smile

I've also moved it from Software to Graphics & Music, as it's more about music software in particular, rather than software in general. Hope that's okay with you.

By rodrivas78

Supporter (5)

rodrivas78's picture

19-10-2018, 07:57

Hello FiXato,
okay, no problem.
Thank you!

By Eugeny_Brychkov

Paragon (1035)

Eugeny_Brychkov's picture

24-10-2018, 10:17

Would be good if you share video of the results so far. MSX is having PSG, which has only 3 channels - how multi-instrument MIDI is being converted to only 3 channels? Also BASIC PLAY is relatively slow and not much flexible for "real" (or "real-time") music performance - how do you cope with it? Whould you anyway consider to include MSX-Music and/or MSX-Audio?

By Grauw

Enlighted (7462)

Grauw's picture

24-10-2018, 12:27

Eugeny_Brychkov wrote:

MSX is having PSG, which has only 3 channels - how multi-instrument MIDI is being converted to only 3 channels?

If the MIDI files are authored for PSG (e.g. with a DAW on PC), the author can of course just take the channel limitation in mind. The use of MIDI in music composition and editing is much broader than the General MIDI .mid files people commonly associate with it.

By rodrivas78

Supporter (5)

rodrivas78's picture

25-10-2018, 00:42

Quote:

Would be good if you share video of the results so far.

Sure, I will soon make a video showing what can be done with it.

Quote:

MSX is having PSG, which has only 3 channels - how multi-instrument MIDI is being converted to only 3 channels?

Yes, MIDI supports multiple simultaneous channels. Midi2PLAY can convert multiple channels at once, but in the current version (1.0) it is configured to work only with 3 channels because the target was PSG. That is, at the time of conversion you can choose only 3 channels. In the next version I will include the functionality of converting more than just 3, simultaneously.

Quote:

Also BASIC PLAY is relatively slow and not much flexible for "real" (or "real-time") music performance - how do you cope with it?

I do not know if I understood the rest of your question. The program is not intended to provide real-time music processing. If what you are saying refers to the processing of Midi files recorded in real time, yes, this is true. Depending on the file execution in BASIC may be compromised due to this lack of flexibility. Even though it is possible to make some adjustments when exporting the "mml" file in 3ML Editor, I have included information about it in the manual. It's good to make it clear that not all MIDI files are convertible. In short: the program does not work with any kind of MIDI processing in real time, it is just a syntax converter ok? Smile
Another limitation of the program is that it still does not automatically convert the rhythm part. You can use it to convert the rhythmic (notes + time) of a channel but you will have to work the result in BASIC with the SOUND command.

Quote:

Whould you anyway consider to include MSX-Music and/or MSX-Audio?

Yes, maybe in future versions. There have already been some other projects that deal with running MIDI files on MSX that support MSX-Audio and MSX-Music. As for example this one, it's called mml2msd:
http://www.popolony2k.com.br/?p=859
(in Portuguese but has translator)

By rodrivas78

Supporter (5)

rodrivas78's picture

25-10-2018, 00:29

Quote:

The use of MIDI in music composition and editing is much broader than the General MIDI .mid files people commonly associate with it.

Exact. You can even edit a MIDI file or generate it from a score in some music notation software such as Sibelius. There is also a lot of music available in this format (.mid) on the internet.

By rodrivas78

Supporter (5)

rodrivas78's picture

25-10-2018, 04:12

Just to make clear what I said earlier, about the conversion of the rhythm part, what the program (Midi2PLAY) does not cover well is conversion of a channel where there is percussion. The rhythm of the melodic part, that is, any a melody track is normally converted.

My MSX profile