|
About Andrew Choi
MIDI Programs
MIDI File Player (External Device)
MIDI Destination Pop-Up Button
Other Programs Cocoa Sample Programs Syntax Coloring Using Flex Algorithms Jazz Chord Analysis as Optimization
|
A blog where I will write mostly about programming in Cocoa and CoreMIDI, and experiences from my ports of Emacs and XEmacs to the Mac OS.
Heres a sample of the output generated by my jazz waltz algorithm for the tune The Way You Look Tonight. Ive only just created it so itll need more work. Part of the chord chart is as follows:
Coded the infrastructure for supporting styles today. The code to actually generate the accompaniments in those styles will take more time to write. I think Ill at least like to have swing, bebop, jazz ballad, jazz waltz, and bossa. Each style is completely defined by three routines (one for generating bass line, piano comping, and drum comping, resp.). Currently these are written in C++ using my jazz theory classes. In the future I hope to convert these to Python and allow the user to customize them and define new styles, much like what Ive done for the MidnamUtility. That will be much more interesting and powerful than defining new styles using the statistical mechanism of BiaB, for example. Well, but thatll have to be a version 2 feature.
I modified the accompaniment generation code today to honor the chorus information specified. The code now also makes use of section marks as follows: (1) piano comping does not anticipate the first beat at the beginning of a section (that sounds unnatural); (2) a drum fill is generated at the end of a section. I also added the option to generate and save a MIDI file instead of playing the sequence. Heres the MIDI file of an accompaniment generated for the following chord chart with these new features.
Having finished the work on representing and editing choruses in the chord editor last week, making use of them in the generation of the accompaniment and play back is quite easy to do. As the generated sequence is played, the counter now shows the current chorus being played as well as the bar and beat (2x•2•2 in the example to mean second chorus, bar 2, beat 2). Of course the current bar is highlighted and the highlight correctly follows the repeat back to the beginning of the chorus.
|
Lists
Less-Known Facts About Emacs
Chinese Restaurants in Calgary
Calgary/Banff Tourist Attractions
Top-10 Reason I Stopped Working on Emacs
Misc
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 2003, 2004, 2005 Andrew Choi (Contact Information). | Created with FCBlog |