<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Modartt user forum - Velocity curves calculator :  java application for Pianoteq]]></title>
		<link>https://forum.modartt.com/viewtopic.php?id=1253</link>
		<description><![CDATA[The most recent posts in Velocity curves calculator :  java application for Pianoteq.]]></description>
		<lastBuildDate>Wed, 02 Mar 2011 19:30:36 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=16225#p16225</link>
			<description><![CDATA[<div class="quotebox"><cite>etalmor wrote:</cite><blockquote><div class="quotebox"><cite>creart wrote:</cite><blockquote><p>on Mac I&#039;m getting errors with the program? It doesn&#039;t work <i class="far fa-frown smiley"></i></p></blockquote></div><p>That&#039;s a shame - the reason I chose java was that it would be cross platform ... It would take a few days until I can get access to a macbook pro .... in the meanwhile - if you are interested I can share the source files (I&#039;ve developed it in the netbeans IDE)</p><p>-- Eran</p></blockquote></div><p>Console Output: java.lang.NoClassDefFoundError: javax/swing/GroupLayout$Group</p><p>Under OS X 10.5 the default version of Java is Java 1.5. Got rid of the above error by changing the default version to Java 1.6 (Java SE 6 64-bit), by launching application Java Preferences.app located at /Applications/Utilities/Java/.</p><p>Console Output: Exception in thread &quot;AWT-EventQueue-0&quot; java.lang.ArrayIndexOutOfBoundsException: 129 </p><p>PtqCurveCalc.jar loads but with no GUI.</p><p>I found this article that might help you build PtqCurveCalc with NetBeans so that it will run on OS X. Check it out, if you want to run PtqCurveCalc.jar on any out-of-the-box installation of OSX.</p><p>Article: <a href="http://jimblackler.net/blog/?p=43">http://jimblackler.net/blog/?p=43</a></p>]]></description>
			<author><![CDATA[null@example.com (derrick)]]></author>
			<pubDate>Wed, 02 Mar 2011 19:30:36 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=16225#p16225</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=11616#p11616</link>
			<description><![CDATA[<p>Hi Guys</p><p>I checked in a new version 1.2 that has a very useful feature: <br />Each formula can have up to 10 named &quot;constants&quot; - so in order to customize a formula you just need to change the constants without having to understand much of the math behind it. I&#039;ve described what the constants do in each formula&#039;s description field ...</p><p>E.g. - I made the &quot;double hump&quot; formula into a more generic &quot;wrinkles&quot; formula, where you can set the number of wrinkles, how much they are &quot;ironed out&quot;, their phase, and an overall &quot;belly&quot; that gives the entire shape an &quot;in&quot; or &quot;out&quot; curve ...</p><br /><p>Download and check it out here:<br /><a href="http://sites.google.com/site/eranshome/software">http://sites.google.com/site/eranshome/software</a></p><p>Enjoy,<br />Eran</p>]]></description>
			<author><![CDATA[null@example.com (etalmor)]]></author>
			<pubDate>Sat, 17 Apr 2010 12:52:34 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=11616#p11616</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10963#p10963</link>
			<description><![CDATA[<p>Revision:</p><p>Come to think of it, the amp display wouldn&#039;t be needed, since spectral display programs show the amplitude by the height of each bar\line. A bar display might be best, for clarity...</p>]]></description>
			<author><![CDATA[null@example.com (Jake Johnson)]]></author>
			<pubDate>Thu, 25 Mar 2010 16:30:46 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10963#p10963</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10961#p10961</link>
			<description><![CDATA[<p>HI Etalmor</p><p>that might be an idea - I am downloading the IDE right now...<br />It&#039;s the &#039;normal&#039; Java one right?</p><p>Then I can try to compile and see what OSX comes up with...<br />Maybe send me a PM so I can send you my email-information</p><p>cheers<br />Hans</p>]]></description>
			<author><![CDATA[null@example.com (creart)]]></author>
			<pubDate>Thu, 25 Mar 2010 16:28:27 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10961#p10961</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10959#p10959</link>
			<description><![CDATA[<p>Yikes. Programming homework. But thanks. I need to learn more of the math. Inexcusable not to, these days.</p><p>[Longish post follows.]</p><p>Thinking aloud on another subject: I wish that there was a way for users to match their velocity response with PianoTeq: Play a note at given velocities, record the response of their keyboard, and then enter the numbers into your program to establish some points on the plot, and have the program guess at various curves that would connect the points. About the only way I can imagine doing this is to:</p><p>1. Have the user listen to some midi-generated notes at specific velocities (say 15, 35, 55, 75, 100, and 127) and then play each on his or her keyboard, trying to match each in amplitude and timbre. There would be a live spectral display of the note to be matched, which would play until the user clicked on &quot;Stop,&quot; and a live display of the spectral image as played by the user: visual feedback for the matching. The user wouldn&#039;t be trying to match the midi vel, but instead the sound.<br />2. Two volume meters would also be displayed, one for the recorded note and one for the notes played for the user.&nbsp; Why volume meters? So users wouldn&#039;t make the very easy mistake of thinking their sound was off because they were listening at a lower volume than intended for a timbre and mistook their most audible high freqs for a thin sound. (A perhaps too complex version of this program would actually tell the user when the amplitude and spectral components were a close match, something like piano tuning software that shows a needle indicating closeness to a desired pitch.)<br />3. The user would also be watching a display like the PianoTeq velocity pane, and would write down what velocities he or she actually played to reach the desired amplitude and timbre for each note. <br />4. Said user would then enter the velocities he or she wrote down into your program, which would already know the actual velocities played by the midi file that the user listened to, and could make adjustments and&nbsp; offer various curves that would connect the plot points.</p><p>Rube Goldberg? But all of the components exist--It&#039;s just a combination of PianoTeq, which can both play the model notes at specific vels and show the user the velocity he or she was playing, opening two spectral\amp displays at once, and your program. (My system, at least, lets me have two sound sources running at once.) But having to open four programs, including yours, is no fun. So could we get the two added spectral\amp displays added to your program tomorrow...?&nbsp; <i class="far fa-smile smiley"></i>&nbsp; <i class="far fa-smile smiley"></i> </p><p>Yeah. But it might actually be of great value, since it would let users match their keyboard to any music program that shows a midi event list with the velocities and allows creating vel curves. Music program developers could very easily create midi files that presented the ideal sound to be achieved at given vels with their program, and then let the user recreate it. Might take users about five-ten minutes to adjust their keyboard to the music program, but it would solve the entire problem of variable velocity responses. (I wonder how many support questions relate to velocity response, although the user may not realize that the problem is velocity response?) I can&#039;t think of any other way without attaching a velocity reader or a pressure gauge to the user&#039;s keyboard and comparing the results with the midi response.</p><p>Sorry to drag on about this. I could put something like this together in SynthEdit, I guess, but someone who knows C-Sound or another program that creates active visuals could create something much better. <br />(Which reflects on me, not on Synthedit). I don&#039;t even know if Java can create active spectral displays, let alone two at once...</p><p>(This desire to match the keyboard to PianoTeq is why I was thinking about randomization--the thought was that the user might be able to guess a shape that would match up well, and then try out slight, random variations until a close match was achieved, and then fine-tune the match.)</p>]]></description>
			<author><![CDATA[null@example.com (Jake Johnson)]]></author>
			<pubDate>Thu, 25 Mar 2010 16:01:36 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10959#p10959</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10934#p10934</link>
			<description><![CDATA[<div class="quotebox"><cite>Jake Johnson wrote:</cite><blockquote><p>What I still don&#039;t get is how you determine what numbers to feed into it for the shape. Do you have a general shape in mind that you want to create, and then find the numbers that will create it?</p></blockquote></div><p>Well - let&#039;s try to break it down ...:<br />1) You should get to know the shapes that some functions will give you, and the useful ranges they work with e.g:</p><p>1.a) The straight line: &quot;x&quot;, simply a rising straight line.</p><p>1.b) The square: &quot;x*x&quot;, or &quot;pow(x,2)&quot;. its useful range is non-negative numbers. e.g. map input from 0-&gt;1. <br />If you map it to negative numbers as well - e.g. -1 -&gt; 1, you&#039;ll get a mirror image of the 0-&gt;1, i.e. a &quot;bowl&quot; shape - first falling, then rising. You don&#039;t want that for velocity.</p><p>1.c) sin(x) - it gives you a wave, a full cycle for x=0 -&gt; x=2*PI. A wave in itself is not useful, because it sometimes rises, but sometimes fall - which you don&#039;t want. (In math it mean sin(x) is &quot;not monotonously rising&quot;, or simply &quot;not monotone&quot;). But later we&#039;ll see how to combine functions and make sin(x) useful to create a &quot;rising wave&quot;<br />Regarding the range you either map the input from 0 -&gt; 6.28, (== 2*PI)<br />but I prefer to map the input to the number of half-cycles you want, <br />e.g.: 0-&gt;2 for a full cycle, 0-&gt;3 for a cycle and half. You can also play with the phase by mapping 1-&gt;3, will give you a full cycle but starting on the &quot;off beat&quot; of the cycle.<br />and then write in f(x): sin(x*PI)</p><p>1.d) The cube:&nbsp; &quot;x*x*x&quot;, or &quot;pow(x,3)&quot; -&gt; in the positive range it is similar to x*x, but steeper. However in the negative range it doesn&#039;t give you a mirror image, but rather a &quot;rotated&quot; image ,so it is monotone around (-1 -&gt; 1), with a nice S shape.</p><p>1.e) The square root: &quot;pow(x,0.5)&quot; - gives a fast rising edge. Can only be used for non-negative inputs - so map your inputs to 0-&gt;1</p><p>There are more functions, the cos (similar to sin), atan (another interesting s-shape)... </p><p>2) but now you can combine them ....<br />So basically think of if as a &quot;mixing console&quot; - you can combine two (or more) shapes with different &quot;volumes&quot; by adding them together, and multiplying each one by its respective &quot;volume&quot;, or coefficient.</p><p>So e.g. - if you want a &quot;rising wave&quot; - than you can combine the &quot;sin&quot; function with the straight line &quot;x&quot; like so:<br />map input to (0 -&gt; 2)<br />fx: sin(x*PI) + x. <br />Still not steep enough - let&#039;s give &quot;x&quot; some more volume<br />&nbsp; &nbsp;sin(x*PI) + x*2<br />not enough ... how about:<br />&nbsp; &nbsp;sin(x*PI) + x*4<br />This gives a monotone shape ... </p><p>another example: say you want to combine the square-root &quot;pow(x,.5)&quot; with the cube S-shape&nbsp; &quot;pow(x,3)&quot;.<br />The problem here is that square-root can only be used in ranges &gt;0, e.g. 0-&gt;1, and the cube you want to use in range -1-&gt;1 ...<br />So what you can so map the input to 0-&gt;1, and adjust X inside pow(x,3) to go from range -1-&gt;1, like so:<br />&nbsp; &nbsp; pow(x*2-1, 3).<br />Combining the to functions together:<br />&nbsp; &nbsp; pow(x,.5) + pow(x*2-1, 3)<br />Playing with the coefficients to get interesting results:<br />&nbsp; &nbsp; 30*pow(x,.5) + pow(x*2-1, 3)</p><div class="quotebox"><cite>Jake Johnson wrote:</cite><blockquote><p>Separate question: would it be possible to create a randomization thing for this, with some set, unvarying conditions (the scale must slant to the right, the next step can&#039;t be lower than the previous steps, etc)? Just a thought.<br />Enjoying satan.</p></blockquote></div><p>Well you can use &quot;random()&quot; combined with some other curve, and give random a low coefficient, so that it only rises, like so:</p><p>0.1*random(1) + x<br />or:<br />0.2*random(1) + pow(x,3) + x<br />etc ....</p><p>Personally I&#039;d rather have my curve precise w/o any randomness...</p><p>best,<br />Eran</p>]]></description>
			<author><![CDATA[null@example.com (etalmor)]]></author>
			<pubDate>Thu, 25 Mar 2010 08:00:50 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10934#p10934</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10933#p10933</link>
			<description><![CDATA[<div class="quotebox"><cite>creart wrote:</cite><blockquote><p>on Mac I&#039;m getting errors with the program? It doesn&#039;t work <i class="far fa-frown smiley"></i></p></blockquote></div><p>That&#039;s a shame - the reason I chose java was that it would be cross platform ... It would take a few days until I can get access to a macbook pro .... in the meanwhile - if you are interested I can share the source files (I&#039;ve developed it in the netbeans IDE)</p><p>-- Eran</p>]]></description>
			<author><![CDATA[null@example.com (etalmor)]]></author>
			<pubDate>Thu, 25 Mar 2010 07:19:13 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10933#p10933</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10928#p10928</link>
			<description><![CDATA[<p>on Mac I&#039;m getting errors with the program? It doesn&#039;t work <i class="far fa-frown smiley"></i></p>]]></description>
			<author><![CDATA[null@example.com (creart)]]></author>
			<pubDate>Wed, 24 Mar 2010 21:52:39 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10928#p10928</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10924#p10924</link>
			<description><![CDATA[<p>What I still don&#039;t get is how you determine what numbers to feed into it for the shape. Do you have a general shape in mind that you want to create, and then find the numbers that will create it?</p><p>Separate question: would it be possible to create a randomization thing for this, with some set, unvarying conditions (the scale must slant to the right, the next step can&#039;t be lower than the previous steps, etc)? Just a thought.</p><p>Enjoying satan.</p>]]></description>
			<author><![CDATA[null@example.com (Jake Johnson)]]></author>
			<pubDate>Wed, 24 Mar 2010 19:59:47 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10924#p10924</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10901#p10901</link>
			<description><![CDATA[<p>I found this very dynamic and cool curve I call the &quot;double hump&quot;. It gives you better control in three zones - Pianissimo, Mezzo, Fortissimo</p><p>velocity = [0, 1, 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105, 113, 121, 127; 0,0, 5, 12, 21, 32, 44, 53, 59, 64, 69, 76, 86, 97, 108, 117, 124, 127]</p><p>Obtain by the calculator:<br />input: 1-&gt;127<br />step: 8<br />map: 1 -&gt; 5<br />fx: sin(x*3.14)+x*7<br />range: 0 -&gt; 127</p><p>Here&#039;s the pcc file:</p><p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;<br />&lt;curve version=&quot;1.0&quot;&gt;<br />&lt;description&gt;A double hump shape using two cycle of sin(), off by a phase...<br />The &quot;x*7&quot; component is used to straighten it out &lt;/description&gt;<br />&lt;in_from&gt;1&lt;/in_from&gt;<br />&lt;in_to&gt;127&lt;/in_to&gt;<br />&lt;step&gt;8&lt;/step&gt;<br />&lt;fx&gt;sin(x*3.14)+x*7&lt;/fx&gt;<br />&lt;in_map_from&gt;1&lt;/in_map_from&gt;<br />&lt;in_map_to&gt;5&lt;/in_map_to&gt;<br />&lt;out_from&gt;0&lt;/out_from&gt;<br />&lt;out_to&gt;127&lt;/out_to&gt;<br />&lt;/curve&gt;</p>]]></description>
			<author><![CDATA[null@example.com (etalmor)]]></author>
			<pubDate>Wed, 24 Mar 2010 08:10:10 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10901#p10901</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10898#p10898</link>
			<description><![CDATA[<div class="quotebox"><cite>Jake Johnson wrote:</cite><blockquote><p>Thanks. I&#039;m using the s_atan preset some and liking it. Seems to fit. The Satan preset?</p></blockquote></div><p>Ha!!! didn&#039;t notice that - seems i&#039;m possessed by the devil ...</p>]]></description>
			<author><![CDATA[null@example.com (etalmor)]]></author>
			<pubDate>Wed, 24 Mar 2010 04:58:53 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10898#p10898</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10897#p10897</link>
			<description><![CDATA[<p>Thanks. I&#039;m using the s_atan preset some and liking it. Seems to fit. The Satan preset?</p>]]></description>
			<author><![CDATA[null@example.com (Jake Johnson)]]></author>
			<pubDate>Wed, 24 Mar 2010 04:14:01 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10897#p10897</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10870#p10870</link>
			<description><![CDATA[<p>Hi Folks</p><p>I posted a new version of the calculator with loading/saving of presets, some predefined presets (with descriptions), and a visualization of the curve.</p><p><a href="http://sites.google.com/site/eranshome/software">http://sites.google.com/site/eranshome/software</a></p><p>The presets have an XML format, but their extention is .pcc (PtqCurveCalc).</p><p>Enjoy,<br />Eran</p>]]></description>
			<author><![CDATA[null@example.com (etalmor)]]></author>
			<pubDate>Mon, 22 Mar 2010 22:59:56 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10870#p10870</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10761#p10761</link>
			<description><![CDATA[<div class="quotebox"><cite>etalmor wrote:</cite><blockquote><p>Actually I&#039;ve added drawing (but not posted it yet), and I want to add ability to save/load presets (with some examples). When I get it done i&#039;ll post it to my site and ping the forum...</p></blockquote></div><p>Awesome...&nbsp; kudos !&nbsp; ...but then get back on the grand unification theory.</p>]]></description>
			<author><![CDATA[null@example.com (Cellomangler)]]></author>
			<pubDate>Fri, 19 Mar 2010 09:54:04 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10761#p10761</guid>
		</item>
		<item>
			<title><![CDATA[Re: Velocity curves calculator :  java application for Pianoteq]]></title>
			<link>https://forum.modartt.com/viewtopic.php?pid=10760#p10760</link>
			<description><![CDATA[<p>Hi Cellomangler</p><p>Actually I&#039;ve added drawing (but not posted it yet), and I want to add ability to save/load presets (with some examples). When I get it done i&#039;ll post it to my site and ping the forum...</p><p>I tried mapping every value from 0 to 127 and didn&#039;t notice any slowdown in pianoteq. Translating the velocity curve should take constant time, using a small 128 cell array, no matter how &quot;complex&quot; the velocity graph looks like. I bet this is what Pianoteq is doing... quite standard.</p><p>Thanks<br />Eran</p>]]></description>
			<author><![CDATA[null@example.com (etalmor)]]></author>
			<pubDate>Fri, 19 Mar 2010 08:00:56 +0000</pubDate>
			<guid>https://forum.modartt.com/viewtopic.php?pid=10760#p10760</guid>
		</item>
	</channel>
</rss>
