Author |
Topic: Channel aftertouch display (Read 1068 times) |
|
mydogkeko
Member
 
 MIDI-OX Rules!
Posts: 26
|
 |
Channel aftertouch display
« on: Feb 16th, 2007, 2:49pm » |
Quote Modify
|
When I press on a MIDI controller and I listen to a piano (program one) and I hold down the key the sound of the piano eventually diminishes. I'm assuming what I'm listening to is a stepping down of the velocity/volume because of channel after touch but when I look at the screen for midiox no channel after touch signals are displayed. I'm not sure if I'm correct if this is what is happening? Any thoughts welcome
|
|
IP Logged |
|
|
|
Peter L Jones
Expert
    

Hit it
Gender: 
Posts: 978
|
 |
Re: Channel aftertouch display
« Reply #1 on: Feb 17th, 2007, 4:08am » |
Quote Modify
|
When someone plays a piano and holds the key down, the sound diminishes. It's called natural decay. The struck string slowly comes to rest as the energy imparted by the hammer dissipates as heat and sound. It does all that without MIDI involved. When you press a key on a MIDI controller, a Note On message is sent somewhere. You've not said in your message exactly what you've got your controller connected to and that does make a difference. I'll explain a few of the ways sound sources work. Many sound sources try to emulate natural decay using an "envelope" (with attack time, decay time, sustain level, release time). For a completely synthesized sound, this will rise, fall and then hold until you release the key. However, for a sampled sound, one of two things can happen. If the sample is looped, it is essentially the same as a synthesized sound. It no longer represents the natural sound as it won't decay naturally. For an unlooped sample, you'll get the recorded sound (with any envelope applied on top). If it's a whipcrack, for example, it won't last very long. A peal of thunder might start loud and rumble on for a while. A struck piano string will sound like a struck piano string.
|
« Last Edit: Feb 17th, 2007, 4:18am by Peter L Jones » |
IP Logged |
"...Playing fast around the drums is one thing. But to play with people for others, to listen to, that's something else. That's a whole other world." -- Tony Williams
|
|
|
mydogkeko
Member
 
 MIDI-OX Rules!
Posts: 26
|
 |
Re: Channel aftertouch display
« Reply #2 on: Feb 18th, 2007, 11:44am » |
Quote Modify
|
Thank you Peter. As always, I really appreciate your sharing so much useful information. My ultimate goal is to try to remap a wind controller so that a student who cannot use his hands or his arms to play some music. The idea was to take advantage of the student's ability to be able to control his own breath. He has no other movement. If you have a moment please watch the video below: http://mybreathmymusic.googlepages.com/switchblow I was hoping to remap the data so that at different volumes he could play different notes. 2862133 2 1 144 61 127 1 C# 4 Note On 2862133 2 1 176 2 127 1 --- CC: Breath 2862135 2 1 176 2 127 1 --- CC: Breath 2862464 2 1 176 2 118 1 --- CC: Breath 2862469 2 1 176 2 51 1 --- CC: Breath 2862473 2 1 176 2 2 1 --- CC: Breath 2862478 2 1 176 2 0 1 --- CC: Breath 2862482 2 1 176 2 0 1 --- CC: Breath 2862483 2 1 144 61 0 1 C# 4 Note Off I was thinking of some fun ways to be musically expressive with one blow sensing switch. I was thinking about changing the pitch with a constant velocity at every level of velocity. Is there a way that midiox would listen to the note on signal for note 61 and then for the corresponding breath control between 127 program change up octave 126-90 Play note 65 89-60 play note 64 59-30 Play note 65 29-1 program change down octave The number two above under the 61 I believe stands for the degree of breath control up to a value of 34. Its course versus a fine control. I'm not sure what 176 stands for under 144. Are there any samples on the forum to discuss remapping Wind controllers like this? Many thanks David
|
|
IP Logged |
|
|
|
Jamie OConnell
Administrator
    


Gender: 
Posts: 2027
|
 |
Re: Channel aftertouch display
« Reply #3 on: Feb 18th, 2007, 1:12pm » |
Quote Modify
|
Quote:Is there a way that midiox would listen to the note on signal for note 61 and then for the corresponding breath control between 127 program change up octave 126-90 Play note 65 89-60 play note 64 59-30 Play note 65 29-1 program change down octave |
| Yes, you could do this with simple range mapping CC:2 to Note On. The problem that arises, though is how to generate a Note Off (sometime later) for the corresponding Note On. Another problem is that you would generate a new Note On for every controller event that arrives (very many of them normally). The 176 is a MIDI controller message. I usually look at the monitor in Hex where you'd see: B0 instead of 176 (a CC message on channel 1). The 2 following that means Breath Controller, and the value after that is the amount of breath. Your best bet might be to use scripting to do this so you could prevent regeneration of notes if one is already playing, and to turn it off before playing the next note.
|
|
IP Logged |
--Jamie Music is its own reward.
|
|
|
mydogkeko
Member
 
 MIDI-OX Rules!
Posts: 26
|
 |
Re: Channel aftertouch display
« Reply #4 on: Feb 19th, 2007, 11:03am » |
Quote Modify
|
Thank you Jamie. I came up with an attempt to make a percussive instrument for him. Here's my feeble attempt: MOXMAP Version 5 [Map] *,NoteOn,*,*,*,*,N,0,*,NoteOff,*,*,*,* *,Ctrl,2,2,101,101,N,0,10,NoteOn,50,67,*,* *,Ctrl,2,2,100,100,N,0,10,NoteOn,32,32,*,* *,Ctrl,2,2,90,90,N,0,10,NoteOn,64,66,98,100 *,Ctrl,2,2,80,80,N,0,10,NoteOn,43,43,127,127 *,Ctrl,2,2,70,70,N,0,10,NoteOn,63,63,100,100 *,Ctrl,2,2,50,50,N,0,10,NoteOn,61,61,*,* *,Ctrl,2,2,20,20,N,0,10,NoteOn,61,61,100,100 [Options] WaitForFullNRPN=0 MapNRPNDataIncr=0 SendFullNRPN=0 ReverseDataEntry=0 I have been trying to learn more about midox for a while. I definitely am a perpetual newbie though and appreciate your assistance. He just strikes me that the program has the possibilities to really create some nice adaptive musical instruments for people. I would like to learn the basics of scripting. If anyone has any suggestions on which type of scripting to learn in any web sites where I might start to learn some basics they would be really appreciated. Many thanks
|
|
IP Logged |
|
|
|
|