This one is outdated!!

download this tar ball. untar and issue the "do make" or sh do-make, to make the executable.. email me at for further infos..

here's a link to the project page on sourceforge:

Right now i'm working on a gui, which will make things more comfy.. hold on, two or three weeks from now on it will be finished
btw: i would really need some info on if this program works at all for u. right now, i have the patches used hardcoded. i will change this, and read them from a config file , if there's any demand.. now, the most important issue is that i only use midi devices of th eoss driver. there no support for "synth" devices yet.. since my soundcard only has a midi port and no internal synth there was no use in implementing onboard synth suppor. now the question arises, if and how this program works for people with onboard synth devices.. so please let me know! i am thankful for any feedback, be it bad or good. if it is bad, please tell me reasons... thank u..


-- Readme files:


ryth(M)aid v0.1b - little program to generate bass, drums and piano track in a 
swing style, so i (or you) can practice playing our instrument to it..

this is version 0.1b. so it is very beta. the program uses the /dev/sequencer file o
f the oss sound driver.. only midi - devices are supported. i would be pleased,
if someone likes this.. there's plans to create a gui for it (that would be nice),
but i don't know, when i find the time.. this is a very basic console program,
which i did primarily for myself, but i thought it could be usefull.. for some info on the 
file format, look at the other readme (was the one for the dos version)..

florian schmidt

and thanks to Martin Brooks ( for deleting loads of my
stuff. which wasn't bad, but needed since i didn't know nuttin about cvs and how to get 
rid of the files i didn't need..

-- Readme.txt

Ryth-m-aid v0.00001 (c)2001-forever  Florian Schmidt

this is my little 4-to-the-floor-bass-player-and-drummachine-proggie 
which will be released as MusicWare when v1.0 is reached, 
and enough people see a need for this.. 
right now it is released under the GPL (

MusicWare means: if u like my program u must email me at

and discuss with me, how u can get some of your music to me, and, 
of course, how to improve the program. hehe. there's lots
to improve (first thing, u will have noticed: the timing. i rely
on standard windows timers SetTimer() i will switch to midistreams). 
i will do a graphical user interface, too, if desired

first thing: this is a commandline tool, so u have to get a prompt. 
u can usually get one by executing "" (from your start menu).
ok.. usage will be told to u, if u start the proggy without parameters

midi channels: 	10: drums
		2:  for bass

ok. the syntax of the input file is pretty straightforward, and 
must be followed rigorously otherwise i cannot guarantee, that 
your computer won't jump out of your window..

many options are still defined as constants in the source code. this will change..
don't ask yourself, exactly what the text output of this preog means.. it is there
for debugging purposes..

here u go (comments must not be put in file. they are just for explanation. 
in a real input file there must not be any whitespaces other than 
newlines (carriage returns) (except in the name))

Amoll251  		// Name of the song
			// empty Line
150			// temp in BPM
0.68			// shuffle (0.5 means straight)
8			// measures in song
8			// how often to loop
			// empty Line
9			// key of the Chord (0 = c, 12 = b)
cs			// means chord+scale, could be "c" for no scale, just chord tones
9			// since "cs", we need to specify key of scale. do this only if u put "cs"
x00x000x00x0		// chord tones. 12 tones. an x for each played. (most left is a. 3rd from left is c, 4th is c#, but not x'd so it's not played.
x0xx0x0xx0x0		// scale see above.. put in here only if "cs" is specified
Amin7			// name of the chord (needed, though it does nothing)
rep			// next measure repeate the one before
			// empty line
11			// key of the chord
c			// no scale, only chord (same scale as the last scale specified scale before
x00x00x000x0		// chord tones

4			// this one is a "cs" again. this is e7, so we alter the aminor natural scale
cs			// chordscale
4			// key of scale is e
xx00x00xx0x0		// here we go.. look at it: 1, b9, maj4, 5, #5, 7
E7b9			// scale will be reset at first measure.. if we went on with amin7
rep			// the cmajor / amin scale would have to be specified again..