Post by PetePost by Mike ScottTo clarify what I'm trying to do: I'm using Musescore to enter music
that ends up in a booklet given to our choir (mainly 3-part, sometimes
1, 2 or 4). For each piece of music, I want to generate multiple mp3s
for pitch and rhythm practice; these will be one mp3 having all parts at
the "natural" volume, plus separate mp3s with each part emphasized in
turn - the individual files allow members to hear and follow their own
part, yet also be aware of the harmony in the background, while the
'full on' mp3 is akin to singing with everyone else and the accompaniment.
I'm still not 100% clear... I think it's your phrase "in turn" that's
confusing me. It sounds a bit as if each mp3 would have parts raised
and lowered at different times, but I'd assume that what you want is for
a given part to be emphasized throughout the whole of a given file.
Ok, sorry. I'll try harder.
Take one of the N pieces of music. This has P vocal parts (1...P) plus
possible accompaniment. Generate P+1 mp3s. mp3 #0 has everything at its
nominal level. mp3 #1 has part 1 at increased level, all others (and
accomp) reduced. mp3 #2 has part 2 louder, all others reduced. Etc.
Those singing, say, part 2 can take mp3 #2 to practise while hearing
their own part clearly in context, and mp3 #0 to practice with a much
smaller hint.
Post by PeteIf that's the case it might be better to work from the "master midi",
generating separate derived midis that then become the mp3s. You'd
need a (command line) app that is able to set the volume of individual
tracks/channels. There ought to be such a program (:-/) but I don't
know of one specifically.
There is. I wrote one :-) A quite unpresentable perl script (no doubt
midisox is much better, but I'd not heard of it when I started all this
a few years ago). Mine currently takes a master abc file, and creates
the above set of mp3s (via midi's, although most singers haven't a clue
what they are) for practice. (Although even here, abcmidi loses any
correlation between abc part names and midi tracks, so there's a horrid
kludge to make it all work fully automatically.)
I've recently been trying out musescore as a replacement for abc and my
own wysiwyg abc editor, but have been sadly disappointed by musescore's
practical limitations, which I'm still trying to find a reasonable
workaround for. If they'd only provide command-line export of mp3's (or
midis or something!!) part by part, or implement the mixer for command
line export, there'd not be an issue. But anyway, there's a basic design
flaw, meaning that multiple "parts" on one staff in closed score can't
readily be dealt with separately from each other. Unlike abc.
Post by PeteI have a Ruby library that makes it fairly easy to create little
utilities like that, which might be one possibility.
-- Pete --
I've been having a look at the xml to midi script. Handling either midi
or xml isn't exactly my forte, but I'm suspecting that one catches a
"repeat" element, then for direction=forward, clear a holding buffer;
for direction=backward, output midi from the buffer, then clear it. Midi
output occurs as now, but in addition is saved into that buffer. But no
doubt I'm being too simplistic -- and getting the printed music and the
rehearsal audio ready for the new season is way top of the list!! (So
I'll probably have to do it all the hard way this time.)
Thanks to both of you Pete's for your help!
--
Mike Scott (unet2 <at> [deletethis] scottsonline.org.uk)
Harlow Essex
"The only way is Brexit" -- anon.