|
From: Christian S. <chr...@ep...> - 2003-12-02 05:40:08
|
Hi Kenneth, not really sure what you actually want to hear, but these are the velocity algorithms that are currently used in LinuxSampler (/src/gig.h): #define GIG_VELOCITY_TRANSFORM_NONLINEAR(x,dynamic,scale) ((1.0-1.0/pow(x,1.0/ (129.0-x))) * (1.0+scale/20.0) + (5.0-dynamic)*pow(x/300.0* (1.0 +2.0*scale/128.0),2)) #define GIG_VELOCITY_TRANSFORM_LINEAR(x,dynamic,scale) ((1.0 +scale*3.0/128.0)/110.0*x+(5.0-dynamic)/5.0+(5.0-dynamic)*scale) #define GIG_VELOCITY_TRANSFORM_SPECIAL(x,dynamic,scale) ((1.0 +9.0*scale/129.0)*(1.0-1.0/pow(x,1.0/(129.0-x))+pow(3.0*x/pow(129,2),2) +pow((5.0-dynamic)*x/500.0,2))) These are only approximations to the ones from Gigasampler. 'x' is the MIDI velocity value, 'dynamic' is the dynamic range parameter and 'scale' the curve scale parameter from the gig format. Not sure if that helps... CU Christian Es geschah am Montag, 1. Dezember 2003 08:40 als Kenneth Lee schrieb: > Mark, > > i mean using Linux tools. i am using Lilypond to > produce piano music sheet. pmidi to play midi files > which are generated from Lilypind throught timidity++ > (now LinuxSampler). The midi files produced by > Lilypond is good enought to proof-hearing but not > adequate for listening. Therefore, some touchup is > required for each file. What i am trying to do is to > write a simple pre-lilypond processor which could be > used to produce lilypond file for generating piano > music sheet. Also, the processor should be able to > produce midi file with specific attributes per note. > Based on the above mentioned, i am tring to play > around with the duration and velocity of the midi > file. At this stage, it seems to me that the result of > different velocity setting is not obvious to me, > therefore, i am asking for advice. > > Highly likely that there are some Linux tools already > available for the above mentioned, please kindly let > me know. > > > Many thanks! > > kenneth |