lilypond-devel
[Top][All Lists]
Advanced

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

Re: Patch: Setting pan, chorus and reverb in MIDI


From: David Kastrup
Subject: Re: Patch: Setting pan, chorus and reverb in MIDI
Date: Fri, 20 Sep 2013 22:02:11 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Heikki Tauriainen <address@hidden> writes:

> (About a year ago the project team was very kind to accept some MIDI event
> handling patches of mine into the official sources, and create an issue
> for tracking their status – should this happen again, I'm happy to answer
> any questions about what I've tried to do.)
>
>
> In short, these patches will add the following three context properties
> for controlling additional MIDI parameters:
>
>     Staff.midiPanPosition   [an integer from 0 to 127]
>          Pan position (0 = hard left, 64 = center, 127 = hard right)

Should be #LEFT hard left  #CENTER center  #RIGHT  hard right.

The range is not entirely symmetric.  Pan has a fine control also where
0000 is left, 2000 is center, and 3fff is hard right.  I think I'd use
the conversion formula
round ((dir+1)*max/2)
where max is the available maximal value and round is the normal
round-to-even rule.

>     Staff.midiReverbLevel   [an integer from 0 to 127]
>          Reverb effect level (0 = no effect, 127 = full effect)
>     Staff.midiChorusLevel   [an integer from 0 to 127]
>          Chorus effect level (0 = no effect, 127 = full effect)

Effects should probably scale from 0 to 1 rather than 0 to 127.

I don't see "Balance".

> For simplicity, the integer values are simply passed directly into the
> generated MIDI files without performing any calculations on them
> (except for checking their range): for example, I didn't implement any
> scaling for the values (which admittedly differs from how MIDI volume
> is handled with midiMinimumVolume and midiMaximumVolume).

But I think that should be done.

-- 
David Kastrup




reply via email to

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