PEACOCK MIDISID User manual

Introduction 3
Powering MIDISID 3
Inputs, outputs and controls 4
Sockets 4
Controls 4
Stereo output 6
Reset button 6
The three modes 7
General MIDI mode 7
Polyphonic mode 8
Monophonic mode 8
MIDI Control change messages (CC) 9
Voice mapping 10
General MIDI mode 10
Polyphonic mode 10
Monophonic mode 10
Playing a .mid file and getting the most out of it 11
Preset instruments 12
Advanced SID settings 12
Ring modulation 12
Muting voice 3 13
The SwinSID Nano b 14
Other SID replacements or real SIDs? 14
Updating the firmware 15
Dismantling MIDISID 15
Troubleshooting 16
Appendices 17
Appendix A 17
The menu 17
Appendix B 18
Bring your own box 18
Appendix C 19
The list of General MIDI instruments 19
Appendix D 22
General MIDI Percussion (Channel 10) 22
Appendix E 23
MT-32 Instrument list 23
Appendix F 26
Control Change (CC) codes and values 26
Appendix G 28
Version control 28
Appendix Z 29
Planned features 29
2

!"#$%&'()%"*
Thank you for your interest in MIDISID. As its name suggests, it contains two modern SID
replacements and responds to MIDI.
I have long dreamed of multiple SIDs in a small device which can be driven by any MIDI input, or
play a .mid file, and have multiple rotational controls for the SID's parameters - ADSR, filter PWM
and so on.
The SID is the "Sound Interface Device" originally designed for the 1982 Commodore 64 home
computer. It has a distinctive sound and was clearly designed to stand alone as a 'synthesizer on a
chip'.
If you don't know or care for the history of the C64 or SID, then MIDISID is a MIDI-based 6-
oscillator synthesizer with a choice of 4 waveforms (plus combinations) per voice, ADSR envelope
per voice, one filter with resonance control per chip, modulations such as PWM, filter sweeps,
vibrato and advanced features such as waveform sync and ring modulation.
If you don't find the information you're looking for in this manual, I'll be very glad to discuss any
aspect. Find the contact form or register for email updates at https://peacockmedia.software/
midisid/
~ Shiela
+%,-$."/*0!1!2!1*
Power MIDISID with 9vDC via the barrel socket using a 5/2.1mm barrel jack. This needs to be
centre-negative as per the symbol above which may be marked on your supply. MIDISID will draw
around 100mA when fitted with two SwinSIDs, so make sure that your supply can safely deliver at
least that.
A lot of guitar pedals use this type of supply, so if you need to shop for a power supply then a
search for "guitar pedal power supply" may be a good starting point.
!
A 9v battery with the supplied battery clip -> barrel plug adaptor will work. (Rechargeable is good.)
This will get you started quickly and may be useful in situations where you aren't close to a mains
supply or don't have enough sockets. That may not be ideal for regular long-term use because
battery life is relatively short (your mileage may vary, but a typical 175mAH battery may last just
under 2 hours of continuous use) and the audio output will become noisier as the battery is used
and the voltage falls.
Because of possible ground-level differences, please connect the audio and MIDI cables first, and
the power last.
3

!"3'#45*%'#3'#4*6"&*(%"#$%74*
Sockets
MIDISID has four sockets at the rear (right-left):
•a barrel jack which will take a 9v centre-negative power supply. See Powering MIDISID
•a standard MIDI 5-pin DIN for midi in. Currently MIDISID only accepts MIDI via the good old-
fashioned 5-pin DIN. If your keyboard or other device uses midi over bluetooth or USB then use
a suitable adaptor. Generally with 5-pin DINs, the 'out' of one thing connects to the 'in' of another.
•a 3.5mm stereo jack socket for audio out.
•a micro USB. Used only for updating the firmware. (see Updating the firmware.) Does not
receive or send MIDI over USB. Don’t try to power the unit via the micro USB
Controls
It has four controls. These are rotary encoders with push buttons.
They aren’t labelled but if we imagine them named A - D:
A is the main navigation control. Turn left and right to scroll through a menu.
Push A to select, but note that at the deepest level of any menu (for example, selecting an
instrument) simply scrolling through the options is enough, no need to push A.
B is the secondary navigation control. It will scroll through longer menus faster. For example It’ll
scroll up or down through the list of instruments 8 at a time, which has the effect of moving from
one group of instruments to the next. (128 instruments, arranged in groups of eight, see Appendix
C). It acts as a 'coarse' control when adjusting tuning in cents.
Push B for ‘up’ or 'back'
C can sometimes be a 'supercoarse' control. For example when tuning, A will move one cent at a
time, B 8 cents and C a whole octave at a time.
Button D (when you are in Monophonic or Polyphonic mode) will invoke the save/load menu. You
can choose to save your current settings to one of 16 slots, or load previously-saved settings from
one of those slots.
See Appendix B for the full navigation menu"
4

Rotary controls and context
A
B
C
D
A D S R
Attack
Decay
Sustain
Release
PW / PWM
Pulse Width
Modulation speed
Modulation depth
toggle Reset
Filter
Filter type
Cutoff frequency
Resonance
Sweep
Off / time
Cutoff freq. start
Cutoff freq. end
Vib
Delay
Vibrato speed
Vibrato depth
Tuning
Fine, +/- 1 cent
Coarse, +/- 8 cents
+/- 1 octave
Ring/sync
toggles ring/sync
toggle mute voice 3
5

Stereo output
The two-SID version of MIDISID has a stereo output jack, which can give the illusion of stereo but
there's no mixing or panning. The 3 voices from one SID go to one channel and the 3 from the
other go to the other channel. (The voices on each chip are mixed within the SID). Depending on
the mode and voices used, this can sound pleasing, or odd, or sound as if all of the sound is
coming from one side. If you want to mix to mono, use a stereo-mono adaptor in the jack or mix
down to mono after recording.
If you're composing your own music, you can make an instrument appear on one side or the other
by putting it on channel 1-3 or 4-6 (or 4-5 if you're also using channel 10, which will be mapped to
voice 6)
Reset button
The reset button is on the bottom board, towards the front and to the right of centre.
(Early MIDISIDs left the button unpopulated, if this the case, a button was included with your
MIDISID. The button should snap into place and snap out again very easily and make good
connection while it's in place.)
It doesn't perform a hardware reset of the SIDs, but when the microcontroller is reset, the Pico sets
all SID registers to zero and then applies the default patch to the voices. If a harder reset is
required, cycle the power.!
The main reason for including a reset button is so that you can update the firmware. The Pico's
boot mode button is very difficult to access without dismantling the MIDISID. (See Updating the
firmware.)"
6

89-*#9$--*:%&-4*
General MIDI mode
Any MIDI player should allow you to choose the output. To connect your computer to MIDISID you
can use a USB MIDI interface or an audio interface that has traditional MIDI sockets.
MIDISID should render a midi file as well as possible within the limitations of the SID. In practice
some files will work better than others. Files that only use fewer channels and fewer notes at a time
per channel are more likely to sound best. For more complex files, you can edit the files in a DAW
to improve the results. There are now many examples of MIDISID playing .mid files at the Youtube
channel https://www.youtube.com/@MIDI_IN
For more details, see Playing a .mid file and getting the most out of it!
7

Polyphonic mode
Plug in a keyboard or other controller, switch to polyphonic mode and play with 6-voice polyphony.
Select from 128 preset sounds or access the SID's settings (wave, ADSR, PWM, filter). Use the
preset instruments or play with the settings to create your own.
Monophonic mode
Plug in a keyboard or other controller and switch to monophonic mode to play complex or full
sounds that combine all of the voices and settings on a chip. Use the preset instruments or play
with the settings to create your own.
Using any of the modes, you can use a DAW to send MIDI to MIDISID and then capture the
resulting audio. Logic Pro calls this an "External MIDI Instrument", Ableton an "External Instrument
Device". Check tutorials for your particular DAW.
8

0!1!*;%"#$%7*(96"/-*:-446/-4*<;;=*
MIDISID currently responds to:
•pitch bend messages (0xE0-0xEF) (full range of control is one tone either way)
•program change messages (0xC0-0xCF)
•mod wheel messages (0xB0-0xBF (CC) 01) Using the menu (Monophonic or Polyphonic >
Parameters > Modwheel) you can set whether this controls vibrato strength, filter cutoff or pulse
width (obviously the latter will only have an effect if square wave is being used.)
•Pitch bend sensitivity (RPN 0, MSB - semitones)
•Control Change (CC) messages (0xB0-0xBF followed by the control number and the appropriate
value listed in Appendix F)
9

>%.(-*:633."/*
General MIDI mode
Each MIDI channel is assigned to voice. So on a 2-SID MIDISID, channels 1-6 are mapped to
voices 1-6.
One special case - if a note is detected on channel 10 (traditionally percussion). Then channel 10
is assigned to voice 6, with channels 1-5 mapped to voices 1-5. This mapping persists until the
next power-on.
The default patch for a voice is a piano sound, but a MIDI 'program change' message will change
the patch for that channel / voice. MIDISID will handle the program change messages 0-127 (or
sometimes given as 1-128. See Appendix C.
Patches will persist on the channel until another program change message is received, the mode is
changed or MIDISID is reset.
You can use this to your advantage and get more sounds in your music by using multiple program
changes within a track. Obviously only one part can be played at a time, but this allows you to put
multiple instruments on a single channel / voice as long as they don't play at the same time.
.mid files usually contain one instrument per channel, with program change messages at the start.
If you're composing your own music, or if you open an existing .mid in a DAW, then it's easy to
change these program change messages or add more wherever you like.
Obviously after powering-on or resetting you may have to make sure that you play a track or .mid
file from the start so that MIDISID receives the program change message for each channel.
Polyphonic mode
The same patch is applied to all voices on all chips. A note is played using a single voice. Any note
on any channel is assigned to the next free voice. If all voices are in use, then the note can't be
played
Monophonic mode
A patch uses all three voices on all chips. All are triggered by a note, giving (with 2 SIDs) a stereo
output with 3 voices heard on both channels. Because 6 voices are heard but unlikely to be in
sync, the sound will be rich and full. (the sync setting changes this.) This chorus effect can be
enhanced by adjusting the tuning of each voice very slightly. Some patches, eg Honky Tonk, use
this for effect.
10

+76?."/*6*@:.&*A7-*6"&*/-B"/*#9-*:%4#*%'#*%C*.#*
In General MIDI mode the MIDISID firmware will do its best to render a .mid file, but there are a
few things to be aware of.
The first is the natural limitation of the 2-SID MIDISID which has 6 voices. This means that only
MIDI channels 1-6 will be played. If anything happens on channel 10 (conventionally the
percussion) then that will be mapped to voice 6, at the expense of channel 6. Note that if this
mapping is made, then it isn't 'unmade' so if you later want to play a file that uses channels 1-6
with no drums, then power-cycle MIDISID or press the reset button to reset that mapping.
If you have instruments that play notes simultaneously (eg a piano or guitar) then you might switch
to General MIDI mode > Multiple > Arp so that the chords are arpeggiated. This is part of the
classic SID sound.
The second consideration is the gate on/gate off 'bug' in the SID, which is replicated in the
SwinSID Nano. If a voice's gate is switched off (a MIDI note off message) and a 'gate on' happens
very quickly afterwards (in less than 40 ms - very quick to us, but a long time to a processor or
sound chip) then there's a chance that the envelope for that voice will not be re-triggered.
Sometimes it will, sometimes it won't. The length of the 'release' in your ADSR may have an effect.
What this means is that if you have notes where (as far as the midi information is concerned) each
note starts immediately after the last one ends, or if they overlap, then, depending on the sound
patch, you may not hear the end of one and the start of the other, or some notes may seem to be
missing.
This isn't to do with the length of the notes, it's no more likely to affect semiquavers than
semibreves. It has to do with how soon the start of a note comes after the end of the previous one.
If music on a channel is affected in this way (missing notes, or you're not hearing the attack / decay
/ sustain / release on every note) Then the workaround is to edit the midi. Depending on your DAW,
it's a very quick operation. Select all the notes of the channel, and then drag the end of one very
slightly (which should shorten all of the notes). You're aiming for a very small gap between all of
the notes.
I am considering a system of buffering the midi data and automatically shortening notes where
necessary in the firmware, but the downside of this is that it would need some buffering and
therefore introduce latency which isn't always desirable.
The final consideration is the drums on channel 10. Those are played using a single SID voice.
(voice 6 on the 2-SID MIDISID). Therefore, if there are two or more drum sounds that happen at
exactly the same time, you'll only hear one. MIDISID will prioritise the snare, then the bass drum
and finally the other drums in numerical order. But you'll get the most out of .mid files if you check
out the drums and do some editing if necessary.
11

For some types of music, polyphonic mode may work well with a .mid file. It removes the limitation
of channels 7-15 being ignored and will use the next available voice for each note, but it will use
the same sound patch for all notes.
+$-4-#*."4#$':-"#4*
Note that sometimes the voices are designed to be used in a particular register. For example, the
glock will sound most glockenspiel-like when played in the top two octaves. The bass sounds won't
sound very bassy if played above middle C.
The patches for violin and viola, cello and contrabass are very similar, but the notes are likely to be
in different ranges.
You may find some interesting sounds if you do play an instrument outside of its intended range.
D&E6"(-&*2!1*4-B"/4*
Ring modulation
Ring modulation is a kind of frequency modulation where two frequencies are combined to produce
an effect.!
(Image CC BY-SA 4.0 Hyacinth)
The shapes of each signal, the difference in frequency and whether or not they are harmonically-
related will all affect the effect.
You can only use ring modulation with the monophonic mode because that's the only mode which
uses multiple voices for the same note.
You can switch on ring modulation on for each voice (or all voices). When you switch on ring
modulation, you will switch it on for the particular voice or voices that you are currently editing
(Directly under the monophonic mode, you choose voice 1,2,3 or all).!
If you switch on ring modulation for voice 1, it will be modulated with voice 3
If you switch on ring modulation for voice 2, it will be modulated with voice 1
If you switch on ring modulation for voice 3, it will be modulated with voice 2
12

At this point you probably won't hear a change, because by default, all voices will produce the
same frequency. So you will need to set an offset for the 'modulated with' voice. We do this with the
'tuning' parameter. (a reminder - rotary control A is fine control (cents), rotary control B is coarse
control (8 cents) and rotary control C is octave (1200 cents)). As you alter the tuning for the second
voice, you should hear the effect, which should sound different to the simple 'detuning' that you'd
normally get with a tuning offset.
To further alter the sound, play with the waveform of your two voices. To get a cleaner ring
modulation sound (ie without the third voice producing a tone) you can mute voice 3. See below.
Tips:
When playing with the ring modulation, it's worth going into Monophonic > Parameters > All > Filter
and check that it's set to 'None', as filtering can mask the modulation effect.
When adjusting settings, try notes in all the octaves. Settings that sound boring in one octave may
sound spectacular when played in a different octave. If this is the case, you can tune all voices up
or down by an octave or two so that you get the effect when playing notes in the middle of the
range.
Muting voice 3
This is a feature of the SID chip which is useful if you're using voice 3 as a LFO or envelope for
one of the other parameters (these are currently outside the scope of MIDISID) and it's also useful
if you're using ring modulation, or just wish to build sounds using two voices rather than three.
Once again this is a feature of monophonic mode. You'll find the switch for muting voice 3 on the
Ring/sync screen. It's shown as a figure 3 which will be struck through with a line if muting is on.
Rotary control D will toggle that setting on and off. You'll see the icon and be able to toggle the
setting regardless of which voice you're currently editing but it is a global setting.
"
13

89-*2,."2!1*F6"%*G*
MIDISID may be supplied with SwinSID Nanos, made using Tolaemon's design.
The SwinSID Nanos have two jumpers. The one marked J1 changes the filter emulation mode
between MOS6581 (joined) or MOS8580 (open). Your SwinSIDs will be set to MOS8580 by
default. You can set it be a MOS6581 by joining jumper J1.
The jumper marked J2 adjusts the output voltage level of the SID. This is left open to set the output
to the highest level. Joining jumper J2 will reduce the output level.
The diagram above is from Tolaemon's own documentation and makes the position of J1 and J2
clear. Jumper pins aren't fitted for reasons of headroom. If you want to, join them with a wire link or
just a blob of solder.
Other SID replacements or real SIDs?
•MIDISID has been designed and tested around the SwinSID Nano, a modern SID replacement.
•Since board rev 3.2 with firmware v2.1 and above (combination known as 'MIDISID Neo', sold
after 3 Nov 22) ARMSID is tested and supported.
•Other modern replacements may work but are untested and unsupported.
•Real SIDs are unsupported. If you wish to try them in MIDISID it is at your own risk. There are no
guarantees for the safety of your SID chip, which may be at breaking point even if working, or for
the safety of your MIDISID. They will definitely not work with MIDISID board revs below 3.2 and
firmware below v2.1. MIDISID does provide all of the necessary signals, but filter caps will need
to be fitted (6581: 470pF, 8580: 20nF). Footprints for these are provided in board rev 3.2 and
above (C9-C12).!
14

H3&6)"/*#9-*A$:,6$-*
When updates are available, it's easy to update the firmware.
With MIDISID powered off, use a USBA->micro USB cable to connect the Pico to a computer,
using the Pico's micro USB connector. Give a double-tap on the reset button. (Clip the button into
place if it was supplied separately.) This should put the pico into boot mode.
Alternatively, with MIDISID dismantled, keep the BOOTSEL button on the pico pressed while
plugging in the USB cable.
Then you should see the Pico on your computer as a drive with a name like "RPI-RP2". Simply
drag the new firmware (.uf2 file) onto the Pico's icon. If successful, the Pico should unmount itself
from your computer and the firmware should start. MIDISID will appear to be operational at this
point, powered via the USB cable. You should unplug that and then power MIDISID normally, don't
use MIDISID while powered via the Pico's micro USB.
1.4:6"#7."/*0!1!2!1*
It's natural to start unscrewing things from the top down, but the easiest way to dismantle and
reassemble MIDISID is by first unscrewing the feet (with a good grip, they should unscrew easily
with the fingers). The two halves should then separate and give you access to the main board.
Remember that it's still attached by the 4-way cable.
You may like to leave this connected, but it may give you more freedom if you unplug it. Try to prise
the plug out of the sockets rather than pulling on the wires.
If removing devices from the sockets, use a chip puller if possible. If not, try to lift the chip straight
up vertically. If necessary, carefully use something to prise each end gently and evenly. It's very
easy to bend pins and the ones on these SID replacements won't stand much bending and
straightening.#
15

8$%'G7-49%%)"/*
Noisy audio out
If you're using a battery, check the voltage of the 9v battery or try a new battery. If a power supply,
make sure it's 9v. Check that with a meter if you can, or try a different power supply.
Make sure that you don't have anything plugged into the micro USB port.
Depending on the settings, artefacts may be heard from the SwinSID's filter. This may be worse
with the triangle waveform. As a test, in Poly or Mono mode, try going into Parameters > Filter and
switch to 'none'. Note that if using very low notes, a highpass filter may mask the fundamental
frequency and similar for high notes and lowpass filter.
Sending MIDI in but no audio is heard
Does the light on the top panel flash when notes should be received? If not, check that you are
really sending MIDI in via the DIN socket. Try different MIDI sources. See whether there's software
for your computer to monitor MIDI messages sent to external devices. I use MIDI Monitor for Mac.
If the light does flash (or light continuously if the music is busy) and the LEDs below the SwinSIDs
are lit, you should hear a ping when you connect power. If you don't hear the ping, try connecting
the audio out to something else that has line in, or try wired headphones / earbuds (only for the
purposes of verifying that there's audio.)
No activity at all, or intermittent activity
It has come to my notice that some of the battery clips I've sent out don't clip very firmly to some
batteries. If you're using the battery clip and are sure that the battery is kicking out a good 9V, then
try squeezing it onto the battery with your fingers. If that makes a difference, then try another
power source, or try crimping the battery's negative connection a little bit to make it grip more
firmly.
16

Appendices
D33-"&.I*D*
The menu
Mode >
General MIDI >
Default instrument >
Piano
etc
Multiple notes >
Replace
Discard
Arp
Port
Polyphonic >
Instrument >
Piano
etc
Parameters >
Wave
A / D / S / R
PW / PWM
Filter
Sweep
Vib
Modwheel >
Vib
Filter
Pulsewidth
Tuning
Channel >
All
1 .. 16
Monophonic >
Instrument >
Honky Tonk
Synth 1
etc
Parameters >
voice1 >
Wave
A / D / S / R
PW / PWM
Filter
Sweep
Vib
Modwheel >
Vib
Filter
Pulsewidth
Tuning offset
Ring & Sync (includes 'mute voice 3')
voice2, voice3 and All voices >
(ditto)
Multiple notes >
Replace
Discard
Arp
Port >
Speed
Channel >
All
1 .. 16
MT-32
Default instrument >
Piano
etc
Multiple notes >
Replace
Discard
Arp
Port
17

Notes
Multiple notes determines what happens if two notes happen at the same time on the same
channel, or a second comes in before the first finishes. For example. you may have a chord, or just
two notes overlapping. If MIDISID has to try to play this using a single voice (Gen MIDI or
monophonic mode, not poly) then there are four options:
•Replace means stop the first note and play the second. (Note that the gate on/gate off SID 'bug'
definitely comes into play here. The envelope may not be triggered for the replacement note. If
the frequency changes, you may hear the new note, but under the existing envelope.)
•Discard means continue the first note and discard subsequent notes until the first is released.
•Arpeggiate. Up to four notes will be stored at a time, and an arpeggiation effect produced.
•Portamento, aka slide or glissando. The note will slide from the first to the next. With this option
switched on, and vibrato too, you can easily play a theremin-like sound by holding each note until
after you’ve pressed the next. This works best with an envelope with high sustain.
The term 'Multiple' in the menus isn't ideal and may change if anything better is suggested.
D33-"&.I*J*
Bring your own box
MIDISID will work fine in its supplied form. However, it is designed to be easy to fit into a case or
enclosure if you choose.
It can be split into two parts. The main (bottom) board can be mounted in the bottom of a case. The
two parts are connected by a standard 4-way jst-sh cable. These come in various lengths. If you
buy one, make sure that the connections are 'crossed' and not 'straight'.
The top part can be mounted in the front or top of the case. Please measure the dimensions for the
holes and rectangular cut-out. They aren't given here because these have been tweaked in various
revisions of the boards, making it uncertain that this version of the manual matches your board
revision.
See Dismantling MIDISID!
18

D33-"&.I*;*
The list of General MIDI instruments
Piano
1 Acoustic Grand Piano
2 Bright Acoustic Piano
3 Electric Grand Piano
4 Honky-tonk Piano
5 Electric Piano 1 (usually a Rhodes Piano)
6 Electric Piano 2 (usually an FM piano patch)
7 Harpsichord
8 Clavinet
Chromatic Percussion
9 Celesta
10 Glockenspiel
11 Music Box
12 Vibraphone
13 Marimba
14 Xylophone
15 Tubular Bells
16 Dulcimer
Organ
17 Drawbar Organ
18 Percussive Organ
19 Rock Organ
20 Church Organ
21 Reed Organ
22 Accordion
23 Harmonica
24 Tango Accordion
Guitar
25 Acoustic Guitar (nylon)
26 Acoustic Guitar (steel)
27 Electric Guitar (jazz)
28 Electric Guitar (clean)
29 Electric Guitar (muted)
30 Electric Guitar (overdriven)
31 Electric Guitar (distortion)
32 Electric Guitar (harmonics)
Bass
33 Acoustic Bass
34 Electric Bass (finger)
35 Electric Bass (picked)
19

36 Fretless Bass
37 Slap Bass 1
38 Slap Bass 2
39 Synth Bass 1
40 Synth Bass 2
Strings
41 Violin
42 Viola
43 Cello
44 Contrabass
45 Tremolo Strings
46 Pizzicato Strings
47 Orchestral Harp
48 Timpani
Ensemble
49 String Ensemble 1
50 String Ensemble 2
51 Synth Strings 1
52 Synth Strings 2
53 Choir Aahs
54 Voice Oohs (or Doos)
55 Synth Voice or Solo Vox
56 Orchestra Hit
Brass
57 Trumpet
58 Trombone
59 Tuba
60 Muted Trumpet
61 French Horn
62 Brass Section
63 Synth Brass 1
64 Synth Brass 2
Reed
65 Soprano Sax
66 Alto Sax
67 Tenor Sax
68 Baritone Sax
69 Oboe
70 English Horn
71 Bassoon
72 Clarinet
Pipe
73 Piccolo
74 Flute
75 Recorder
76 Pan Flute
20
Table of contents