-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't include it in sdist Signed-off-by: Christopher Arndt <[email protected]>
- Loading branch information
1 parent
c21915a
commit b55cd7b
Showing
5 changed files
with
209 additions
and
1 deletion.
There are no files selected for viewing
192 changes: 192 additions & 0 deletions
192
docs/Akai EWI USB works in Linux - USB MIDI commands.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,192 @@ | ||
# Akai EWI USB works in Linux - USB MIDI commands | ||
|
||
From: wzab | ||
Date: Jul 8, 2011, 11:44:41 AM | ||
|
||
I just started to play the Akai EWI USB. | ||
Unfortunately with the original Windows software it does | ||
not work satisfactory on the hardware I have with me | ||
on my holidays ;-) (Compaq nx7300 with built-in Audio device: | ||
Intel Corporation N10/ICH 7 Family High Definition Audio Controller). | ||
The latency is simply too high. | ||
Therefore I decided to try to use it in Linux/jackd/zynaddsubfx | ||
and in Linux/jackd/qsynth environment. | ||
|
||
EWI USB produced correct MIDI commands right after pluging it into | ||
my machine, and the latency on the same hardware was really low, | ||
but I was not able to switch fingering mode and other | ||
controls. | ||
|
||
Therefore I decided to investigate how the original Aria software | ||
controls the EWI. | ||
1. I installed software from the CD accompanying the EWI | ||
under wine in Linux | ||
2. I loaded the "usbmon" module and run "wireshark" | ||
3. I started capture of USB transfers with the USB EWI (which | ||
I first "located" with the "lsusb" command. | ||
|
||
Then I started to change settings in the Aria program and checked | ||
what USB MIDI commands are sent to the EWI USB. | ||
|
||
Below are results of my investigation, but before you try to use them | ||
please read the following disclaimer: | ||
|
||
==================== DISCLAIMER ======================= | ||
Information below was obtained by analysis of MIDI commands | ||
generated by Aria software with my EWI USB. | ||
I don't know if tampering with your EWI USB in this way is safe! | ||
I know that some special MIDI commands are used for | ||
firmware upgrade, so maybe you may accidentally send a command | ||
causing firmware erasure :-(. | ||
If you use the information below YOU DO IT ON YOUR OWN RISK! | ||
I do not assume any responsibility for any damage of your | ||
hardware (either EWI USB or your computer or other | ||
hardware) neither for any other damages or losses resulting | ||
from your use of the information below. | ||
=============== END OF DISCLAIMER ======================= | ||
|
||
A. Change of the fingering mode: | ||
|
||
0b b0 63 02 0b b0 62 01 0b b0 06 nn | ||
Values of nn: | ||
00 - EWI standard | ||
01 - Saxophone | ||
02 - Flute | ||
03 - Oboe | ||
04 - EVI valve 1 | ||
05 - EVI valve 2 | ||
Please note, that the above are the USB MIDI commands, | ||
so if you want to send them as standard MIDI commands e.g. with | ||
"amidi" program, you should discard "0b" preceeding the "b0". | ||
E.g. to change fingering to "EVI valve 1" you should execute: | ||
$ amidi -p hw:1,0,0 -SB06302B06201B00604 | ||
|
||
The port name for EWI may be found with: | ||
$ amidi -l | ||
which should return something like this: | ||
Dir Device Name | ||
IO hw:1,0,0 EWI-USB MIDI 1 | ||
|
||
B. Change of "breath gain": | ||
0b b0 63 00 0b b0 62 00 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
example: amidi -p hw:1,0,0 -SB06300B06200B0067F | ||
|
||
C. Change of "bite gain": | ||
0b b0 63 00 0b b0 62 01 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
D. Change of "bite AC gain": | ||
0b b0 63 00 0b b0 62 02 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
E. Change of "pitch bend gain": | ||
0b b0 63 00 0b b0 62 03 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
F. Change of "key delay": | ||
0b b0 63 00 0b b0 62 04 0b b0 06 nn (where nn is between 0x00 and | ||
0x0f) | ||
|
||
G. Change of "Breath CC1" setting: | ||
0b b0 63 02 0b b0 62 04 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
H. Change of "Breath CC2" setting: | ||
0b b0 63 02 0b b0 62 05 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
I. Change of "Bite CC1" setting: | ||
0b b0 63 02 0b b0 62 07 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
J. Change of "Bite CC2" setting: | ||
0b b0 63 02 0b b0 62 08 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
K. Change of "Velocity" setting: | ||
0b b0 63 02 0b b0 62 03 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
(0x00 means "dynamic" velocity) | ||
L. Pitchbend UP control: | ||
0b b0 63 02 0b b0 62 09 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
M. Pitchbend DOWN control: | ||
0b b0 63 02 0b b0 62 0a 0b b0 06 nn (where nn is between 0x00 and | ||
0x7f) | ||
|
||
N. Switching of MIDI channel (examples) | ||
from 1 to 10: 0b b9 63 02 0b b9 62 00 0b b9 06 09 | ||
from 10 to 3: 0b b2 63 02 0b b2 62 00 0b b2 06 02 | ||
from 3 to 1: 0b b0 63 02 0b b0 62 00 0b b0 06 00 | ||
As you can see, only the new channel is given in the USB MIDI | ||
command. | ||
|
||
O. Switching of "Transpose": | ||
0b b0 63 02 0b b0 62 02 0b b0 06 nn (where nn is between 0x34 | ||
[for -12] to 0x4c [for +12]) | ||
examples: | ||
to -12: 0b b0 63 02 0b b0 62 02 0b b0 06 34 | ||
to +12: 0b b0 63 02 0b b0 62 02 0b b0 06 4c | ||
|
||
To restore default settings I issue the following commands: | ||
$ amidi -p hw:1,0,0 -s ControllerSetupDefaults.syx | ||
$ amidi -p hw:1,0,0 -s SensorSetupDefaults.syx | ||
|
||
(the ControllerSetupDefaults.syx and SensorSetupDefaults.syx | ||
files are provided with the original Aria software.) | ||
|
||
I hope that the above information may be useful for other EWI USB | ||
users wanting to use this instrument in Linux. | ||
-- | ||
Best regards, | ||
Wojtek Zabolotny | ||
http://www.ise.pw.edu.pl/~wzab/wireless_guitar_system/ | ||
Build your own digital wireless system for electric guitar | ||
|
||
|
||
From: Clemens Ladisch | ||
Date: Jul 8, 2011, 2:34:26 PM | ||
|
||
wzab wrote: | ||
> I know that some special MIDI commands are used for | ||
> firmware upgrade, so maybe you may accidentally send a command | ||
> causing firmware erasure :-(. | ||
|
||
All your listed commands are controller changes, so there is no such | ||
danger. | ||
|
||
> A. Change of the fingering mode: | ||
> | ||
> 0b b0 63 02 0b b0 62 01 0b b0 06 nn | ||
|
||
Controllers 0x62/0x63/0x06 are the standard indirection scheme for | ||
"non-registered parameters". | ||
|
||
So we have these NRPNs: | ||
|
||
0/0 breath gain | ||
0/1 bite gain | ||
0/2 bite AC gain | ||
0/3 pitch bend gain | ||
0/4 key delay | ||
2/0 MIDI channel | ||
2/1 fingering mode | ||
2/3 Velocity | ||
2/4 Breath CC1 | ||
2/5 Breath CC2 | ||
2/7 Bite CC1 | ||
2/8 Bite CC2 | ||
2/9 Pitchbend UP | ||
2/10 Pitchbend DOWN | ||
2/11 Transpose | ||
|
||
Most sequencers allow to set these parameters directly (instead of | ||
entering three controller change command) when given the NRPN MSB/ | ||
LSB values. | ||
|
||
|
||
Regards, | ||
Clemens |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Akai EWI USB MIDI Wind Controller Notes | ||
|
||
## MIDI implementation | ||
|
||
### Reset | ||
|
||
If you press the "RESET" button on the lower backside, the EWI will sent the | ||
following MIDI messages on its configured MIDI channel: | ||
|
||
* Pitch bend. value 0 | ||
* Control change #121, value 0 | ||
* Control change #7, value 100 | ||
* Control change #11, value 127 | ||
* Channel aftertouch, value 0 | ||
* Note Off for all notes 0-127 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters