Calliope is an application that allows you to create music by generating MIDI content for multiple MIDI tracks and instruments at once. The generation is controlled by a set of global controls and local / track-specific parameters.
Music is encoded in a symbolic format called MIDI, think of it like a computerized version of information from a music sheet. MIDI files are file containing symbolic representation of a piece of music. This information is used to construct datasets such as MetaMIDI, and trained deep learning algorithms on it. Calliope uses the MMM model which can generate MIDI music in a variety of music genres and by combining three different user inputs: bar in-filing, global parameters and track attributes.
In order to use Calliope, we first need to register an account. The account is only necessary in order to store generated music files for the various sessions you work on.
Login instructions: To login, go to the registration page, and enter a username, email and password. You should see a notification at the bottom of the window confirming your registration. After that, you can move to the login page and enter the same username and password to log in.
You should then see this default “empty” view of the Calliope interface.
Here are the following steps to use Calliope to generate music.
list of websites containing free MIDI resources. The uploaded MIDI file show up in the MIDI File Management section .First, we create a session . We do this by importing a MIDI file from our computer. We also offer a
You can add more of your existing files into your Calliope session by using the “Upload” button .
MIDI Viewer / Editor by clicking on the file. The MIDI note content for each track is displayed, in addition to the track information such as its channel number and assigned instrument . You can change the playback instrument, add/remove notes or delete a MIDI track.Then, we can load the MIDI file in the
Note: Changes to a MIDI file are not persistent and solely for purpose of preparing the generation. In other words, if you try to reload the MIDI file, you will lose your changes! Additionally, notice that the new files generated will contain your changes.
To generate, we must select the bars in each MIDI channel we wish to update: this is called “bar in-filling” . You can set global parameters  and track-specific music attributes  such as density, polyphony and note length. If you hover on any of these controls, a tooltip will appear with a detailed explanation what they are and how to use them.
Note: You can add any new track to your MIDI file through the “+” button in Calliope. However, there can only be one drum track! Currently, generation will silently fail if your file contains more than one MIDI drum track.
Note: When you create a new track, all bars are selected by default. If you want to select only a subset of the parts, you can do using the mouse and selecting/unselecting a number of bars. Otherwise, you can also used the “Select all” button to select/unselect all bars in the track at once.
After you are satisfied with your settings, you can choose how many new samples / files you want the system to generate  and press the button . The system will replace the MIDI content in the selected bars in a way that maintains its musical coherency with the neighboring bars and the other MIDI tracks in the file.
MIDI File Management section . From there, you can repeat the process from step 1). The naming convention for generated files is as follow:
↓ button on the file. To download all files from your dataset (as a .zip file), click on the “Download” ↓ button at the top of the file table You can download any MIDI file by clicking on the “Download”
This figure briefly summarizes the typical computer-assisted composition process the user will follow in Calliope.
Temperature (0.8-1.2): Also called typicality, determines how much the structure of the generated MIDI content is closer (conservative) or farther (experimental) to what the MMM model is most likely to generate. Technically, it corresponds to the the temperature in the sampling of the neural network. This is the control you will want to use most to influence the output of the MMM model.
Polyphony Hard Limit (1-6): The global maximum number of simlutaneous notes the system can generate at any given moment. This overrides min/max polyphony controls set on specific channels.
Percentage (0-100): Controls how much of the existing MIDI content is preserved or replaced by the generation. This is done based on the number of tracks per step and bars per step.
For example, for tracks per step and bars per step each 4, and percentage at 25, the model will process only 4 out of 16 bars to be generated at each generation step.
Model Dimensions (1-8): Dimensions of the model in bars
Tracks per Step (1-8): Number of tracks being processed at each generation step
Bars per Step (1-8): Number of bars processed within each track at each generative step
Max Steps (0-100): Maximum number of generation steps. Can be used to avoid memory overload. When this value is set to zero, it is ignored by the system,
Tempo (0-240): The new tempo set for the generated MIDI output file