Skip to content
bazmonk edited this page Nov 20, 2022 · 56 revisions

Digigurdy-baz Documentation Main Page

Welcome to the repository for the digigurdy-baz code. If you're thinking, "What on Earth is a digigurdy-baz?", check out the Digigurdy website at https://digigurdy.com for info on the instrument itself by John Dingley. This is the software that runs it.

Why -baz? I'm Basil, and I didn't want to call it the same thing as the object itself :-)

Refer here for help compiling, installing, and using this code on your Digigurdy.

Latest Builds

These are the latest builds available pre-compiled. The builds are .hex files in the /builds folder in these branches of the repository. Developers and tinkerers should probably clone the repository via git to make it easy to keep it up-to-date. Users can simply download the ZIP file here as-needed, extract it on your computer, and find the builds folder in it.

Crank Style Teensy Board Screen Type Secondary Audio LED/Accessory Pedal? Version Branch ZIP Download
Optical Teensy4.1 "White" OLED MIDI-OUT, Trigger, Tsunami LED, Pedal (MIDI only) 2.0rc5 main https://github.com/bazmonk/digigurdy-baz/archive/refs/heads/main.zip
Motor Teensy3.5 "White" and "Blue" OLED MIDI-OUT None 1.4.1 v1.4.1 https://github.com/bazmonk/digigurdy-baz/archive/refs/heads/v1.4.1.zip
Motor Teensy4.1 "White" OLED MIDI-OUT None 1.4.1 v1.4.1 https://github.com/bazmonk/digigurdy-baz/archive/refs/heads/v1.4.1.zip

Installing/Upgrading your Digigurdy

Here's a YouTube video walking through the steps for installing pre-compiled code:

Loading Software Updates to Digi-Gurdy

(Performed and narrated by John Dingley himself!)

The video references step-by-step instructions, which can be found here (with some slight updates and clarifications):

Compiling the Code Manually

If you wish to adjust hard-coded configuration options, troubleshoot or contribute to the code, you'll want to clone the repository (you can use the ZIP files above, but if you're doing to be making changes, I highly recommend working with the git repo itself... it will keep you sane) and build it yourself.

Working with git is beyond the scope of these instructions, but you can find notes specific to this build here:

Setup, Operation, Play

Connecting to a Synthesizer

The DigiGurdy is just a MIDI controller in a hurdy-gurdy-like shape. It gives out instructions on how to make notes, but it has to be connected to a synthsizer to actually interpret those into music.

DigiGurdy supports both SerialMIDI over USB, and a powered, standard MIDI-out jack, which can be used with a Bluetooth MIDI transmitter, for example. Both are ready upon startup with no extra setup necessary on the controller end. Both the USB MIDI and MIDI jack are running simultaneously: if for some reason you want to use both and hook it up to two synthesizers at the same time, go for it.

The closest thing to a "standard" recommendation for a synth is bs-16i, a MIDI app for iOS. It works great, it can be connected into Garageband or other apps in your workflow, etc. If you go with this option, there's a couple presets in this repository for you to try.

Soundfonts

In addition to a synthesizer, it needs samples of hurdy gurdy sounds to work with. I've hosted the soundfont file that comes with DigiGurdies here as well for your downloading convenience. Big shout-out to the MIDIgurdy project which created most of these sounds and were kind enough to release them open-source for our mutual benefit.

https://github.com/bazmonk/digigurdy-baz/blob/main/soundfonts/vienna-alto-mod11.sf2

Controls

Here's a quick video explaining the controls (THIS IS OLD, need to re-do the video):

https://www.youtube.com/watch?v=yC0skMH7qog

The keys for navigating the menus work much like the original code did. The bottom row represent number choices in menus, 1-6 starting from the left. The "A" button is the top right button, "B" is the one next to that, and the "X" button is the top left:

keybox pic

During play, these are all the "hidden" keycombos:

  • "X" + "A" = Pause menu: save/load/change tuning, turn drones on/off
  • "X" + "B" = Toggle through capos (just like the button on newer ones)
  • "1" + T-UP or T-DOWN = Transpose up and down (just like the buttons on newer ones)

Starting with v1.9.1, the three "ex[123]" keys do this:

  • "ex1" - Toggles pause menu, also toggles out of the main pause menu screen
  • "ex2" - Toggles through the high/low melody mute options
  • "ex3" - Toggles through the drone/trompette mute options

Startup

After showing the Adafruit logo (represent!) and a title screen, crank detection will silently work in the background for about 5 seconds.

  • DO NOT TURN THE CRANK DURING CRANK DETECTION! It can fool the crank detection into paradoxically not detecting a crank. Since > v1.0 crank detection is much faster, so this is a lot harder to do now. If you manage to do it--you're fast!--just restart it again.

Optical crank-driven models do not require crank detection.

From there, you will be shown the Startup Menu. There's options here to load one of the included presets, load a tuning you've saved before, set up a new tuning, and other options.

New Users: the four preset options are for you! Each one is a reasonable combination, and they're good starting points while you experiment with making others.

Other Options

The "Other Options" menu at startup offers two options:

  • Clear EEPROM - this clears the memory and save slots (and all of your digigurdy's memory). First-time installations should do this just to be sure (other data in there can cause bugs, and sometimes the save format changes a little). It doesn't hurt to do this after upgrading, either...
  • Playing Screen - during actual play, you can either have a large "C7"-like display, or that side-by-side with a staff graphic showing the note as well. This is adjustable here.

The "Other Options" during play has two different options:

  • Remove/Attach Crank - this goes through the crank-detection routine that happens on startup again. If you have a model with a detachable crank, this allows you to dock/un-dock it without having to restart it.
  • About screen - Hit the X button to go through it. Useful for reporting problems: it helps me if you can tell me what version you're using. The URL on it links back to this repository if you forget where to find this page. Also a quick thanks to folks that have been helping me throughout this.

Play

Once you select a tuning, you'll get the "Crank On!" screen briefly, and your digigurdy is ready to play! You can activate the drones and keybox with either the large arcade button on the front of the keybox, or (if you have one connected) the crank. The knob next to the arcade button adjusts the buzz sensitivity like it did before.

At any time during play (even if you're not acutally making sound right now), you can use the two "extra" (these used to be for octave up/down in the old digigurdy code) buttons on the digigurdy (if you have these buttons... I'm sorry if you don't, there's no way for you to access these features yet) to transpose all of the strings up or down. You'll see the display show the updated tunings and how far you've transposed it from the default tuning.

The third "extra" button toggles between a whole-note or two-whole-note capo on the drone/trompette strings, much like how a capo would work on a physical hurdy gurdy. This is in addition to any transposing, letting you apply capos to any of the transposed tunings as you may be already used to on a real gurdy.

Re-Tuning, Saving

At any time during play, pressing the X and A (top left and right keys) at the same time brings up the Pause Menu. This is a lot like the Startup Menu, except here you have an option to save your current tuning instead of the startup options.

There are four save slots available to you. They preserve the tunings and capo/transpose settings.

Hitting the 'A' button in the Pause Menu toggles through muting options on the drone and trompette strings. Your current mute settings will be reflected on the main screen.

  • Drone/trompette mute settings are not part of the save settings and must be set every play session.

bs16i Scene Switching

If you are using bs16i, enable this feature in the options screen to allow the digigurdy to signal it when you change tunings.

How it works:

  • In bs16i, create a "scene"... that's what the app calls a preset. Choose the instruments and effects you want, etc.
  • Under the Settings->Scenes->Assignment menu, assign it to a number. 0-3 correspond with the four preset tunings on the digigurdy, and tunings 4-7 correspond with the four tuning slots that you can save yourself.
  • Under Settings->CoreMIDI, turn on the "Switch Scenes with Program Change" feature. You can either use Omni, or Channel 1 (digigurdy will sent on channel 1).
  • Finally, in the digigurdy options screen, enable Scene Control.

Now, when you're using your digigurdy and switch to a preset or a save slot, bs16i will automatically switch to the scene you've configured to go with that tuning!

Digigurdy-baz is the awkward name for the software that powers the Digi-gurdy.

The Digi-gurdy is an electronic/MIDI hurdy gurdy.

Clone this wiki locally