Towards an Esteso Voce Prototype

After roughly a year and a half, I’ve picked up where I left off with the Esteso Voce.

A quick recap: The Esteso Voce (the “extended voice”) is my concept for an instrument based on the human voice, which would allow a singer to sing harmonies with themselves, and in canon with themselves. Voice would come in via a microphone, be split into multiple identical voices, to each of which delay and pitch transposition is applied by the performer as desired. The performer would use some kind of hand operated instrument to do this.

Previously I wrote about my thinking and goals, and the first concrete ideas.

Recently I’ve been re-inspired to continue down this path. Two things have kicked this off.

1 – I discovered that the PSOLA pitch shifter for Max/MSP has been ported to pd (the open source version of max/msp). Previously I was using a time-limited demo of Max/MSP, but I really didn’t want to shell out the big bucks for a license, and then have to deal with the annoyances of that (eg: it would be locked to my machine I think, which I hate; I tend to regularly reinstall my OSes, for a start). I’m just not a closed source kind of guy. So having it available for pd is awesome (h/t Julian Villegas). Unfortunately it hasn’t been ported to linux, but the way is open, given that it is now open source.

2 – More importantly, a big conceptual breakthrough. I realised that the control of the extra voices in the Esteso Voce can be modeled on the strings of a stringed instrument.

Voices as Strings

Here’s the model I had in my post from a year and a half ago. Now that I look at it, it looks a lot like the neck of a guitar!

And that was the breakthrough. ie: what if I thought of each voice as a string on a stringed instrument? Now strings represent absolute pitches (eg: you choose a fret/position, and that’s a G), where the voices of the Esteso Voce are relative to the source voice, and possibly to other strings closer to the source voice. But, it still works.

This is important because it enables me to prototype the instrument more easily. Why? Because I can use a midi-controller guitar, which I can just buy. No hardware development.

In my previous thinking, I was going to use a touchscreen computer as the input. That could still work. However, I did buy a cheap touchscreen tablet (an Eken M001), and it’s really not responsive enough. So, I’d probably need an expensive multi-touch capable touchscreen (say an iPad). And then, it’s not a lovely surface for an instrument. You can’t feel the controls. It’s a big rectangle (not shaped to purpose). Plus, I’d have to actually develop the input surface software, and somehow make it communicate back to another computer which was processing the sound, or else use a tablet powerful enough and open enough (at least running a full version of windows) to run PureData.

With a midi controller guitar, OTOH, it’s much simpler. They either come with a direct USB interface, or they come with midi outputs, into which you plug a midi-usb converter, then usb into computer. Easy.

And, they then send midi signals, which is something PureData can work with natively. Win!

And, finally, it’s an instrument already well designed for you to pick out chords on the neck as the Esteso Voce would require. Curling your hand around the neck seems like a good approach ergonomically. Playable.

I’ve found two candidate instruments to use here, the YouRock Guitar and the Yamaha EZ series “learning” midi guitars, the Yamaha EZ-AG and the Yamaha EZ-EG.

Crucial to the choice is that I don’t want to use this as a guitar, it’s as a prototype control mechanism for the Esteso Voce. The Esteso Voce doesn’t need the right hand strumming / picking of strings, only the left hand choosing the voicings. So, the midi guitar must support sending signals when you touch the strings with the left hand, and not require you to also play the string with the right hand.

The YouRock Guitar can be played in pure midi mode (so no “game controller” crap), and has a “tap” mode which I think means you can tap the strings on the fretboard and signals are sent. That’s exactly what is needed. There is a question though as to whether that’s accurate enough. I came across a comment on amazon that the accuracy wasn’t great. So, there’s a question mark.

The Yamaha EZ series are actually my prefered option. Why? Because there are no strings, only buttons, on the neck. Perfect! It means tapping on the neck should be completely accurate; the guitar isn’t trying to guess at taps on the neck from the vibration of strings, but rather it’s getting the signals directly. Again it can be used in a pure midi mode, as required.

So I’m leaning toward the EZ-AG, mainly because the EZ-EG is discontinued, so probably harder to get. It looks as though the EZ-AG is the successor to the EZ-EG, but I’m not certain of that.

In the next post, I’ll describe in detail how this all hangs together.

Advertisements
Towards an Esteso Voce Prototype

4 thoughts on “Towards an Esteso Voce Prototype

  1. Hi there,

    thank you for linking to my website. I wanted to tell you that I have implemented something along the same lines of your research that you might find useful. Check it out at

    http://julovi.net/j/wp-content/uploads/2007/08/smartharmonizer.zip

    If you find it useful, please let me know, and if you publish something, I appreciate if you can mention my job as well.

    I think I could submit the psola object to Pure Data Extended, I don’t know how to do that, but I’m gonna ask to the Pd moderator. That way, it’d be preinstalled, and upgraded with subsequent versions of Pd.

    Have a good one,

    Julian

  2. emlyn says:

    Hi Julian, nice to meet you! Thanks so much for porting the shifter~, it’s really helped me with this prototype.

    My pd work so far is here:
    https://docs.google.com/leaf?id=0B3AW0-6Wuex1MTNiNzRlZTItYjI4Zi00Zjk1LWIyYmItOTBiMDMwNTY5Yjc2&hl=en

    I’m a total n00b with pd, and it’s kind of a work in progress, but you should get the drift. I’ve just used computer keyboard input so far, my next job is to convert it to work from a midi keyboard just to get the midi handling right.

    Submitting shifter~ to pdextended is a great idea, I look forward to that.

    Thanks again!

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s