Yamaha EZ-AG Support

wkolbe

2005-08-14 14:09:44

Yamaha Manual is available online.
Unfortunately the actual output can´t be converted with the actual MT,
because the mapping a little different for frets and the strings.
Yamaha has forgotten to send a fret/switch command for fret 0.
Actual I have a mapping for frets without the need to hit the strings.
This works fine, but the strings can´t be used.
If MT is expanded to send a response with a delay or to store a value from one input sequence to the next, this may be helpful.

A fret switch gives a
F0 43 7F 00 00 01 pp qq F7 on sequence with pp=string, qq=note and
F0 43 7F 00 00 02 pp qq F7 off sequence with no indication the volume.

A high E string give a F0 43 7F 00 00 05 01 vv F7 sequence
with velocity/volume vv. There is not note off or fret 0 command.

wkolbe

2005-08-14 16:25:52

please find enclosed complete logs from SendSX monitor:
1. hit E-string
90 40 3D
F0 43 7F 00 00 05 01 3D F7
2. switch on fret E-string note "F"
90 40 00 (last note transmitted)
90 41 10 (note from fret)
F0 43 7F 00 00 01 01 4D F7 (4D = note + 12)
F0 43 7F 00 00 03 01 4D F7
3. switch off fret E-string note "F"
90 41 00
F0 43 7F 00 00 02 01 4D F7 (4D = note + 12)
F0 43 7F 00 00 04 01 4D F7

florian

2005-08-15 14:37:27

Hi,

it is planned to extend MT with programmability (global variables, if-then constructs, timers, etc.). Still I don't know yet what kind of translation you really need. Can you give an example of
Incoming MIDI vs. Translated MIDI?

THanks,
Florian

wkolbe

2005-08-16 09:44:26

Hi Florian,
the next version of MT seems to bring a lot of usefull functions.
To answer your questions regarding the EZ-AG function I tried to collect some information which maybe helpful to understand what is required:

1. General definition of guitar operation (please comment/correct)
Description is based on the fact, that the string is able to store energy and this storage is composed off different modes (it may be called a phonon). Allowed modes depend on the actual string length and the frequency of a mode is an factor times the ground state frequency (overtones, octaves). A sound from a normal guitar string is described by a note and a distribution of overtones. The real physics are quite complicated due to the phases of the different modes. If some real visualization is needed, have a look on the FFT analysis with CooEdit for example.
a) There is an mechanism to convert energy from the plectrum impulse to these modes.
b) There is an mechanism to convert energy from the mode to mode.
c) There is an mechanism to convert energy from one string length to another (hammer on).
At least the following different guitar techniques should be possible:
a) Normal plucked mode
Hit the string with the plectrum, sound may be influenced by the position of plectrum, note produced according to the length of the string, defined by fret fingered or open string.
b) Slide up/down mode
Use the rest of the actual energy converted to the new frequency
c) Hammer / Pull off on mode
Create some new energy in the string and use the rest of the actual energy converted to the new frequency.
d) Palm Muted and fret Muted string mode
Depending on the mute position only some overtones are not allowed, energy is absorbed.

2. Conversion of general operation to Yamaha EZ-AG midi guitar.
2.1 Actual output of EZ-AG
a) Normal operation
The output consists always of two note commands, the last note played is turned off by an “9x nn 00” and the new note is turned on by an “9x nn vv”. The EZ-AG stores the last note internally.
Example plucked high E string:
90 44 00 (last note off)
90 40 45 (E-String on with velocity according to pressure sensor
F0 43 7F 00 00 05 01 45 F7 (Sys data, string 1, velocity = 45)
Example plucked low E string:
95 2F 00 (last note off)
95 28 30 (note on)
F0 43 7F 00 00 05 06 30 F7 (Sys data, string 6, velocity = 45)
String data contain no note information only velocity data and string number.
b) If a fret is switched, a note off / on sequence is created with vv=10
Example:
90 41 00 (last note off)
90 42 10 (note on with velocity fixed to 10)
c) Sys data is produced by the fret switches and the string sensor as Sys-Data.
The Sys-Data used an transposed note nn+12 coding.
F0 43 7F 00 00 01 01 4E F7 (Sys data switch on)
F0 43 7F 00 00 02 01 4E F7 (Sys data switch off)
d) Additional data is produced by the fret LEDs as Sys-Data.
F0 43 7F 00 00 03 01 4E F7 (Sys data LED on)
F0 43 7F 00 00 04 01 4E F7 (Sys data LED off)
The EZ-EG has an additional pitch bend control, up/down keys can by used also like a the controls on an electric guitar.
2.2 What went wrong with the EZ-AG output and simple work-around
a) Novice user expects all note in one channel
Using FM7 /Pro53 /B4 from Native Instruments and selecting all channels works fine.
b) Fret switches creates some additional notes on the same channel as the string
Change velocity response curves to suppress this or filter all notes with velocity = 10.
c) A lot of notes are on at the same time, consuming process power
2.3 Mappings and more complicated work-around
1. Mapping of note data
Works by mapping fret switches notes with vv=10 to vv=0
Easy to create with MidiConverter.
2. Mapping of Sys Data from switches to note on/off
Works great, because you can play with the left hand alone, but the open strings are missing, because these have no fret switches. Tapping and other polyphonic tricks are possible. This mode is mentioned in threads of different internet pages. Easy to create with MidiConverter.
3. Java Environment (TenCrazy.com Yamaha EZ-Guitar Environment)
A lot of different mappings controlled by the control “sound select” switch of the EZ-AG, bending of EZ-EG supported.
2.4 Real guitar function (preliminary with implementation details)
The function should be the same or nearly the same as a normal guitar. Implementation will have a ordered list of frets switches for each string and some timer action for energy calculations. All events from switches and strings will be managed according the above described model.

florian

2005-09-06 18:58:46

Hi,

(sorry for the late reply, we closed for summer vacation). I get a clearer picture now. Some of the more advanced mappings are not possible yet with MT but should be when the prgrammability becomes available.

Keep us posted if you find out more.

Thanks and Regards,
Florian

florian

2006-11-16 20:03:07

Hi,

a beta version of Midi Translator Pro is available now, providing Rules (operations on variables, IF THEN constructs), and timed execution of Translators.

Have you tried if it will work for you?

Florian