lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Off-topic: Automatically create rehearsal files from SATB midi file


From: Colin Campbell
Subject: Re: Off-topic: Automatically create rehearsal files from SATB midi file
Date: Sun, 19 Jan 2014 13:09:43 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

On 01/19/2014 05:51 AM, Speldosa wrote:
I'm sorry that that I'm going off-topic here (well, it's not /that/
off-topic), but I thought that if I could find anybody who knew how to do
what I'm trying to achieve right now, it would be a hardcore LilyPond user
:)

Anyhow, I'm using LilyPond to output midi files of my SATB arrangements.
Now, I want to create individual mp3 rehearsal files for each voice. That
is, for sopranos, I want a file that is mixed so that the soprano part is
the loudest, for the altos I want the alto part to be the loudest, and so
on.




If you're using Frescobaldi, just set up a new score and on the Parts tab, check the box for rehearsal MIDI files. Then, go into the rehearsalMidi section of the generated score and make the following tweaks:
first,

\set Score.midiMaximumVolume = #0.6 instead of the default 0.5, which gives (harmless) errors about (de) crescendos when it's equal to MinimumVolume
next, add the following lines, in the same section:
 \set Score.midiPanPosition = #RIGHT
 \set Staff.midiPanPosition = #LEFT


This gives separate MIDI files for each part, with the chosen part on the left and the other voices on the right.
The last step is to convert the MIDI files to MP3 with Timidity, and I have a bash script in my ~/bin(called midi2mp3) to do that:
*********%<************
#!/bin/bash
for f in *.mid*;
do
timidity -Ow -o - "$f" | lame - $f.mp3;
done
*******%<***************


The above is known to work with LP 2.19 and requires timidity and lame.

I was delighted when the new midi functions came into LilyPond, as I used to generate the MIDIs then open them with Rosegarden to set the panning four times for each piece. With the new midiPanPosition function, that's all done in the compilation step, and I heap praises on the heads of all who have made it possible.




HTH

Colin

-- 
I've learned that you shouldn't go through life with a catcher's mitt on both hands. You need to be able to throw something back. 
-Maya Angelou, poet (1928- )

reply via email to

[Prev in Thread] Current Thread [Next in Thread]