[sdiy] MIDI velocity

Richie Burnett rburnett at richieburnett.co.uk
Tue Apr 5 17:23:26 CEST 2016


Thanks guys.  If it's possible to get acceptable performance with an 8051 
then I should be able to achieve something similar or better with a PIC18F 
series microcontroller.  Tom, your comments about 1ms resolution on the 
Prophet T8 are also encouraging.  This is only for a DIY fun project, so I 
don't need to aim for perfection, but need to get some grasp on the 
magnitude of the task.  I'll get the firmware working as a non 
velocity-sensitive keyboard first, then see what I can achieve in terms of 
implementing velocity sensitivity.  Even if I don't get the velocity 
sensitivity working for a while, at least the hysteresis afforded by having 
separate upper and lower switch contacts should do a nice job of de-bouncing 
the keypresses for me!

-Richie,

-----Original Message----- 
From: Ullrich Peter
Sent: Tuesday, April 05, 2016 2:39 PM
To: Richie Burnett ; synth-diy DIY
Subject: Re: [sdiy] MIDI velocity

Hi Richie!

>1. Is it reasonable to expect that I could use a low-end micro (e.g. PIC) 
>to scan a 61-key Fatar velocity sensitive keyboard with sufficient velocity 
>resolution to work well?  Or does >it need dedicated hardware to measure 
>the time between top and bottom switch closures for every key in parallel 
>with sufficient resolution.  For instance the old E510 is >quoted as having 
>128us resolution, and it sounds challenging to write a program to poll all
>61 keys nearly 8000 times a second?  Obviously I can use a free-running 
>timer, and subtract time stamps obtained from the top and bottom switch 
>closures for each key, but it >still sounds tight.  I couldn't find any 
>online examples of PIC based DIY velocity sensitive keyboards, and most 
>commercial keyboards seem to have an ASIC taking care of timing >the switch 
>closures and reporting results to a general purpose micro to form the MIDI 
>packets.

If a simple midi channel 0 only design is enough then you could use the 
keyboard chip from the Crumar bit one. It is a simple 8751 chip that outputs 
midi data and it is velocity sensitive. But you can only use it if it's a 
DIY project - so no commercial project... I have the binary on one of my 
PCs - so if you can program these chips this could be a solution for you.
The keyboard schematics can be found on page 3 of this service manual:
http://manuals.fdiskc.com/tree/Crumar/Crumar%20Bit%20One%20Service%20Manual.pdf

>3. How should a receiving synth set it's voice's volume depending on the 
>velocity byte received?  I tried to think through the physics of someone 
>hitting a piano key with a >specific velocity, what the energy is from
>0.5mv^2 etc, and how that should influence the amplitude of the resulting 
>sound wave.  It seems that most synths either have a linear response or an
>x^2
>response curve to velocity, but many offer a selection of different 
>responses.

As all instruments have their own interpretion some master keyboards have 
different velocity curves they send out.
I designed a velocity converter that in principles has some tables with 
different curves in it to convert from one velocity "feeling" to another.

Ciao
Peter

http://www.ullrich.at.tt        (My homepage)
http://synpro.heimat.eu/datadial.htm    (Synth addon)
http://rc100-usb.at.tt/     (Roland sampler tool)






The information contained in this e-mail message is privileged and 
confidential and is for the exclusive use of the addressee. The person who 
receives this message and who is not the addressee, one of his employees or 
an agent entitled to hand it over to the addressee, is informed that he may 
not use, disclose or reproduce the contents thereof, and is kindly asked to 
notify the sender and delete the e-mail immediately.



-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2016.0.7497 / Virus Database: 4545/11964 - Release Date: 04/05/16




More information about the Synth-diy mailing list