I have been waiting for this one, and it was worth it
avrdude -V -p m88p -c YOUR_PROGRAMMER_ID -P YOUR_PROGRAMMER_PORT -B 10 -e -u -U lfuse:w:0xD6:m -U hfuse:w:0xDF:m -U efuse:w:0xF9:m -U lock:w:0xFF:m
and then flashing the precompiled firmware is pretty straightfoward. USB board: (swap
arc2_ in the unlikely event you’re building an arc2):
avrdude -V -p m88p -c YOUR_PROGRAMMER_ID -P YOUR_PROGRAMMER_PORT -B 2 -U flash:w:./firmware/compiled_hex/arc4_firmware_usb_board_atmega88p.hex:i -U lock:w:0xFF:m
and for each ring:
avrdude -V -p m88p -c YOUR_PROGRAMMER_ID -P YOUR_PROGRAMMER_PORT -B 2 -U flash:w:./firmware/compiled_hex/firmware_pot_board_atmega88p.hex:i -U lock:w:0xFF:m
Note that the verion of avrdude I’m using (5.8, from an old crosspack install I was using to compile some MI AVR code) doesn’t support the ATMega88p, and in order for any of this to work, you may need to edit the avrdude config file according to the instructions in the arc clone repo. Mine was in
/usr/local/CrossPack-AVR-20100115/etc/avrdude.conf, and all I had to do was duplicate the config block for the ATMega88 and make the following changes:
id = "m88p"; desc = "ATMEGA88P";
signature = 0x1e 0x93 0x0f;
Sacred Harp is some of the most exciting music I’ve come across in years, but, being polyphony, you need a group of people to properly enjoy it. Sometimes, once a week really isn’t enough, and an evening in front of a multitrack recorder has to suffice…
EDIT: I couldn’t resist also recording this parody version. 50% of Sacred Harp is a bunch of biblical and religious stuff but most of the rest, including 209, is pure, unadultered memento mori.
Found this nice ISMLP category page while starting research for a new project, containing enough baroque French gurdy scores to keep anyone busy for a while imslp.org/wiki/Category:Scores_featuring_the_vielle
There’s all sorts of interesting stuff if you poke around a bit — for example, in Bordet’s Méthode raisonnée pour apprendre la musique there’s a summary of the hurdy gurdy which suggests that extended keyboards beyond the usual two-octaves-minus-high-F# existed, but were “extraordinaire, et peu usité:”
Turns out that it’s possible to use cheaply available (~2€ each) 7-pin SPI OLED displays with the magpie modular 8hp microbraids PCBs. A hardware and software modification are required, although as the ATMega is using software SPI it may be possible to work around the hardware modification with further software modifications.
Please note that I would not recommend building the magpie modular micro braids module! Instead, try one of the newer adaptions (e.g. the one from Antumbra) which uses normal LED displays and have prettier panels. This guide is intended as reference for people who still have one of the old boards lying around and want to get it working without shelling out 20€ or more for a tiny OLED module.
The seven pin SPI header on the cheap OLEDs I bought maps to the eight pin header of the original Adafruit OLED (and therefore the microbraids PCB) like this:
CS DC RS MOSI CLK Vin GND | X X | \ CS RS DC CLK MOSI Vin 3.3v GND
I cut the relevant traces on the OLED board, scratched away some solder mask and used enamel-insulated wire to connect the traces to their new pins. Then, I installed a 7 pin female header on the braids PCB, and bridged the 3.3v and GND pins, which sounds like a terrible idea, but the board doesn’t make any use of the 3.3v pin, I’m just using it as a convenient way of connecting the OLED GND pin to the braids GND pin.
If your OLED module has the same layout as mine, it should end up looking something like this:
The display ends up being in a slightly different place to the original, but five minutes of filing the aluminium panel fixed that. It ended up looking a little bit messy, but the panel (from pusherman, not a magpie modular original) is extremely ugly anyway so it didn’t make much difference. I quickly cut out and filed a 3mm acrylic screen, wedged it in place and secured it with some high-viscoscity superglue.
After reflowing and flashing both the ATMega and STM, everything was working perfectly, except the display was upside-down. Looking through the Adafruit graphics library led to a simple solution: adding the following line to the
init function on line 39 of mbraidsv3.ino:
display.setRotation(2); // Invert display for use with cheap Aliexpress 7-pin OLED
After re-flashing the ATMega, everything worked perfectly.
It was only after I made the hardware modification that I noticed the ATMega is using a software SPI library, with the pin definitions on lines 9-13 of mbraidsv3.ino. It should therefore be possible to achieve exactly the same result by leaving the OLED module unmodified, bridging the 3.3V and GND pins on the 8 pin OLED header on the PCB, and swapping the pin definitions around so they look like this:
#define OLED_MOSI 10 #define OLED_CLK 9 #define OLED_DC 13 #define OLED_CS 12 #define OLED_RESET 11
The display rotation mod will still be necessary, unless your display module is oriented differently. If anyone attempts the software modification please let me know, I’d be curious to know if it works!
Augmented Hurdy Gurdy Experiments
As I can’t currently commit to building a new series of gurdies due to my living situation, I’ve been keeping myself busy developing the MIDI system for my instruments, to develop new extended, augmented playing techniques.
This video is the first demonstration of some hybrid electronic-acoustic experiments using the prototype MIDI system installed on my hurdy gurdy.
0:22 Technique: Pitch-shifting Polyphony
Gurdy MIDI and Audio → Apogee ONE → Macbook running a puredata patch
Monophonic acoustic gurdy signal is pitch-shifted down in real time to play chords and harmonies. Chords and intervals on the keyboard can also be used to pitch-shift the trompette signal (0:55) or the drones. Inspired by an idea from Sébastien Tron.
1:18 Technique: Expressive MIDI Controller
Hurdy Gurdy MIDI → DIY Hybrid Poly Synth based off Mutable Instruments Ambika
The keyboard and wheel sensors send MIDI note, expression and polyphonic aftertouch messages to a polyphonic synthesizer. In this case a split keyboard effect is used to play two sounds.
1:36 Technique: Layered Acoustic and Electronic Sound
Hurdy Gurdy Acoustic audio, Gurdy MIDI → DIY Hybrid Poly Synth based off Mutable Instruments Ambika
1:36 The acoustic string plays a melody, the bottom half of the keyboard controls a synthesizer with a long release for subtle held chords
2:08 Using trompette technique can send MIDI messages, used here to play synthesized percussion on an Ambika voice assigned to MIDI channel 10, whilst the keyboard plays chords.
2:30 Acoustic trompette and melody string sound layered over subtle polyphonic synthesized chords
#TIL that Cebuano-speaking Wikipedians are vastly more thorough in cataloguing the world’s various “Goat Islands” than their English-speaking counterparts, although they neglect the more artistic uses of the phrase. Compare: https://en.wikipedia.org/wiki/Goat_Island vs https://ceb.wikipedia.org/wiki/Goat_Island
English-speaking wikipedians would have you believe that Canada only boasts a measly two Goat Islands, but the admirable Cebuano-speaking wikipedians reveal that the true number is sixteen times greater, coming second only to the US, which clocks in at almost one hundred.
The map of Chilean Goat Islands is possibly my new favourite wikipedia graphic:
Need more knowledge of cow? “ONLY DINOSAURS” wants to help you fill the void
After missing the crowdfunding campaign, I was happy to finally be able to buy a copy of Tobie Miller’s excellent Bach solo hurdy gurdy CD at Chateau d’Ars last week. I couldn’t find any official album artwork on the web yet, so here is a quick scan of the cover, for anyone else who got a copy already.
It is possible, if somewhat awkward, to update the Mooer Ocean Machine firmware on a mac using Wine and a cheap USB MIDI cable.
WARNING: if the firmware update doesn’t complete successfully, it will not permanently brick your unit (as the update can always be attempted again) but the pedal will not work until a firmware is successfully installed! Attempt at your own risk, and definitely not 10 minutes before a gig.
First, download the update from the Mooer website. The update and update software comes in a .rar archive, so you’ll need something like The Unarchiver to unpack it.
You’ll need the latest version of Wine for Mac from winehq.org. I successfully installed the firmware update using 3.0.2. Using version 2.0 consistently failed.
Power on the Ocean Machine in firmware update mode and plug in your USB MIDI cable as specified by the update readme. Check in Audio MIDI Setup that it’s working and recognised. Then, launch the updater using Wine. Select the firmware update file, then click “Update”. You might get a popup window helpfully saying “MIDI Device Error!!”. Try pressing Update again, if you’re lucky it will work. If not, open Terminal and try the following solution.
The problem with (old versions of) Windows, Wine and this updater program is that they rely on the “MIDI device mapper” utility to decide which MIDI device to use. This would be fine, but under Wine for Mac there’s no easy way of seeing a list of devices or configuring which device to use.
It is possible to change the default MIDI device used by the MIDI mapper, by creating a text file with the following code:
REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap] "CurrentInstrument"="#1"
#0 is the default device, so start at #1.
I saved mine in MMap.ini. Then, run the following command:
wine regedit MMap.ini
and re-open the update app. If after two presses of Update you still get “MIDI Device Error!!”, then quit the updater, change #1 to #2, run
wine regedit MMap.ini and try again. Repeat until successful. Yes, the update process sucks.