Purdy-Durdy
A downloadable game
This is a tiny hurdy-gurdy simulator for the Playdate. Look, the thing has a crank! I couldn't not do it.
Anatomy of a hurdy-gurdy
Hurdy-gurdies are played by spinning a wheel that vibrates the strings of the instrument, a bit like a never-ending violin bow. In this simulator, you can spin the wheels by using the crank. You can also turn on Auto-crank in the menu.
The top strings (called Drones) are fixed in pitch, and provide the harmonic context for the melody strings. In this case, I set them to the traditional French C/G.
The middle strings (called Chanters, or melody strings) go through a keybox where wooden arms (called Tangents) press on the strings to create different notes when keys are pressed. On a real instrument, every note would have its key, like on a piano. This is obviously not possible on a Playdate, so there are only three keys mapped to A, B and any D-pad direction. Also unlike a real instrument, you can combine keys to create more notes!
The bottom string (called Trompette) is a loose string that only engages the wheel when it's accelerating fast (and only clockwise). Even then, it buzzes instead of playing a clean note. It can be used to create a sort of rhythm by giving the wheel an impulse on every beat.
Playing different notes
The different buttons change the pitch of the chanter (or melody) strings:
- A button: Increase chanter pitch by a major 2nd
- B button: Increase chanter pitch by a minor 3rd
- D-pad (any direction: Increase chanter pitch by a perfect 5th
Note that unlike on a real hurdy-gurdy, the increases stack to allow more notes to be played. And so:
- A + B: Perfect 4th
- A + D-pad: Major 6th
- B + D-pad: Minor 7th
- A + B + D-pad: Octave
By default, the chanters are tuned to play G, or the fifth in a C scale, which makes the available notes (by default; see below):
None | A | B | A + B | D-pad | A + D-pad | B + D-pad | A + B + D-pad |
G | A | Bb | C | D | E | F | G |
More details for music nerds
The intervals above form a Dorian scale, but by tuning the chanter strings to G while the drones heavily imply a C scale, you actually get C Mixolydian. However, you can tune the string to different starting points in the menu, giving you access to a few other scales:
- Root: C Dorian
- Major 2nd: C Major (Though in practice having your zero-input neutral tone be the 2nd makes it sound a bit ambiguous)
- Perfect 4th: C Minor
- Perfect 5th: C Mixolydian (Default)
- Minor 7th: C Phrygian (Spicy!)
Can you change the drone string tunings to play in other keys?
Not yet. I wanted to make it customisable, and there's still room in the menu, but it would require some refactoring in how the notes define each other in relation to other in the code, and I didn't want to get into that yet. Maybe later!
Why does the highest note sound so wonky despite being the base chanter note, just one octave above?
To make things simpler for myself, I used Just Intonation ratios on the buttons, so that for example, pressing the A button multiplies the chanter string's base note in hertz by 9/8 (or 6/5 for B, and 3/2 for the D-pad). Now, instead of hardcoding combinations, when you hold two buttons, both ratios are applied to the base note, and the result is usually pretty spot on. When you hold all three however, all three ratios multiply together, the errors compound, and you get 2.025, which is close but just a bit higher than the expected 2/1 for an octave interval, so the result sounds sharper than it should. But! This is not an unrealistic quirk. Historically tuned instruments can have the same issue, though usually not as bad.
tl;dr: It's an artefact of how the notes are synthesized, also tuning theory is a rabbit hole.
Couldn't you have used 12-TET's 12th-root-2 based ratios instead?
Yeah, but whole number ratios was easier, and using 12-TET in a medieval instrument simulation just feels weird to me.
And yet you used A440Hz as a basis, instead of a more historical A415Hz!
This didn't occur to me until I was writing this fictional dialogue. Oh well!
Status | Released |
Rating | Rated 4.5 out of 5 stars (2 total ratings) |
Author | bujold |
Genre | Simulation |
Tags | Medieval, Music, Music Production, Playdate |
Download
Click download now to get access to the following files:
Comments
Log in with itch.io to leave a comment.
how do you play it?
wow....
i'm amazed you haven't seen more love for this.
it's a truly sophisticated and well-implemented digital instrument. you had a lot of fun making it, which shows in every facet of the app. sonically, it's a retro-gamer's fantasy. visually, the thing is so compelling.
thanks for making this a reality and i look forward to any other efforts you put forward on Playdate