cornedriesprong / mingus

Automatically exported from code.google.com/p/mingus
GNU General Public License v3.0
0 stars 0 forks source link

Different kind of voicings in Bar or Track #3

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
It would be nice to be able to represent vocal and other polyphonic music
on a single staff. Maybe subclass Bar and Track to PolyphonicBar and
PolyphonicTrack?

Original issue reported on code.google.com by Rhijnauwen@gmail.com on 7 Sep 2008 at 4:18

GoogleCodeExporter commented 9 years ago

Original comment by Rhijnauwen@gmail.com on 7 Sep 2008 at 4:20

GoogleCodeExporter commented 9 years ago

Original comment by Rhijnauwen@gmail.com on 7 Sep 2008 at 4:23

GoogleCodeExporter commented 9 years ago
which would be the difference with a composition with multiple tracks? maybe 
that they are grouped?

Original comment by jpala...@gmail.com on 30 Jun 2009 at 4:51

GoogleCodeExporter commented 9 years ago
The difference is very small, because it's purely notational. See for examples
medieval music and especially counterpoint and vocal music where each voice is
written on the same staff (found an example image here:
http://www.oxfordreference.com/media/images/counterpoint3.jpg). This sounds 
exactly
the same as having all the voices on separate staffs, but I guess it makes the
grouping more explicit and is deeply rooted in musical history; so you will 
still see
it occasionally. I believe LilyPond and MusicXML also support it.

Subclassing Bar and Track might not even be needed. We could use another 
attribute on
Notes as well to keep things simple. All that is needed is an indication that 
the
note is part of a separate voicing.

Original comment by Rhijnauwen@gmail.com on 30 Jun 2009 at 6:00

GoogleCodeExporter commented 9 years ago
ok. you are right, In fact, drum notation does also need poliphonic notation 
(example: 
http://www.musedit.com/med/InstrFeatures/Drums/DrumExamples.gif)

Original comment by jpala...@gmail.com on 30 Jun 2009 at 6:11

GoogleCodeExporter commented 9 years ago
Yeah, I forgot about drum notation, but that's still very common. I don't know 
how
much LilyPond automates percussion notation, but I will set issue #4 to be 
blocked on
this one, so that we are prepared for it. 

Original comment by Rhijnauwen@gmail.com on 30 Jun 2009 at 7:20

GoogleCodeExporter commented 9 years ago
Drum notation is very different a very used nowadays. Different voices support 
is necessary, but there are more 
differences: clef is different, sticking can be used (R and L for hands), some 
staves have one or two lines instead 
of five (conga staves, shaker,...), there are drum rolls,...

There are also important notation elements like accents and ghost notes...

Original comment by jpala...@gmail.com on 30 Jun 2009 at 8:59

GoogleCodeExporter commented 9 years ago
Yes, drum notation is a whole different beast, but we will get to most of those
things when we implement more dynamics (accents, tremolos, ghost notes, 
vibration,
etc.) and support for text/lyrics. A percussion class or module is probably 
necessary
to deal with some of the differences and to provide some easy to use classes. We
should open some new issues addressing these issues if you care to fast track 
this.

I've also been thinking about a separate instrument subpackage where we can put
instrument specific code and domain information, structured something like this:

/instruments/
/instruments/percussion/
/instruments/strings/
..etc..

Which should make it easier to abstract and to inject some more knowledge into 
mingus
-- similar to the new tunings module in extra, but on a bigger scale. It will 
also
move the Instrument module out of the container package, which is a good thing 
since
the Instrument class does not really qualify as a container (that has been 
bugging
me). Most percussion specific code will easily fit in there somewhere, but some
changes need to be made to the LilyPond exporter to support this; but that has 
to
happen anyway. 

Original comment by Rhijnauwen@gmail.com on 30 Jun 2009 at 11:07

GoogleCodeExporter commented 9 years ago
Would also be cool to have an easy to use library of all the drum rudiments and 
their
permutations for example. That's the sort of domain specific stuff I'd like to
include for more instruments.

Original comment by Rhijnauwen@gmail.com on 30 Jun 2009 at 11:14

GoogleCodeExporter commented 9 years ago
I would be interested in everithing about drums in mingus (since I'm a 
drummer). Could you better explain which 
kind of functionality should provide that library?

Original comment by jpala...@gmail.com on 1 Jul 2009 at 8:12

GoogleCodeExporter commented 9 years ago
Well, for example: methods for creating para-diddles, para-diddle-diddles, 
flams,
rolls, etc. (see complete list here:
http://www.vicfirth.com/education/rudiments.html) in a given time value. So you 
would
be able to add a sixteenth note para-diddle with the correct sticking to your 
track
for example, instead of having to add each note separately. Maybe we could also 
add
some standard beats / beat generator.

Original comment by Rhijnauwen@gmail.com on 1 Jul 2009 at 11:54