[sdiy] MIDI velocity
Videotron
tokalo at videotron.ca
Tue Apr 5 18:32:41 CEST 2016
Two excellent keyboard articles that inspired me were Hal Chamberlain's velocity midi (and non-MIDI) design in MAM, and ETI's Midi Master Keyboard a 5 part, IIRC, article with construction. The former was based on 6502 and peripheral , or one of it's cousins and the assembly program is annotated thoroughly. Oh and Mr. Chamberlain goes into the timing requirement and gives worst case scenarios etc. Very instructive if you can get hold of a copy of this classic. Sadly sold mine so working purely from memory here.
TheETI article had velocity tables , 16, I believe to choose from.
Tony K
> On Apr 5, 2016, at 11:23 AM, Richie Burnett <rburnett at richieburnett.co.uk> wrote:
>
> 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
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list