0

I have a soundtrack and each song has 16 channels/instruments. Nearly every song uses different instruments. For a project I'm working on, I need to have channels for every instrument used in the entire soundtrack, in every song. Does something like this already exist or do I have to create it?

The goal is to train a recurrent neural network on the FFVII soundtrack to generate more classic FFVII music. The state-of-the-art either trains on WAV files which requires more computing resources than I have, or MIDI but the corpus has to be restricted to a consistent set of instruments. If I transformed each MIDI file into a sparse binary 3D matrix where the three dimensions represent instrument type, time step, & note, I'd be able to get some decent results. Could I perhaps extract the instrument code for each track, & use that to build my 3D matrices? I can already extract notes & times.

9
  • 2
    Here is a list of MIDI alternatives that might be helpful: fileformats.archiveteam.org/wiki/MIDI
    – Aaron
    Nov 9, 2020 at 16:20
  • 3
    What do you mean by "format"? File format? Are you delivering this project as MIDI data? If you consider DAW projects as "formats", then you can have lots and lots of tracks in most applications. Ableton, ProTools, Cubase, ... Nov 9, 2020 at 16:57
  • 2
    Unless you need to play all the cues at once, then I see no issue. You're not exceeding MIDI limits. Send correct program change/controller data at the head of every cue & off you go. This is the very essence of "a MIDI file".
    – Tetsujin
    Nov 9, 2020 at 17:08
  • 2
    The goal is to train a recurrent neural network on the FFVII soundtrack to generate more classic FFVII music. The state-of-the-art either trains on WAV files which requires more computing resources than I have, or MIDI but the corpus has to be restricted to a consistent set of instruments. If I transformed each MIDI file into a sparse binary 3D matrix where the three dimensions represent instrument type, time step, & note, I'd be able to get some decent results. Could I perhaps extract the instrument code for each track, & use that to build my 3D matrices? I can already extract notes & times. Nov 10, 2020 at 2:57
  • 2
    OP: add that explanation to the question. Maybe ask a completely new question about the thing you're actually trying to do. If a human musician tried to create a style copy of music, they'd probably analyze the music in terms of music theory of harmony etc. But your neural network is expected to invent music theory concepts such as chord inversions, from MIDI data? And figure out what it is about this MIDI data that makes it characteristically FFVII style music, as opposed to, say, Super Mario? Are you going to feed it counterexamples of what the style is NOT about? Nov 10, 2020 at 7:30

2 Answers 2

2

MIDI is limited to 16 channels PER PLAYBACK DEVICE. But all but the most simple sequencer programs support multiple playback devices. Back in the day we used multi-port MIDI interfaces with a separate MIDI cable going to each of several external devices. Now everything is in software, if you use up all 16 channels of one 'virtual instrument' just load another instance of it!

0

I found a different solution for my problem, but for anyone interested the proposed MIDI 2.0 uses 256 channels: https://en.wikipedia.org/wiki/MIDI#MIDI_2.0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.