[Audacity-devel] Embedded drum sequencer
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Dave F. <dav...@at...> - 2003-02-06 07:13:12
|
All,=20 Ok, it's become inevitable. My drum sequencer sucks, but it's not becaus= e=20 it's a bad sequencer. The metaphor it uses is flawed, IMO, and I want=20 something better. :) Since it depends on GTK directly, and I haven't th= e=20 foggiest how to program GTK, and I'd prefer something cross-platform anyw= ay=20 (a matter of philosophy rather than practicality), I'd like to embed a dr= um=20 sequencer into audacity as a composition tool. So, first my questions. :) The drum sequencer should be able to play a sequence in realtime, but whe= n it=20 comes time to lay down tracks it should export directly to audacity. Sin= ce=20 the nature of the thing is to create a stream, mix the sequence into it=20 (following whatever algorithm it follow, pretty well laid down already), = then=20 what api does audacity have already for me to stream into a new track? Second, the file format for a drum sequence will be xml, something like t= his=20 (needs some work still): <!-- define typical rock verse, 4/4 time with 2 bar phrases, 4 phrases to= tal,=20 accent on upbeat with an upbeat bass drum --> <verse name=3D"firstverse" time=3D"4/4" phraselength=3D"2" totalphrases=3D= "4"> =09<snare hits=3D"2,4"/> =09<bass hits=3D"1,3" style=3D"upbeat"/> </verse> <prechorus> etc.... <fill type=3D"verse" length=3D"2"> fill stuff </fill> The idea is that the sequencer would either chose selected fills at the=20 appropriate times or it would randomly choose a fill in an attempt to=20 simulate a real drummer, but would only chose fills that are appropriate = for=20 the section of music. (additional function would be stuff like standard=20 beats and fills that you can use with the sequencer coming stock with as=20 complete a selection as possible, but allow custom fills, implemented in = CSS) XML is perfect for this sort of thing, isn't it? Anyway, the question is this: Should this be a separate file or integrat= ed=20 into Audacity's project file under the assumption that a drum track would= be=20 associated with a project always? (import/export ability implied) Finally, is this sort of embedded sequencer something that Audacity shoul= d=20 have natively (i.e. I write it and if you guys like it audacity gets it i= n=20 the base distribution) or should it be a plugin? If the latter, does=20 audacity have its own generic plugin architecture at this time, or should= I=20 make it a LADSPA plugin? (I don't know if LADSPA plugins typically allow= a=20 gui to be associated with it) In the end, it will be some time before I actually start working on it. = I=20 have to wait until the need is strong enough. I only know that the need = is=20 strong right now. :) Also, I have some details to work out, like the xm= l=20 format. (ultimately this format could be used to link to specific sectio= ns=20 of music within audacity, or just within a wav file, and it could be used= to=20 include lyrics, tab, and so forth, and audacity could automatically displ= ay=20 the appropriate section during playback to help the singer that can't=20 remember the lyrics, and could also provide an alternate composition-base= d=20 interface rather than the typical sound editing/processing interface, and= =20 would allow the first RSC (Rapid Song Composition) interface ever, near a= s I=20 can tell) Oh yeah, one more issue. The sequencer as described would require a cert= ain=20 minimum knowledge of music theory (specifically rhythm & timing) and may = also=20 require a certain minimum knowledge of drumming (I have it, obviously). =20 Audacity targets, at least in part, those people lacking in certain techn= ical=20 information. Does this basic theory requirement violate this preferred=20 target? Dave --=20 "I slipped inside the oval office, I slipped in oh so fast, Grabbed the president by the necktie And wiped my funky ass, hey" -Soulhat, "Bonecrusher" |