truj / midica

A Music programming language. Translates source code into MIDI. Includes a player. Supports MIDI-Karaoke. Includes a MIDI analyzer.
https://www.midica.org/
Mozilla Public License 2.0
111 stars 13 forks source link

support more export formats #65

Closed truj closed 3 years ago

truj commented 4 years ago

In the importer we use foreign software to import MIDI sequences from different file formats. It's useful to do that for the exporter as well.

Natively (without a foreign software) we can export MIDI, MidicaPL and ALDA so far.

The following additional exports should be supported as well:

Natively:

With foreign software:

truj commented 3 years ago

At least WAV files should be exportable natively - without needing to install a third-party application. First I thought this should be a trivial task. But unfortunately it's not. The Java Sound API doesn't provide a way to transform a MIDI sequencer's output into an AudioInputStream or something similar.

However the Gervill synthesizer provides some extra features that makes this possible.

The problem is that Gervill is not an official part of the standard library. But probably it's worth including Gervill into Midica just for this purpose. (Maybe it would solve some other problems as well regarding soundfont parsing.)