|
From: | Philippe Hezaine |
Subject: | Re: dynamic and midi velocity |
Date: | Fri, 19 Feb 2010 12:08:16 +0100 |
User-agent: | Thunderbird 2.0.0.23 (X11/20100124) |
Brett McCoy a écrit :
On Thu, Feb 18, 2010 at 7:27 PM, Peter Chubb <address@hidden> wrote:I had a quick look at what it would take to generate notes with different velocities instead of just CC 7 events. It's harder than it should be: dynamic events always come after the notes they affect, so I couldn't see an obvious/easy way to get the current dynamics whileprocessing a note, ...
Sorry for my bad English but may be this can help you. When I was beginning the Drummer's "Gigsaw" I was using mididings which is a Python app. It takes me a lot of time to understand why I always get a few errors when I processed CC7-to-velocity.py (a script Dominic Sacré especially wrote for this case). Finally I had to give up mididings because it was unable to convert the midi output of Lilypond which is not clean (an odd thing (bug?)). Dominic's answer was: Nothing to do with mididings in this case. Fortunately I found midicomp. In the current Gigsaw's ugly hack I've found a solution. Here is the excerpt in question: " lancer midicomp pour obtenir le ascii " Launch midicomp and get the ascii :silent! !midicomp -vt MY-SONG.midi > MY-SONG.asc :w! " " Ouvrir le .asc " Open the .asc :gvim MY-SONG.asc " " A cause d'une bizarrerie dans la sortie midi de Lilypond, rectifier l'ordre d'apparition des Param " Because of an odd thing (bug?) in the Lilypond's midi output, I correct the range of Param :silent! g/\(.*\)On.*\n\1Param/normal ddp :w! " " Seulement maintenant copier les valeurs des Param vers les Note On " Now i can paste the Param values to the Note On "autre commande possible "one another command """"""""""":g/On/s/127/\=matchstr(getline(line('.')-1), 'val=\zs\d\+') :silent! %s/val=\(\d\+\).*\n.*On.*vol=\zs\d\+/\1/ :w! " " Effacer toutes les lignes Param " Delete all the Param line :silent! g/Param/d :w! " " Retransformer le ascii en midi en l'envoyant dans MA-BASE " Transform again the .asc to midi > MY-BASE :silent! !midicomp -c MY-SONG.asc > MY-SONG.midi
...nor is it obvious to me how to get at notes in the same voice as a dynamic indication at the same timestep.
In the Gigsaw each element of a chord burst out in its own variable, hence a track for each drums instrument (or Voice, here I mean Voice in a musical sense, ie. a fugue with 4 voices). It becomes a linear format.
Nor is it obvioous to me how to tell which voices dynamic indications should be applied to. Sometimes they should be for several (e.g., centered piano dynamics), sometimes just to the voice they are attached to. And there's still the issue of handling what instruments are capable of, and adjusting expression accordingly. There are three classes of instruments I can think of: 1. Instruments that play at a fixed volume no matter what you do: -- harpsichord, most organ stops, recorder, etc. 2. Instruments where the volume is determined at the start of a note, but you can't change it afterwards: -- piano, clavichord, most percussion, plucked strings, etc. 3. Instruments that can change volume anywhere -- most woodwinds and brass, swell stops on the organ, etc. So I'm leaving it in the `too hard' basket for now.
... [skip]
-- Brett
Cheers. -- Phil.
[Prev in Thread] | Current Thread | [Next in Thread] |