This is a slightly-edited excerpt from the abcsound.py documentation, which I thought might be of general interest:
After a year I finally finished documenting the abcsound.py architecture and providing some pydoc for the code. It's all here:
abcsound accepts the "abc" textual score notation as input, and produces Csound scores as output. It uses an enhanced version of abc that allows multiple voices and permits explicit control of pfield values (using abc decorations) in the output score.
Yikes! Rest durations were not computed properly. Fixed version is in the usual place: http://www.kneuro.net/abcsound/abcsound.zip
A new release of abcsound is available in the usual place:
This one can produce pch in addition to cps values. To do that, use:
instr Guitar [p1=1:p4=pch]
to get pch output for p4 of the "Guitar" instrument, or use
instr Guitar [p1=1:p4=pitch]
to get cps output.
I've been up to my ears in my "real" job for the past week or so. Sometime this weekend I hope to make a new release of abcsound, one that will optionally generate pch values rather than frequencies.
This version supports keys, in theory at least, although it is not incredibly well-tested yet. It understands abc K: directives; also you can write any old gnarly key signature using this syntax in the abc file:
; The key of D major...
keysig G# C#
; The key of WTF?
keysig G# Ab Cb
Also c/ == c/2 now, as specified in the abc standard.
There is a new release of abcsound. Different URL this time: http://www.kneuro.net/abcsound/
I've added the ability to control pfield values within the abc score. There's also a somewhat whimsical tutorial page that explains how to use abcsound.py to generate .csd files, including multiple voices and pfield control.
A new release of abcsound is in the usual place: http://www.kneuro.net/ezscore. This version fixes repeats (again). It also implements default Q: and L: tags, and a simple default orchestra (a plucked instrument), so running
python abcsound.py someFile.abc > out.csd
I implemented abcsound by reference to Steve Mansfield's abc tutorial. But upon reading the actual abc specification, I found that I had got a couple of things wrong. I have fixed two fairly major problems:
- The broken-rhythm notation "A>B", which should be interpreted as "A3/2B/2", is now working properly.
- Repeats should now be working properly, including alternate endings, which were hideously broken in the inital release.
As usual, abcsound can be found here: http://www.kneuro.net/ezscore/
As promised, I have updated my EZScore tool to process Chris Walshaw's "abc" textual music notation, and emit Csound score data. Well, actually, I threw EZScore away and started over, with much better results :-) The new version is called "abcsound", and can be found here: http://www.kneuro.net/ezscore.
Hi everyone, just joined. I'm interested in generally learning about computer synthesis; and more specifically, in using Csound to create backing tracks of different sorts for my own guitar and keyboard work. Also I've transcribed some choral music into Csound in order to facilitate learning it, and I'm in the process of writing a tool, EZScore, to make that transcription easier. Hopefully EZScore will also help in the production of original compositions :-) EZScore notation is something resembling standard musical notation denoted as ASCII text.