Making a Song File
Djazz uses a song file to play a song, whether you are plaing back scores or using live MIDI or audio. A song file is not a score file. It does not contain any notes to play. Where a score file contains the notes in each beat of the song, a song file contains all the metadata for each beat: its label, its position in the song, and what chapter of the song it is in, in order to make the grid and send the master clock and factor oracle the appropriate data. Djazz uses labels that represent chords. In this way, a song file is like a chord chart.
To create a song file for a new song you want to play with Djazz, the make_song_file Max patcher is provided for you in the tools folder.
SONG NAME
Enter the name of the given song; this will be displayed when the song file is loaded, and will also appear in the song dropdown menu if it is placed in the djazz_user/scores/ folder
BEATS
Enter here the total number of beats in the song.
TEMPO
Enter the song tempo. This tempo will be loaded into Djazz’s metronome when the song is loaded, and is also the tempo that will be expected if manual tap entry is performed
TIME SIGNATURE
Enter the number of beats per measure, i.e. the top number in the time signature. The duration of the beats, i.e. the bottom number in the time signature (4 for quarter note, 8 for eighth note, etc.) does not matter; do not include it.
CHAPTER START BARS
If the song is divided into chapters, enter here the bar (i.e. measure) numbers at which the chapters begin.
For instance, if a song contains four chapters of 16, 16, 32, and 64 bars, in that order, the chapter start bars will be 1, 17, 33, and 65. Enter these numbers without commas
Putting all this together, here’s what you would enter for a song in 4/4 time, with chapters of duration as above: 16, 16, 32, and 32 bars. The number of beats is the total number of bars multiplied by the time signature; in this case (16 + 16 + 32 + 64) * 4 = 128 * 4 = 516
BEAT LABELS
Beat labels are input in a text-based format. They can be entered directly into the tool’s window, or cut and pasted from a text editor.
A chord label has two parts, the root and the quality. The way of entering labels is as follows:
β (< chord root > β < chord quality > β < number of consecutive beats >)
< chord root > can be the symbol C, C#, Db, D, D#, Eb, E, F, F#, Gb, G, G#, Ab, A, A#, Bb, or B.
< chord quality > can be any symbol that does not contain an underscore ("_") or a semicolon(";").
The improvisation algorithm
functions in part by matching these symbols with the symbols on the beats in score files, so if you want it to work correctly, keep the format of these symbols the same. For instance, the preloaded songs in Djazz use the following symbols:
β maj7, min7, 7, dim7, maj6, min6
But you can define any symbols you want:
β dom7#9b9#11, maj6add9, min6withanextraweirdnoteatthetop, etc.
< number of consecutive beats > is how many beats this particular label is repeated.
So for instance, the chord sequence
β Amaj7 β Amaj7 β Dmin7 β Amaj7
β Amaj7 β Dmin7 β E7 β Β Β Amaj7
would be entered as
It could also be entered as
if this is easier to read.
Indentation and carriage returns are ignored by the tool.
MAKING A SONG FILE
In summary, to make a new song file, follow the seven steps listed below.
Open the patcher βdjazz.make_song_file.maxpatβ from the folder βpatchers/data_conversion_toolsβ in the current djazz folder.
In the appropriate fields, put in the song name, beat count, tempo, time signature, and the starting bars for each chapter.
Fill in the βBeat Labelsβ box.
Press the βsaveβ button.
Save the song file in the folder of the same song name that contains the subfolders βnewβ and βnew2.β The file name and the song folder name should be exactly the same.
Thatβs all. If you put the song file in a folder with scores in βnewβ and βnew2β subfolders
, this song can now be played as usual by Djazz.
Press the βclearβ button to clear the data.
Making a Score File
Score files contain preloaded notes, formatted so that Djazz can play them and use them to improvise.
Djazz comes preloaded with many score files of jazz standards and songs from Madagascar. You can also
convert your own MIDI files into Djazz scores with the make_score_file Max patcher, located in the tools folder.
1. Load a song file
If you haven’t yet made a song file for this song, make one using the make_song_file tool.
Import the song file by pressing the LOAD button. If the file is loaded properly, the light on the left side will illuminate.
2. Load a click track
A click track is needed to divide the notes in the MIDI tracks into the proper beats.
A click track must be imported from a MIDI file in which eat beat is designated by a single MIDI event at pitch C1 and non-zero velocity
The click track be exported at the same tempo as the notes.
Import the MIDI file by pressing the “IMPORT MIDI” button and selecting the file from the dialog that opens.
Once imported, you can save this file to a JSON format using the “SAVE JSON” button.
If the click track file is loaded properly, the light on the left side will illuminate.
3. Load a single or multiple tracks
If both the song file and click track have loaded successfully, the regions for loading MIDI tracks will be activated.
You can load either a single MIDI track, or multiple tracks at once. If you import multiple tracks, the resulting JSON file will represent a Djazz score, which you will need to put into a folder in order to play it in Djazz (see below).
NOTE: Tracks available for Djazz are 3 through 15, because tracks 1 and 2 are used for Live MIDI. Make sure the MIDI tracks are exported from your DAW with appropriate track numbers.
Once you have imported, either in the single or multiple MIDI track format, save your import by pressing the “Save” button. The resulting file will be a JSON file.
To play a single MIDI track, see these instructions.
To play multiple MIDI tracks, you need to put your saved file in an appropriately named folder.
MAKING A SCORE FOLDER
Multiple MIDI tracks saved together are called a score in Djazz. Score files and their corresponding song files need to be organized into a certain folder structure–a song folder–for Djazz to read them.
The format for a song folder is this:
MySongFolder
βββ MySongFolder.json
βββ new
β βββ score_1.json
β βββ another_score.json
β βββ another-score_1.json
β βββ ...
βββ new2
β βββ some_score.json
β βββ may_song_score.json
β βββ ...
The song folder must have the same name as the JSON song file.
The top level of the song folder contains three things:
- the JSON song file
- two directories for score files. These directories must be labeled “new” and “new2.”
A song folder placed into the djazz_user/scores folder inside the Djazz directory will appear in the song dropdown menu
.
The contents of the two score directories will be loaded when a song folder is loaded and their contents displayed in the respective dropdown menus
.