Commit graph

276 commits

Author SHA1 Message Date
Johan Berglund
b80f9247a2 Added compile option to include a MPR121 board adress scanning function for troubleshooting (MENU button at startup). Changed the destination setup for bite and lever to be less confusing and more powerful (custom CCs now possible). The VIB CTL item in the VIBRATO menu is now removed, and in SETUP CTL menu you will find BITE CTL, BITE CC, LEVER CTL and LEVER CC.
BITE CTL and LEVER CTL can both be set to any of these destinations:
	OFF - no destination active for this controller
	VIB - vibrato
	GLD - glide/portamento (defined by GLIDE MOD and GLIDE LMT settings)
	CC  - custom CC output (defined in GLIDE CC and LEVER CC settings)

Settings in GLIDE CC and LEVER CC are only used when corresponding control is set to CC in its CTL setting as described above.
2020-09-04 11:32:40 +02:00
Johan Berglund
c2d429c3f7 * AUTOCAL is available for each ADJUST menu page. With cursor on THR or MAX bar, press UP and DOWN buttons at the same time (and keep off the sensors being calibrated). AUTOCAL will be displayed for two seconds, then updated settings will be shown.
[removed for now - needs work] * Experimental breath controlled harmonic series (BRTH HARM and BR HM SEL settings). Like the lip sensor harmonics function, this shifts the fingered note up the harmonic series. For improved switching speed, try turning down the key deglitch time. (If this function is to be kept, I will probably need to tweak it quite a bit. Tongueing into higher notes and releasing them does not work well currently.)
2020-08-21 07:49:36 +02:00
Johan Berglund
ee438c200d * Adjustment setting for thumb lever (for optimizing thumb portamento control). By setting THR (level of push force to activate) and MAX (level of push force to achieve maximum set portamento) values close to eachother at the desired point of activation, the new glide limit setting to desired rate will create a switching type set rate controller (similar to Crumar EVI glide key). With THR and MAX setup with separation to taste, a continous control up to level set by glide limit is achieved.
* Glide setting SWO, SWitching Only, sending only Glide on/off (CC#65) for use with synths where glide rate CC#5 is used in non standard ways, for example some DSI/Sequential synths like the Prophet REV2 or Prophet 12 where glide rates are set individually for each oscillator.

* Glide limit setting for portamento. Doubles as setting for portamento level sent using pinky key/mod key in GLD mode. (Can be changed both in menu and in GLD mode.)

* Setting of level for LVL, LVP and GLD now reqires touching both pinky/mod and third trill/RHp3 for setting mode activation, this to avoid accidental change of setting when pinky/mod key is touched.

* Rate of setting movement up and down for LVL, LVP and GLD has been adjusted. Became very much too fast after the timing issues were solved in 1.5b1

* A short delay before note offs in legato transitions is added to make playback of recorded midi behave correctly (keeping note on and note off from being registered on the same timestamp).
2020-08-19 23:07:38 +02:00
Johan Berglund
51f5ab54f6 Added automatic sensor calibration performed at factory reset. Changed some default values for settings. 2020-07-23 13:41:13 +02:00
Johan Berglund
1f2fff8b47 Updated readme with instructions for editing display library. 2020-07-22 14:06:01 +02:00
Johan Berglund
b9a8742fc1 NuEVI and NuRAD: Timing and speed issue solved - SSD1306 display library needed editing to prevent it from lowering I2C bus speed. Added setting to enable/disable the on the fly key switching. NuRAD: Changed touch sensor reading equalisation from offset to multiplier to improve coherence of readings. 2020-07-22 13:24:56 +02:00
Johan Berglund
cc188f2196 For NuRAD: Fix for SAX fingering (LH2+RH2 now plays Bb). Added Gate Hold functionality from NuEVI, using thumb folded in over R2 through R5 in place of the "doorknob" grip on the EVI. For NuRAD and NuEVI: New POLY PLAY functionality with a number of harmonizer settings and additional rotator setups. 2020-07-19 13:52:06 +02:00
Johan Berglund
c7c1825b62 Fix for SAX fingering and updated fingering chart (NuRAD). Experimental fingerings using rollers for harmonic series (NuEVI). LED indication for extra controller sensor and startup LED check and also fail check for MPR121 sensor boards (NuRAD). 2020-06-04 11:43:46 +02:00
Johan Berglund
e68a66db84 Quick fix... octave setting missing from fingered note calculation for NuRAD 2020-05-17 17:08:22 +02:00
Johan Berglund
5791cbbe39 New version documentation. 2020-04-27 11:21:36 +02:00
Johan Berglund
9a2e6b002f Added battery type setting and detailed battery info in ABOUT menu (support for NiMH and LiPo batteries). Added lip sensor activated harmonic series, with settings for range and series type. Added NuRAD overview drawing. Changes to CC lables (from 1 & 2 to A & B). 2020-04-27 11:19:08 +02:00
Johan Berglund
85028a3627 Added hex files, user guides and fingering charts. 2020-03-24 14:00:44 +01:00
Johan Berglund
0f65c0d3d8 Added fingerings for NuRAD - SAX, EVI, EVR and EWX. Added setting for extra pinky key (NuRAD). Fix for quickpatch function (NuEVI/NuRAD). Rotator menu moved to main menu (NuEVI/NuRAD). Activation of legacy patch selection and settings now only done in extras menu. Changed zero setting in rotator to set rotators off and move on to next one (you can now rotate between 2-4 notes or set to static chord or interval). Changed order of some menu items. 2020-03-17 13:31:34 +01:00
Johan Berglund
7eccf7eeec New settings for better portamento performance on Roland SE-02. SEL for switching between OFF and LIN, SEE for switching between OFF and EXP. 2020-02-24 18:27:06 +01:00
John Stäck
6183f0faee Test tool for MPR121 modules. 2019-12-23 00:41:15 +01:00
Johan Berglund
4decdf1d72 Now it's also NuRAD firmware! Set define for compile option NURAD in hardware.h to switch. Added a new little thing for NuEVI too: releasing the rollers leaves octave in current one instead of going to bottom octave unless coming down from first roller. This is helpful against bass hum from filter leak when setting the EVI aside, using pitch CV from NuEVI and synth with no VCA in use or gate open (drone mode). 2019-12-11 16:12:01 +01:00
Johan Berglund
03fc99f2b5 New hex file with 1.4.3 version and corresponding user guide. 2019-10-29 13:15:46 +01:00
Johan Berglund
858bcb359e Hopefully I've managed to get all the legacy control stuff right this time. 2019-10-23 19:21:37 +02:00
Johan Berglund
bf125a3dd6 Fix to get the new pitchlatched patch change the same values as the other legacy ones. 2019-10-22 20:07:30 +02:00
Johan Berglund
32981cb992 Fix for negative breath activated controls. 2019-10-22 19:33:08 +02:00
Johan Berglund
8c1a7444c6 Changed LVL/GLD controls to K6 (increase) and K5 (decrease) to lessen risk of accidental change. LED indicator fix for pinky portamento. 2019-10-20 15:59:50 +02:00
Johan Berglund
58d7584f87 Added static glide/portamento control as pinky key setting. Use LEVEL control to set glide time. 2019-10-20 14:16:10 +02:00
Johan Berglund
053b954936 Added new dual trill functionality (contribution from Nyle) for third trill key allowing it to do both 3 semitones up and 4 semitones up. The alternate value is triggered by touching K3 and K7 (third trill key) at the same time. Third trill setting decides which interval is the standard "non-combo" one. Inspired by this combo thing, I also added an alternate way of doing lecacy style direct patch selection. Latch a note value using pinky key, then touch K1/K5 combo to send program change to that note value, or K2/K6 combo to send high and low numbers (108 to 127 and 0 to 36). 2019-10-20 12:25:24 +02:00
John Stäck
e7a944b9d1
Merge pull request #33 from Trasselfrisyr/miscfix
Miscfix
2019-10-17 00:02:54 +02:00
John Stäck
049cb6d434 Avoid floating-point math for vibrato calculations 2019-10-16 15:54:11 +02:00
John Stäck
cb7a4a8b88 No need for volatile copies of these variables. 2019-10-16 15:49:52 +02:00
John Stäck
0cbb6bde78 Explicitly initialize variables, use "bool-specific" values when setting. 2019-10-16 15:30:49 +02:00
John Stäck
7c1aa2c0a4 touchValue never used here, no point in reading touch data. 2019-10-16 15:28:23 +02:00
John Stäck
f36129d4bb Make IntervalTimer stub so simulator works 2019-10-16 15:28:01 +02:00
John Stäck
88b38b3f46 Remove trailing whitespace 2019-10-16 15:07:10 +02:00
Johan Berglund
cd91e6eece Found culprit in long lags issue in doorKnobCheck function. Reading keys again for that was not very clever... Fixed! Still want some more speed for main loop though. Now getting 6-7 ms. Had 5 ms back in 1.3.5 release. Removed scaling/curve for DAC and PWM DAC CV output. Instead made them FAST using timed interrupts. Now updates every 500 microseconds, allowing for audio rate modulation of CV on these outputs by humming into mouthpiece, just like with direct analog CV from sensor. 2019-10-15 16:43:54 +02:00
Johan Berglund
fee9e04ad6 Timing and breath CC rate improvements. 2019-10-09 09:15:15 +02:00
Johan Berglund
1ef20652cc Added latest NuEVI schematic, board and gerber files. 2019-09-17 09:07:28 +02:00
Johan Berglund
7449b04725 Send extra controller CC2 even if CC1 is off. 2019-09-12 18:47:56 +02:00
Johan Berglund
a141434952 Octave setting had stopped working. Corrected. 2019-09-11 07:25:38 +02:00
John Stäck
fa3f8e8eba Make Simulator Work Again 2019-08-26 16:17:04 +02:00
John Stäck
dcd4862616
Merge pull request #32 from Trasselfrisyr/sysex
Config management mode
2019-08-26 16:10:15 +02:00
John Stäck
75ee097857
Merge branch 'master' into sysex 2019-08-26 16:09:32 +02:00
Johan Berglund
bab51190e1 Fix for bite vibrato sensitivity. Added increased range of sensitivity settings. Added possibility to use both bite and lever for vibrato at the same time. Separate timing interval for breath (trying to get speed up again). Moved Teensy touch sense calls for pinky key and special key to function less often called (every standard CC interval). Changed menu name VEL BIAS to VEL BOOST which is a more accurate description. 2019-08-25 12:38:02 +02:00
Johan Berglund
8ad8803c57 Added AT (aftertouch) instead of OFF for Level control. 2019-08-21 18:33:09 +02:00
Johan Berglund
d5506ff2b9 Added secondary CC for extra controller and a Level CC control (stored), both with new settings for pinky key. New pinky settings: "EC2" sends on/off (127/0) for extra ctr CC2. "ECS" uses pinky key as switch between sending primary and secondary CC with extra controller. "LVL" lights up breath and portamento LEDs to indicate level (breath LED on full is max level, portamento LED full is min level), and level can be adjusted with K5 (up) and K1 (down). "LVP" is the same as "LVL", but with stored level transmitted at power up. 2019-08-21 08:44:22 +02:00
Johan Berglund
fcf3bf2e17 Adjust bite vibrato sensitivity range. 2019-08-20 09:19:52 +02:00
John Stäck
11cdbc4ec3 Simulator: Print out full sysex message, with very clever line ending 2019-08-15 08:05:27 +02:00
John Stäck
9e76cfbdde Upper bound on length of version string for sysex message 2019-08-15 08:04:41 +02:00
John Stäck
660d6583b3 Rename midi value conversion functions to something that possibly makes more sense 2019-08-15 08:04:14 +02:00
John Stäck
186be9ceb6 Proper bounds for breath cc value 2019-08-15 07:53:04 +02:00
John Stäck
fc36e5939b Add "magic" CRC value that skips verification (for testing purposes) 2019-08-09 08:19:02 +02:00
John Stäck
e264b01dfd Use wiring.h with proper case, so building hopefully works on Linux 2019-08-07 17:36:41 +02:00
John Stäck
4dbca53871 Add functionality to use files as MIDI data to send to simulated device 2019-08-05 14:11:25 +02:00
John Stäck
3b405adebb Add example files for sysex commands 2019-08-05 14:10:41 +02:00