Since the start of this book, we've been generating MIDI as physical files and then listening to them using either MuseScore or FluidSynth. This is a good way of composing music, generating new sequences, keeping the ones we like, and generating more based on them. But what if we'd like the MIDI notes to play continuously as the model generates them? This is a good way of making an autonomous music generation system, where Magenta is the composer, and an external program is a player, as it plays the notes it receives using instruments.
In this section, we'll be looking at how to send MIDI from Magenta to synthesizers or DAWs. We'll also show how to loop the sequences that are generated in Magenta and how to synchronize our Magenta program with the application it is sending the sequences to.