Re: Velocity with fvcurve

From: Alexandre Ratchov <alex_at_caoua.org>
Date: Mon Dec 31 2018 - 10:57:48 CET
On Sun, Dec 30, 2018 at 11:08:20AM -0800, dan cunningham wrote:
> >You could try the last git commit, there's a new "tvcurve" function
> that applies the velocity change to tracks. Let me know if it works.
> 
> I could not get this working, but I'm guessing its me not understanding how to
> apply this to the "current" selection.  Can you give an example of how to apply
> to a loaded midi file?  

For instance:

import "foo.mid"
g 0			# goto first measure
sel 1000		# select first 1000 measures
tvcurve -30		# modify vel. of selected measures of current track

If there are multiple tracks in the .mid file, you could loop over all
tracks as follows:

for t in [tlist] { ct $t; tvcurve -30; }

Using 1000 number of measures is ugly; you could use [mend] instead,
it evaluates to the number of measures in the .mid file.

> That suggestion was great, thanks!  I Achieved this with two process, on my
> "player" process I ran
> 
> dnew 0 "14:0" wo  #alsa midi through
> import "/tmp/somefile.mid"
> p
> 
> on my "filter" process I ran
> dnew 0 "20:0" wo #USB out
> dnew 1 "14:0" ro  #alsa midi through
> new piano {0 0}  
> inew pipe {1 0}
> fnew volume
> fvcurve {} (0)
> map { any pipe } { any piano }
> i
> 
> I can then apply new fvcurve values to change the volume.

Glad to see that it works this way on Linux. The advantage of this
approach is that it should work with any midi player.
Received on Mon, 31 Dec 2018 10:57:48 +0100

This archive was generated by hypermail 2.1.8 : Tue Jan 01 2019 - 01:32:45 CET