Bad Handshake Electronics deMIDulator v1.10 User Manual

deMIDulator v1.10 User Guide
(3K wordCount Version)
revision 1.00
deMIDulator v1.10 User Guide – document version 1.00 Page 1/17
Bad Handshake Electronics 2011
Table of Contents
Revision History..........................................................................................................................3
License........................................................................................................................................3
Purpose.......................................................................................................................................3
Overview of PCB Controls (top view)..........................................................................................4
Power-Up State...........................................................................................................................5
Volume and Low-Pass Filter Cutoff Frequency Controls............................................................5
Waveform Mode Summary.........................................................................................................5
Waveform Mode Selection..........................................................................................................6
Playback Mode Summary...........................................................................................................7
Playback Mode Selection............................................................................................................8
Recording a Sample / Audio Loop-Through Mode......................................................................9
Sample Mode Playback Triggering...........................................................................................10
Audio Input Sources..................................................................................................................11
Other MIDI Implementation Details...........................................................................................12
Updating The Firmware Using MIDI..........................................................................................13
MIDI Implementation Chart.......................................................................................................14
deMIDulator v1.10 User Guide – document version 1.00 Page 2/17
Bad Handshake Electronics 2011
Revision Date Revised By Summary
1.00 20110909 DE First Release
License
All content in this document is released under the following Creative Commons license:
Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)
You are free:
to Share - to copy, distribute and transmit the work
to Remix - to adapt the work
Under the following conditions:
Attribution - You must attribute the work in the manner specified by the author or licensor (but not in
any way that suggests that they endorse you or your use of the work).
Noncommercial - You may not use this work for commercial purposes.
Share Alike - If you alter, transform, or build upon this work, you may distribute the resulting work only
under the same or similar license to this one.
Full license details can be found at:
http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode
Purpose
This document provides instructions for operating and interfacing with the deMIDulator v1.10
deMIDulator v1.10 User Guide – document version 1.00 Page 3/17
Bad Handshake Electronics 2011
******************************************************************************************* Thank you for making the deMIDulator part of your sound generating arsenal!
*******************************************************************************************
This document will provide the information you need to successfully operate your v1.10 deMIDulator.
Overview of PCB Controls (top view)
deMIDulator v1.10 User Guide – document version 1.00 Page 4/17
Bad Handshake Electronics 2011
Power-Up State
The deMIDulator on power-up will be in the Polyphonic Sine Wave mode. The Sine wave LED will be steadily illuminated to indicate this mode.
Volume and Low-Pass Filter Cutoff Frequency Controls
These controls are located next to the MIDI input jack and are adjusted as shown below.
Note: The deMIDulator's output volume can get very loud so make sure that the volume control is set to a low setting before turning the deMIDulator on.
Waveform Mode Summary
The deMIDulator has three waveform output modes: Sine wave, Square wave and Sample.
[Sine wave mode]
In this mode, the oscillator output will be in the shape of a sine wave which produces a soft and smooth sounding tone. When this waveform is selected, the indicator LEDs will appear as follows:
deMIDulator v1.10 User Guide – document version 1.00 Page 5/17
Bad Handshake Electronics 2011
Waveform Mode Summary Continued...
[Square wave mode]
In this mode, the oscillator output will be in the shape of a square wave which produces a harsh and electronic sounding tone. When this waveform is selected, the indicator LEDs will appear as follows:
[Sample mode]
In this mode the oscillators are disabled. Instead, a previously recorded audio sample is read from the onboard EEPROM memory and used as the output tone. This mode allows you to customize your sound to whatever you like. See sectionsRecording a Sample / Audio Loop-Through Mode” for more information. When this waveform is selected, the indicator LEDs will appear as follows:
Waveform Mode Selection
The waveform mode can be changed using either the deMIDulator's “Waveform Select” button or MIDI Program Change messages. While the “Waveform Select” button can only cycle the waveform mode in the direction of SineSquareSampleSine, MIDI Program Change can be used to cycle in either direction.
When a MIDI Program Change message is received with a program value <= 3
The deMIDulator will assign the waveform mode as follows:
Program Value Waveform
1 Sine
2 Square
3 Sample
When a MIDI Program Change message is received with a program value > 3
The deMIDulator compares the requested Program Change value against the most recently received Program Change value. If the current requested value is greater than the previous(Program Increment), then the waveform mode will cycle identically to the
“Waveform Select” button. If the requested value is less than the previous (Program Decrement), then the waveform mode will cycle in the direction of SineSampleSquareSine which is opposite the direction when using the “Waveform
Select” button.
deMIDulator v1.10 User Guide – document version 1.00 Page 6/17
Bad Handshake Electronics 2011
Playback Mode Summary
The deMIDulator has three playback modes: Polyphonic, Sustain and Monophonic.
Aside from controlling playback behavior, this setting will also affect how the currently active waveform(Sine, Square or Sample) LED behaves. The diagrams in section “Waveform Mode Summary” illustrate that in normal playback mode, only one LED is illuminated at any time to indicate the current waveform mode. To indicate which Playback Mode is active, the currently illuminated waveform LED will either Glow Steadily, Blink Slowly or Blink Quickly. These behaviors are assigned as stated below.
[Polyphonic]
When in this mode:
The currently active waveform LED will Glow Steadily
Up to 4 MIDI notes may be played simultaneously
Modulation & Pitch values may be changed
Amplitude Attack / Release time envelopes are enabled
[Sustain]
When in this mode:
The currently active waveform LED will Blink Slowly
Up to 4 MIDI notes may be played simultaneously
Modulation & Pitch values are ignored
Amplitude Attack / Release time envelopes are enabled
Sustain mode is unique from the others in that certain characteristics become frozen when you enter this mode. These characteristics are: active MIDI notes, MIDI Pitch Wheel value and MIDI Modulation value.
This means that you can, for example:
1. Enter Polyphonic mode
2. Play a three-note chord on a MIDI keyboard
3. Optionally modify Pitch Wheel and/or Modulation values
4. Enter Sustain mode
5. Lift your fingers off of the keys
6. The notes will continue to play and be modified by whatever Pitch and Modulation values were active when Sustain Mode was entered
Note that Sustain mode is a polyphonic mode which means that 4 oscillators are available to play with. If you were holding <4 notes when entering Sustain mode then you will have (4 ­numberOfNotesYouWereHolding) oscillators to play with while the frozen notes continue to play.
deMIDulator v1.10 User Guide – document version 1.00 Page 7/17
Bad Handshake Electronics 2011
Playback Mode Summary Continued...
For advanced users: Unlike MIDI Note On/Off messages, the deMIDulator basically ignores all incoming Pitch and Mod information while in Sustain mode. Entering this mode then allows you to freeze a set of Pitch and Mod values. Say you want to set a persistent pitch bend and you don't want to hold your spring-loaded pitch wheel in place the entire time; with no MIDI notes active, simply adjust the Pitch Wheel to where you want it, enter Sustain Mode then release the Pitch Wheel back to center. Because the deMIDulator is ignoring Pitch information in this mode, it's not going to realize that the Pitch Wheel value has changed even after you've exited Sustain mode. You can re-center the Pitch value by selecting a mode that doesn't ignore Pitch information (Polyphonic or Monophonic) and then bending and releasing the Pitch Wheel. The reason you need to bend and release the Pitch Wheel is because your MIDI controller likely only sends Pitch information when the wheel value changes, so you need to change it then let it fall back to center so the deMIDulator will receive the centered value.
MIDI Modulation values are locked in exactly the same way as Pitch Wheel when entering Sustain mode.
[Monophonic]
When in this mode:
The currently active waveform LED will Blink Quickly
Only 1 MIDI note may be played at a time
Modulation & Pitch values may be changed
Amplitude Attack / Release time envelopes are disabled
In this mode the deMIDulator keeps track of all currently active notes but limits the notes that you can hear to only the most recent one that you played. This can be demonstrated by selecting Monophonic mode, playing and holding a chord on a MIDI keyboard and then selecting Polyphonic mode without releasing the chord. Though the chord only produced sound from a single note in Monophonic mode, the full chord is heard when switching to Polyphonic. Attack and Release amplitude envelopes are disabled in this mode, meaning that all notes will turn on and off, to and from full-amplitude, immediately as you activate and deactivate them.
Playback Mode Selection
The playback mode can be changed using a few different methods.
Pressing the deMIDulator's “Mode Select” button will cycle the playback mode in the direction of:
PolyphonicSustainMonophonicPolyphonic
Additionally, the following MIDI Control Change messages can be used to enter/exit Sustain and Polyphonic/Monophonic modes.
A MIDI Sustain Pedal On (CC, Controller #64, Value >=64) message will cause the following playback mode change:
AnyModeSustain
deMIDulator v1.10 User Guide – document version 1.00 Page 8/17
Bad Handshake Electronics 2011
Playback Mode Selection Continued...
A MIDI Sustain Pedal Off (CC, Controller #64, Value <=63) message will cause the following playback mode change:
SustainPolyphonic
A MIDI Poly Mode Off (CC, Controller #126) message will cause the following playback mode change:
AnyModeMonophonic
A MIDI Poly Mode On (CC, Controller #127) message will cause the following playback mode change:
AnyModePolyphonic
Recording a Sample / Audio Loop-Through Mode
Recording a sample and audio loop-through is accomplished using the deMIDulator's “Sample Record” button.
Pressing and holding this button in any mode will cause:
all of the waveform LEDs to illuminate
the currently selected audio input source to be looped through the device to the headset jack
output
Note that MIDI input is still processed while audio loop-through is active.
After releasing this button in Sine and Square modes:
previous LED function will resume
audio loop-through will stop
normal playback function will resume
After releasing this button in Sample mode:
the deMIDulator will begin to record and save an audio sample from the selected audio input source
all three waveform LEDs will remain illuminated while the sample is being recorded
audio loop-through will remain active for the duration of the recording
the recording can be cancelled by either waiting for the maximum sample time to elapse or by
sending the deMIDulator a MIDI Note On message. This allows you to customize the length of your sample. Sending a MIDI Note On to cancel the recording will also cause the sample to begin to play back immediately.
deMIDulator v1.10 User Guide – document version 1.00 Page 9/17
Bad Handshake Electronics 2011
Sample Mode Playback Triggering
Sample mode playback is a bit more nuanced than the other modes. In Sine and Square modes, the waveform sample is very short and loops continuously at such a rate that your ears can't tell when the waveform is restarting from the beginning. It sounds solid.
This will not usually be the case during Sample mode playback since most of the samples you record will have a distinct beginning and end. In describing the different sample playback behaviors, I use the word “re-trigger” to mean that the sample has restarted playback from its beginning.
For example: if your sampled phrase is, “I'm just here to buy some bandages” and you kept re­triggering the sample after the word “here”, the phrase would then sound like, “I'm just here I'm just here I'm just here I'm just here I'm just here I'm just here I'm just here”. You get it.
Sample re-triggering is only active in Polyphonic mode. When in this mode, any received Note On message will cause all currently playing samples to restart from their beginning. This is very
useful for re-triggering vocal phrases or general playback synchronization.
In Sustain mode, a sample will only be re-triggered when a Note Off then Note On message sequence is received for its corresponding note number.
In Monophonic mode, a sample will only be re-triggered when a Note Off then Note On message sequence is received, only if the Note Off message resulted in silencing the audio output.
These behaviors will make much more sense once you start working with Sample mode playback.
deMIDulator v1.10 User Guide – document version 1.00 Page 10/17
Bad Handshake Electronics 2011
Audio Input Sources
The deMIDulator accepts two types of audio input for sample recording: microphone and line-level. The below image illustrates the audio input locations and source selection controls:
Aside from accepting a standard 3-conductor stereo headphone plug for audio output, the headset jack also accepts a 4-conductor headset (stereo audio + microphone) plug with the following pinout:
Pin Number Pin Name Description
1 Tip Left Audio
2 Ring Right Audio
3 Ring Common/Ground
4 Sleeve Microphone
deMIDulator v1.10 User Guide – document version 1.00 Page 11/17
Bad Handshake Electronics 2011
Audio Input Sources continued...
The deMIDulator headset jack input expects an Electret-type microphone similar to that found in the iPhone earbuds headset.
For advanced users: The Electret MIC bias is set by R23/R24. You can change the value of this component or remove it entirely based on your microphone input needs. Note that this will affect input from both the on-board PCB mic and the headset jack mic.
Other MIDI Implementation Details
Pitch Wheel
The deMIDulator currently implements Pitch Wheel in a mostly uncontrollable and unusable way. It does however serve to create some interesting sounds.
In Sine and Square modes: Pitch Wheel Up and Down causes the pitch of the note output to bend wildly in the respective direction. You'll notice that sometimes the bend will exceed the upper or lower note boundary and will seem to reverse the bend direction. It's interesting.
In Sample mode: Pitch Wheel Up will cause the sample playback rate to increase. Pitch Bend Down will slow the sample for a short range but bending further will cause the sample to halt playback. Releasing the Pitch Wheel back to center after the sample has halted will cause the sample to resume payback from the beginning of the sample. This allows you to precisely halt and re-trigger the sample.
Modulation
In Sine and Square modes: increasing the Modulation value introduces a proportional amount of distortion which is the result of simple hardware trickery. Sometimes abandoning science yields pleasing results.
In Sample mode: the modulation value serves only to control the playback direction of the sample. A modulation value <64 will cause the sample to play back in the same direction
as it was recorded. A modulation value >=64 will cause the sample to play back in the opposite direction of which it was recorded.
Note that changing the direction in mid-sample playback will only cause the remainder of the sample or a subsection of the sample to play back in reverse while the sample continues to play from beginning to end. Explaining this is confusing but you'll understand once you play with it. This allows you to create interesting effects without losing the timing and cadence of the original sample.
Attack / Release
In Polyphonic and Sustain modes for all waveforms, the deMIDulator supports MIDI Control Change Controller #s 73 (Sound Controller 4 – Attack Time) and 72 (Sound Controller 3 – Release Time). Attack Time controls how fast the note sound transitions from completely silent to full volume when a Note On message is received. Release Time controls how fast the note sound transitions from full volume to completely silent when a Note Off message is received. Attack Time == 127 and note will never sound, Release Time == 127 and note will never turn off.
deMIDulator v1.10 User Guide – document version 1.00 Page 12/17
Bad Handshake Electronics 2011
Updating The Firmware Using MIDI
The deMIDulator includes a bootloader application called “mootLoader” that allows you read and write your device's firmware via MIDI SysEx messages.
Reading the firmware
In order to make the process of converting your deMIDulator's firmware into MIDI SysEx as simple as possible, the mootLoader has the ability to read your device's firmware, convert it to a series of MIDI SysEx messages and send it to your deMIDulator's MIDI output jack. The format of the output is such that you can route it directly to another deMIDulator's MIDI input jack for direct firmware cloning. You can also record the sequence of MIDI SysEx messages using a USB MIDI adaptor and suitable computer application (eg. MIDI-OX for Windows, SysEx Librarian for Mac OS X). This data can then be saved and shared with other deMIDulator users who would simply reverse the process by using a USB MIDI adaptor and suitable computer application to play back the file into their deMIDulator's MIDI input jack.
Pressing the Record and Mode buttons while turning on the deMIDulator and holding these buttons for approximately 2 seconds will enable the mootLoader transmitter mode. The Square and Sample LEDs will illuminate to indicate that the transmitter mode is active and SysEx messages will immediately begin transmitting via the MIDI output port.
See document, “mootLoaderTransmitterSpecification_v1_10” for more details.
Writing the firmware
Writing your deMIDulator's firmware requires the mootLoader receiver mode to be active and properly formatted and timed SysEx messages to be sent to the MIDI input port. The SysEx data will likely have originated from a deMIDulator in mootLoader transmit mode, either in real­time or previously recorded using a PC. If playing the data back using a PC, it is imperative that a delay of 8mS follow each End of SysEx (0xF7) byte to allow the receiving deMIDulator enough time to complete each write cycle.
Pressing the Waveform Select and Sample Record buttons while turning on the deMIDulator and holding these buttons for approximately 2 seconds will enable the mootLoader receiver mode. The Sine and Square LEDs will illuminate to indicate that the receiver mode is active. The deMIDulator will remain idle in this state until a properly formatted SysEx message is received via the MIDI input jack. The LEDs will flash quickly during the firmware write and the device will restart to its power-on state once the write is successful.
An unsuccessful write will be indicated by a single blinking LED. If this occurs, turn off the deMIDulator and try again.
See document, “mootLoaderReceiverSpecification_v1_10” for more details.
deMIDulator v1.10 User Guide – document version 1.00 Page 13/17
Bad Handshake Electronics 2011
MIDI Implementation Chart
deMIDulator v1.10 User Guide – document version 1.00 Page 14/17
Bad Handshake Electronics 2011
MIDI Implementation Chart (Page 1 of 3)
Manufacturer: Bad Handshake Electronics Model: deMIDulator Version: 1.00 Date:
Transmit / Export Recognize / Import Remarks
1. Basic Information
MIDI channels
- 0 – 15 Responds to all channels, forwards all input to MIDI output
Note numbers
- 0 – 127
Program change
- 0 – 127
Bank Select response? (Yes/No) If yes, list banks utilized in remarks column
- no
Modes supported : Mode 1: Omni-On, Poly (Yes/No)
- no
Mode 2: Omni-On, Mono (Ye s/No)
- no
Mode 3: Omni-Off, Poly (Yes/No)
- no
Mode 4: Omni-Off, Mono (Yes/No)
- no
Multi Mode (Yes/No)
- no
Note-On Velocity (Yes/No)
- no
Note-Off Velocity (Yes/No)
- no
Channel Aftertouch (Yes/No)
- no
Poly (Key) Aftertouch (Yes/No)
- no
Pitch Bend (Yes/No)
- yes
Active Sensing (Yes/No)
- no
System Reset (Yes/No)
- yes
Tune Request (Yes/No)
- no
Universal System Exclusive: Sample Dump Standard (Yes/No)
- no
Device Inquiry (Yes/No)
- no
File Dump (Yes/No)
- no
MIDI Tuning (Ye s/No)
- no
Master Volume (Yes/No)
- no
Master Balance (Ye s/No)
- no
Notation Information (Ye s/No)
- no
Turn GM1 System On (Yes/No)
- no
Turn GM2 System On (Yes/No)
- no
Turn GM System Off (Yes/No)
- no
DLS-1 (Yes/No)
- no
File Reference (Yes/No)
- no
Controller Destination (Yes/No)
- no
Key-based Instrument Ctrl (Yes/No)
- no
Master Fine/Coarse Tune (Yes/No)
- no
Other Universal System Exclusive
- no
Manufacturer or Non-Commercial System Exclusive
- yes
NRPNs (Yes/No)
- no
RPN 00 (Pitch Bend Sensitivity) (Yes/No)
- no
RPN 01 (Channel Fine Tune) (Yes/No)
- no
RPN 02 (Channel Coarse Tune) (Ye s/No)
- no
RPN 03 (Tuning Program Select) (Yes/No)
- no
RPN 04 (Tuning Bank Select) (Yes/No)
- no
RPN 05 (Modulation Depth Range) (Yes/No)
- no
2. MIDI Timing and Synchronization
MIDI Clock (Yes/No)
- no
Song Position Pointer (Yes/No)
- no
Song Select (Ye s/No)
- no
Start (Yes/No)
- no
Continue (Yes/No)
- no
Stop (Yes/No)
- no
MIDI Time Code (Yes/No)
- no
MIDI Machine Control (Yes/No)
- no
MIDI Show Control (Yes/No)
- no
If yes, MSC Level supported
- no
3. Extensions Compatibility
General MIDI compatible? (Level(s)/No)
- no
Is GM default power-up mode? (Level/No)
- no
DLS compatible? (Levels(s)/No)
- no
(DLS File Type(s)/No)
- no
Standard MIDI Files (Type(s)/No)
- no
XMF Files (Type(s)/No)
- no
SP-MIDI compatible? (Yes/No)
- no
0,1,2 hardcoded to Sine, Square, Sample. 3 – 127 cycle waveform selection relative to program value increase/decrease.
deMIDulator v1.10 User Guide – document version 1.00 Page 15/17
Bad Handshake Electronics 2011
MIDI Implementation Chart (Page 2 of 3)
Manufacturer: Harmonix Music Systems, Inc.
Bad Handshake Electronics
Model: deMIDulator Version: 1.00 Date:
Control # Function Transmitted (Y/N) Recognized (Y/N) Remarks
0 Bank Select (MSB) - no 1 Modulation Wheel (MSB) - yes 2 Breath Controller (MSB) - no 3 - no 4 Foot Controller (MSB) - no 5 Foot Controller (MSB) - no 6 Data Entry (MSB) - no 7 Channel Volume (MSB) - no 8 Balance (MSB) - no
9 - no 10 Pan (MSB) - no 11 Expression (MSB) - no 12 Effect Control 1 (MSB) - no 13 Effect Control 2 (MSB) - no 14 - no 15 - no 16 General Purpose Controller 1 (MSB) - no 17 General Purpose Controller 2 (MSB) - no 18 General Purpose Controller 3 (MSB) - no 19 General Purpose Controller 4 (MSB) - no 20 - no 21 - no 22 - no 23 - no 24 - no 25 - no 26 - no 27 - no 28 - no 29 - no 30 - no 31 - no 32 Bank Select (LSB) - no 33 Modulation Wheel (LSB) - no 34 Breath Controller (LSB) - no 35 - no 36 Foot Controller (LSB) - no 37 Portamento Time (LSB) - no 38 Data Entry (LSB) - no 39 Channel Volume (LSB) - no 40 Balance (LSB) - no 41 - no 42 Pan (LSB) - no 43 Expression (LSB) - no 44 Effect Control 1 (LSB) - no 45 Effect Control 2 (LSB) - no 46 - no 47 - no 48 General Purpose Controller 1 (LSB) - no 49 General Purpose Controller 2 (LSB) - no 50 General Purpose Controller 3 (LSB) - no 51 General Purpose Controller 4 (LSB) - no 52 - no ` 53 - no 54 - no 55 - no 56 - no 57 - no 58 - no 59 - no 60 - no 61 - no 62 - no 63 - no
deMIDulator v1.10 User Guide – document version 1.00 Page 16/17
Bad Handshake Electronics 2011
MIDI Implementation Chart (Page 3 of 3)
Manufacturer: Harmonix Music Systems, Inc.
Bad Handshake Electronics
Model: deMIDulator Version: 1.00 Date:
Control # Function Transmitted (Y/N) Recognized (Y/N) Remarks
64 Sustain Pedal - yes 65 Portamento On/Off - no 66 Sostenuto - no 67 Soft Pedal - no 68 Legato Footswitch - no 69 Hold 2 - no 70 Sound Controller 1 (default: Sound Variation) - no 71 Sound Controller 2 (default: Timbre / Harmonic Quality) - no 72 Sound Controller 3 (default: Release Time) - yes 73 Sound Controller 4 (default: Attack Time) - yes 74 Sound Controller 5 (default: Brightness) - no 75 Sound Controller 6 (GM2 default: Decay Time) - no 76 Sound Controller 7 (GM2 default: Vibrato Rate) - no 77 Sound Controller 8 (GM2 default: Vibrato Depth) - no 78 Sound Controller 9 (GM2 default: Vibrato Delay) - no 79 Sound Controller 10 (GM2 default: Undefined) - no 80 General Purpose Controller 5 - no 81 General Purpose Controller 6 - no 82 General Purpose Controller 7 - no 83 General Purpose Controller 8 - no 84 Portamento Control - no 85 - no 86 - no 87 - no 88 - no 89 - no 90 - no 91 Effects 1 Depth (default: Reverb Send) - no 92 Effects 2 Depth (default: Tremolo Depth) - no 93 Effects 3 Depth (default: Chorus Send) - no 94 Effects 4 Depth (default: Celeste [Detune] Depth) - no 95 Effects 5 Depth (default: Phaser Depth) - no 96 Data Increment - no 97 Data Decrement - no 98 Non-Registered Parameter Number (LSB) - no 99 Non-Registered Parameter Number(MSB) - no
100 Registered Parameter Number (LSB) - no 101 Registered Parameter Number(MSB) - no 102 - no 103 - no 104 - no 105 - no 106 - no 107 - no 108 - no 109 - no 110 - no 111 - no 112 - no 113 - no 114 - no 115 - no 116 - no 117 - no 118 - no 119 - no 120 All Sound Off - yes 121 Reset All Controllers - yes 122 Local Control On/Off - no 123 All Notes Off - yes 124 Omni Mode Off - no 125 Omni Mode On - no 126 Poly Mode Off - yes 127 Poly Mode On - yes
deMIDulator v1.10 User Guide – document version 1.00 Page 17/17
Bad Handshake Electronics 2011
Loading...