Ever wanted to play along to your favourite piece of music, but don't have the musical skills to do it? Well, now you can!
Just find a midi file on the internet (there are over 100,000 of them out there, covering just about every piece of music ever written). Then let Chord Cadenza find the chords, which it will use to help you play alongside the midi file or an equivalent MP3 file using your Midi or PC keyboard.
Chord Cadenza is a free (open source) app that helps you to play and improvise chords whilst a MIDI file or audio source is being played. It does this by updating a rolling display to map the chord notes to a piano keyboard. It can also dynamically assign notes or chords to keys on a MIDI or PC keyboard.
Synchronisation is achieved automatically from a MIDI file. An audio file (e.g. MP3) can be synchronized and saved using the program. You can also play along to any audio source (e.g. internet stream or other musicians) and synchronise as you go along.
Chords and major/minor keys can be extracted from the MIDI file using a configurable tool that analyzes the MIDI file. Chords, keys, and time signatures can also be created or updated manually - this allows you to play along with an audio source without requiring a MIDI file.
The program contains a sequencer-style display that can be used to control the volume, panning, muting, solo'ing and patching of the tracks of the MIDI file.
Audio can be rendered with the program's builtin synthesizer (using SoundFonts), or an external synthesizer (using the program's MIDI output).
- MIDI Sequencer with track display, mute, solo, patch, vol, pan, etc.
- Extract keys, modulations, and chords from a MIDI file
- Display chords on a vertical piano roll to facilitate playing and improvisation
- Display solfa or pitch notation
- Output to soundcard (using soundfonts) or to a MIDI synth (hardware or software)
- ASIO sound driver supported
- Play with a MIDI keyboard or a PC keyboard
- Multiple playmodes to allow for different levels of MIDI keyboard skills
- Synchronise and play along with MIDI files (.mid) or audio files (.mp3)
- Split the MIDI keyboard to play bass and chords or chords and melody
- Modify chords on-the-fly with the mouse
- Play along with any audio stream or other musicians.
- No need to read musical staff notation
- Musical keyboard skills not required
PlayMap: Maps the MIDI keyboard to chord notes
TrackMap: Manages and shows MIDI tracks in a sequencer style display
ChordMap: Manages and displays chords
Chord Cadenza will run under Windows 7, 8, 8.1, 10 (32-bit or 64-bit). It requires .NET 4.5 (usually present by default).
The installer checks if .Net 4.5 or later is installed, and provides an option to download and install it if necessary.
A soundcard or MIDI synthesizer is required.
A MIDI keyboard is recommended, but not required.
Download the latest version here:
Run the setup file and follow the on-screen instructions.
This will install a 64-bit application on 64-bit computers, or a 32-bit application on 32-bit computers.
If the Starter Soundfont is installed, it will be placed in the Soundfonts folder in the user's Music folder. If the Sample Projects option is selected, they will be placed in the Chord Cadenza Projects\Samples folder in the user's Music folder.
There are no viruses, spyware, adware etc. in this application. It is not trialware - the download link contains the full version of the program without restriction.
There is also a Microsoft Store App available for Windows 10 PC users. This has been validated and certified by Microsoft. It has fewer installation options, but the same functionality as the desktop app above.
Chord Cadenza is distributed under the MIT Open Source license. Copyright Derrick Maule 2018.
It is written, maintained, and distributed by Derrick Maule, as a personal project. There is no affiliation to any other Company.
Sources, previous releases and other info is available at GitHub
Audio file support is provided by the BASS libraries at un4seen.com and ManagedBass at github.com/ManagedBass/Home.
The supplied starter soundfont (TimGM6mb) is courtesy Tim Brechbill.
The sample audio files are distributed under a Creative Commons license.
How does the program work out the chords and keys from a MIDI file?
It uses various algorithms to find a good fit. In the case of chords, if it can't find a good chord, it will return a null. It isn't necessary for the whole chord to be present in the MIDI file - just enough to make an intelligent estimate.
Can keys and chords be input from sheet music or a lead sheet?
Yes. The program allows keys to be typed in (on any bar), and chord names (e.g. Cdim, Am etc.) to be typed in on a grid. This is an alternative to using the program's key and chord generation function.
Do I need access to MIDI files to use the program?
No. You can input keys and chords manually and play to an audio file or stream. However, using a MIDI file is quicker.
Will this program help me to read music?
No. There is no music staff notation anywhere in the program. The intention of this application is to help with improvisation, and to allow you to play along with a MIDI or audio file for pleasure or to provide an accompaniment.
Can I use just the key and chord generation function of the program?
Yes. The keys and chords can be output to a MIDI file, or can be read from a text file.
Where can I download MIDI files from?
There are literally thousands of MIDI files on the internet. Just do a google search for MIDI files!
Do I need a musical (MIDI) keyboard to use this program?
No. The program supports playing using a normal PC keyboard. However, a MIDI keyboard is preferred if you have access to one.
What type of improvisation can I play with this program?
There are no restriction on this. You can play melodies, bass lines, block chords, arpeggios, or combinations of these.
Will this program help me to play a keyboard to written music?
Not really. If you want to learn to play a musical keyboard "properly", you should do that as a separate course. You can still use this program in parallel for some light relief.
Do I need to be familiar with solfa notation?
No. The program uses solfa notation ('drm...' for 'do re mi...') to show where the notes are relative to the current key, and to help with improvisation and ear training. You can choose to replace these with actual notes names (C, C# etc.), or not display any names.
I'm not very familiar with musical terms like major scale, time signature, tempo etc. Where can I find out more?
You can try this link: Music Theory
How does the program help me to improvise to the music?
It shows the chords on a display (the 'PlayMap') that matches a MIDI keyboard. The display changes as the music is played. There are various options to control what happens when you play a note on the keyboard. You can play the normal keyboard pitch, or just chord pitches in various ways.
How do I improvise chords?
You can use the PlayMap to help find chords on the keyboard. Or you can use one of the chord modes to play the chords generated by this program with different inversions and in different registers.
How does the program work with a PC keyboard?
The PC keyboard is mapped to MIDI notes. The mapping is configurable to allow for different types of keyboard and personal preferences. The PlayMap has options to display PC keyboard labels. Key switches and the mouse wheel can be used to control key velocity. Switch keys can also be used to emulate a sustain pedal.
Do I need a synthesizer to use this program?
No. The program has it's own built-in synthesizer that outputs to a soundcard. However, you can also configure it to output to another MIDI synthesizer.
Do I need to download any soundfonts?
If you intend to use the builtin synthesizer, you will need at least one soundfont file. A small soundfont file is supplied with the program. However, you may want to download a bigger soundfont. A small list of soundfont links can be found here.
Do I need an audio file or stream to use this program?
No. The program was initially designed to play MIDI files. Support for audio files and streams was added later.
Can the program generate chords from an audio file?
No. Although a number of programs claim to be able to do this, I'm not aware of any accurate way of achieving it. In order to play along to an an audio file or stream, you need another source for the chords. This could be a MIDI file, or you can input the chords from sheet music.
What type of audio files can I synchronise and play along to?
The program supports MPEG (MP1, MP2, MP3), OGG, WAV and AIFF files.
How is playing along with an audio file different from playing along with an audio stream or other musicians?
With an audio file, you synchronize the audio to the bars and beats of the music before playing along with it. With an audio stream or other musicians, you update the current position as you play, using various techniques to locate to the next bar, beat or chord.
Does the chord source (MIDI file or sheet music) have to match the audio file exactly?
It's advisable to get as close a match as possible. The program allows for different start and end sequences, and you can also jump over missing bars in the chord source or audio file. However, the more differences there are, the more complicated it will be to synchronise it.
Does the audio file have to be in the same key as the chord source?
No. The program can transpose the chords to any key. The in-built synthesizer can also be tuned to a non-standard pitch, although this is not normally necessary.
This is a list of links to sites that offer General MIDI (GM) soundfonts. The list is by no means exhaustive. Any soundfonts you want to use with the program should end with the extension .sf2. You may need to decompress some files after downloading.
- Arachno soundfont by Maxine Abbey 136MB
- PersonalCopy soundfonts
- OmegaGMGS2 by Rick Simon 265MB
- Merlin soundfonts
- General User soundfont by Christian Collins 30MB
- SynthZone soundfonts
- Timbres of Heaven by Don Allen 246MB
The application has no access to the internet or any other external networks. The application does not collect, store, or transmit any personal information.