mungewell / zoom-zt2

Python script to install/remove effects from the Zoom G1Four pedal
MIT License
50 stars 10 forks source link

B1On testing - FX m Param N setvalue == F0 52 00 65 31 ${hexFX} ${hexParam} ${hexValueLow} ${hexValueHigh} F7 #22

Open shooking opened 3 years ago

shooking commented 3 years ago

Hi all

So I really wanted the Particles reverb and from what I understand this cannot be loaded onto a B1X Four or G1X Four, so I found a 2nd hand B1ON and it has the particles .. nice. £40 second hand and on a par with the Black Country Customs The Secret Path ... but that was £122.

Anyhow I have started to check the Sysex for B1ON v other pedals.

Firstly the identity string is 65 rather than 6E for B1XFour.

# FXM_PN
How to control Mth FX's parameter.
Script maps them into User space ie FX1 ... N rather than Midi 0 ... N - 1.
pi@raspberrypi:~/Software/ZoomPedalB1ON $ !more
more FXM_PN.sh 
#!/bin/bash
export MIDI_DEV=`amidi -l | grep ZOOM | awk '{print $2}'`
#
# seems to also dump, sometimes, state of the effect?
# but not consistently - likely based on EditorOn
#
# expect FX Param value
# ie 1 1 10
#    2 3 20
theFX=$1
theParam=$2
theValue=$3
theFXMod=$(($theFX-1))
theParamMod=$(($theParam+1))
hexFX=`printf "%02x" $theFXMod`
hexParam=`printf "%02x" $theParamMod`
theVlow=$(($theValue & 127))
theVhigh=$(( ($theValue / 128) & 127 ))
hexValueLow=`printf "%02x" $theVlow`
hexValueHigh=`printf "%02x" $theVhigh`
echo $theValue
echo $hexValueLow
echo $hexValueHigh

probeString="F0 52 00 65 31 ${hexFX} ${hexParam} ${hexValueLow} ${hexValueHigh} 
F7"
echo ${probeString}
theFile=temp.$$
amidi -p ${MIDI_DEV} -S ${probeString} -r ${theFile} -t 1 ; hexdump -C ${theFile
}; rm ${theFile}

Seems to work.

pi@raspberrypi:~/Software/ZoomPedalB1ON $ ./FXM_PN.sh 2 1 21
21
15
00
F0 52 00 65 31 01 02 15 00 F7

0 bytes read