On Sunday 03 July 2005 10:30 pm, Stephen Torri wrote:
> Part of this work is to just display a diagram above the piano music.
> This is a purely visible part of the work. We are basically asking
> rosegarden to please print a fancy guitar tab diagram above the measure
> we want.
OK, this is another source of my confusion. You're calling a chord diagram
over a staff a "tab diagram," but I have two distinct things in mind here.
To me, a chord diagram over a staff is a "fret board" and "tab" is a way of
writing pitches as numbers on lines, often printed below a conventional
staff, which shows the rhythm, or occasionally printed using special
unpitched note heads on a single line, which also show the rhythm. For our
purposes here, let's just call your chord diagrams "fretboards" unless you
> The second half and more longer term project is to have so that I can
> have guitar sheet music. So that want I take worship music that is
> played at church and create a piece of guitar sheet music. Often there
> is just a rhythm along with the chord to be play that needs to be
> written on a piece of sheet music. So that way when I am at home trying
> to remember what rhythm is supposed to be played I can read it.
This sounds like a conventional staff with fretboards above it again. Not
tablature notation in the sense that I mean it. I would like to see real
tablature someday too, but what you're getting at here will also be useful.
Currently the best we can do for representing chords is to print things like
"Asus4" above the staff. That's certainly not wrong, but fretboards are more
friendly. Especially if you've got a lot of "advanced" chords that aren't
part of the standard vocabulary.
> In working on this I wondered if rosegarden could take this same music
> and a MIDI guitar from my soundcard and play the music back for me. This
> would be a great learning aid to play along with rosegarden.
So it sounds like you want dummy notes on the staff for rhythm, and then you
want to actually play the pitches represented by the fretboard above for the
duration of the dummy note. Without getting into the guts of it all, it
certainly seems possible. Ornaments do something like that already. You
make an ornament, and it's one note on paper, but it actually plays a trill,
a turn, or what have you. You want something that behaves in a similar
fashion, but plays a chord instead.
I suppose you'd want some strum-up strum-down stuff too, and you'd want the
actual playable MIDI events to be altered suitably so that the strings are
struck in the right order. This seems really tricky though, because the
speed at which I strum a chord depends on the tempo, the rhythm, and the
overall mood of whatever I'm strumming too. It would be really difficult to
build anything that could produce a performance worth trying to mimic.
Probably the best you could reasonably do is settle for one kind of strum up,
one kind of strum down, and just accept that it's pointless to try to make
MIDI sound like a real guitar.
Additionally, I think for my own purposes I would probably want to be able to
put these fretboards above my conventional notation without having the chords
reproduced as MIDI. For example, I want to write out a flute part with
chords above it, for printing purposes, but when I play it, I only want to
hear the flute.
Running with that last thought, you have a real problem dealing with
instrument issues when you do want to play the chords. The bits on the staff
in front of you are in a segment on a track, and the track plays via an
instrument. If you have a flute part on a track that plays via a flute
instrument, then it's only natural for all the data in that track to play via
the same instrument. You'd have to build some kind of independent "guitar
instrument" on top of the regular instrument, and then figure out a logical
way for people to configure it. It could happen in the Instrument Parameters
Box, I suppose. Especially with some toggle to turn it off for people who
don't care about this at all. I do think this should be done in such a way
that there is one "guitar instrument" per regular instrument, so that it's
possible to have a flute track that plays its guitar chords via an acoustic
guitar over here, and a piano track that plays its guitar chords via a
distorted electric over there. Toward that end, piggybacking some new guitar
instrument stuff on top of the existing instrument infrastructure does seem
the way to go. Though it would double the height of the IPB. In for a
penny, in for a pound, this guitar instrument piggyback should probably have
all the same flexibility of banks/programs/controllers as any other.
If all this IPB wrangling is too much for some reason (and there are plenty of
reasons why it might be) then I suppose an alternative would be to have one
guitar instrument in the same way we have a metronome instrument. Less
flexible, but less in your face, less greedy of screen real estate, and
probably less to code too. This would shoot down the flute/acoustic
piano/electric concept though. I suppose the importance of this particular
consideration ultimately depends on how crappy the chords sound, and whether
they're musically useful, or just a learning aid.
> > I'm not going to comment on infrastructure stuff. Not my bailiwick.
> Whose bailiwick is the infrastructure? Some how at this point I have a
> nasty feeling like I am volunteering.
Chris, primarily. I know more than I think I do, but it's still not enough.
I'm much more useful when it comes to dealing with more superficial matters
than these, and I'm looking at your whole chord thing more in terms of how I
will interact with it than how it will work inside. It's something like an
ornament, but I have no idea how ornaments actually work, because I've never
had occasion to even look at that code. Nevertheless, that's where I'd start
if I were ambitious enough to undertake something like what you're thinking
about. The ornament mechanism is the closest thing in existence to what
you're ultimately trying to accomplish, I think. (Although if Chris says
differently, listen to him and ignore me. :)
Michael McIntyre ---- Silvan <dmmcintyr@...>
Linux fanatic, and certified Geek; registered Linux user #243621