Live performances0:00
So I am Todd Fisher. I love the guitar; that's one of my passions in life. Today I want to talk about this project I've been working on for a while here, effectively making my guitar speak. But of course, I want to start out with kind of framing it under this awesome premise.
You know, we've all been to live performances where, like, your mind will just blow and it was awesome. You know, the first one I remember, way back, I was in high school, I went to a Slipknot concert, so a little bit heavier music, here in the Bay Area.
And I remember at some point the drummer was drumming a cool drum solo, and his drum set started raising up. And I was like, whoa, that's cool, and everyone got kind of excited,right? And then halfway through the solo, his drum set started to go like this and tipping.
And his whole drum set was, like, on the wall while he was upside down playing his drum solo. And everyone was just cheering, like, whoa, this is so crazy, mind-blowing, like, whoa. It was so impactful,right? I still remember it today.
Fast forward to probably about a year ago, I went to New York to see The Stranger Things on Broadway, the first shadow. And it was really cool because the whole time I was there, I was watching it and it felt like it was actually like a Netflix episode, but in real life.
And it was just, like, the effects that they did there were so amazing. I remember even one time near the end, there was a scene where somebody was falling backwards, and it was like a slow-motion scene. And it was probably about a minute long, the whole scene.
But just, like, the fact that, like, they were able to produce that in real life, but it looked like it was a post-production slow-motion scene. Just mind-blowing. So it's like, whoa, that's cool. So giving you a, everyone here has probably had some experiences with live performances in the past.
And I think it's really awesome just to, like, see the creativity that people can do with leveraging technology in some creative way. And so, you know, I'm thinking about all the projects that we have as engineers over the years where it's like, hey, that's a cool idea, I'm going to write this down.
I have, like, a big giant list. Anyone have a list of projects that maybe they'll get to? Yep. So it all happens,right? And it's really awesome because the last six months or so with AI being able to, you know, push us forward with some of these projects, it's just really cool to see where we can take all these projects.
So part of my goal today is to inspire you guys to find whatever project you're passionate about, go start building it, because it's super easy now with AI. It's easier with AI. I know sometimes there's caveats, but in general, I want to have you guys leave this session being inspired to go build whatever that cool thing is for you personally that's going to, you know, help you to learn stuff or maybe make a difference in the things that you're trying to figure out.
Guitar evolution2:48
So I want to start off with framing this kind of in the realm of the guitar. So the guitar, because the guitar has been around for several years, several thousand years, or hundreds of years, sorry. And at some point, somebody said, hey, I'm going to put a pickup on a guitar, I'm going to plug it into a speaker, and now we have rock and roll, we're going to make it super loud.
That was pretty awesome. And then, of course, we have a lot of people getting these stomp boxes, these effects pedals. We put them all together, we have really awesome sounds. Really famous people have a lot of these. And then at some point, Peter Frampton came along and said, hey, what if we get the sound of the guitar, put it through an actual hose, like a physical hose, put it in my mouth, and then basically play the guitar sound in my mouth and inform some sort of words.
So that's pretty awesome. That's known as the talk box. And then in the last couple decades, we have a lot of progress made with software emulation. You think of, you know, Pro Tools, you think of Logic, of Fruity Loops.
There's a lot of software, even to the point where all the effects are in software now. There is the argument made, hot take, that maybe you don't need all those physical effects pedals anymore. So there's that question,right? And then, of course, looking forward, it's, what is that next evolution of the guitar with AI in the picture?
Halloween project4:03
So with that said, I want to take you back several years ago, Halloween time. I was passing out candy, a bunch of trick-or-treaters. You know, it got kind of boring. So I was like, hey, what if I go and actually bring my guitar out with my amp and just play?
So for the past, what, 10 or plus years or so, I've actually been playing guitar on Halloween, passing out candy. And it's kind of fun. And then fast forward probably three years ago, I decided to dress up as Eddie Munson.
Anyone know Eddie Munson? Stranger Things, guitar player guy. So pretty awesome guy. So I dressed up as him and I was like, yeah, this is going to be so fun. I could play the music with him, whatever. And you kind of go the, oh, hold on.
Hold on, wait a minute.
Technical difficulties.
Allright, there it goes.
So a bunch of little Stranger Things awesomeness,right? But figured out, hey, what if there was, like, some more stuff I could put in this whole experience? And so I decided to go and build a little app that would actually paint the Stranger Things alphabet on my garage door, just because it's fun,right?
And so let me just show you a quick example of how this worked. So effectively, make sure I have the mic permission. Whenever I play a note,
it would go and communicate whatever lights. And I even had it to where I could actually set custom messages, such as Happy Halloween, all that fun stuff. It was overall pretty fun just to kind of mess with that,right?
So once again, you know, whatever I type in there, I could actually spell whatever, and very much a cool nod to Stranger Things. But it kind of got me thinking, like, what is the next evolution of this project?
First words5:46
And I settled on this idea of, like, hey, how hard would it be to make my guitar speak? It sounds easy, maybe, maybe not. So today I want to share kind of my journey in this process and where kind of I'm at today.
So looking around the different tools, there's a framework out there called JUCE, really awesome for anyone building audio software. Look into JUCE, it's pretty good. And then, of course, there's a number of plugins, sorry, plugin formats out there for your digital audio workstation.
And for those that are not aware, your DAW is effectively your IDE, but for musicians and music producers. And then I started with some text-to-speech stuff with Piper and some built-in Apple stuff, and then some other really fun digital signal processing.
So with that said, my first stab here was, I want to get raw text so I could just type in whatever text I want, push it through the text-to-speech, get the audio clip, and then whenever I play a note on the guitar, I want to go and play that back.
So let's go see how that works. So switching over to my Logic Pro here. And this is the plugin I made. So it's just like any other plugin in Logic where you just plop it in there. It's just, you know, chaining all the effects together.
And so this is what I came up with.
Developers.
So it's playing Developers. Pretty awesome,right?
Developers.
Kind of reminds me of something,right? Start clapping. Everyone, start clapping.
Developers.
Developers, developers, developers, developers, developers. Awesome. Thank you. That's pretty awesome. You guys are great. So I got it to where it's playing an actual audio file. That's pretty awesome. But it turns out, you know, in English, or in any languages for that matter, there's more than one word.
So the next kind of evolution, oh, it's a little bit chatty. The next evolution there is, let's actually go and slice it per word now. So I got it to the point where it's playing. Now it's going to slice per word.
Word slicing7:31
Look at me. I can speak. Look at me. I can speak.
So now it's speaking words. And that's pretty awesome,right? But it turns out that as we speak, there's a number of challenges in how we automatically slice words. So I looked into this thing called energy gap segmentation. The general idea here is if you look in any waveform over here, we see that here's a bunch of words that we're speaking,right?
The idea there is there's typically silence in between words. So let's just cut it whenever the decibels are very much close to zero,right? But the issue with that is there's actually sometimes when, you know, as I'm speakingright now, for example, there's actually no silence in between some of my words.
So it gets a little bit challenging to where it's not 100% foolproof,right? So beyond that, I looked into this thing called sonority peak syllabifier. That's a hard word to say. Effectively identifying the syllables of the audio signal and identifying that there's vowels in here.
Vowels typically lead to syllables. That's kind of the idea. So I said, okay, let's take the sonority peak, add it to the energy gap, and figure out if we could just make that work automatically. So with that said, I made it kind of work.
So let's just play this one.
Thank you for letting me be.
Nope.
Here. It feels so good
to get out of my guitar case once in a while.
So there you go. It's working pretty well. Not quite as good as I want to. So long story short, I settled on just the ability to go and actually drag this and manually edit some of these segments in here.
Singing9:36
So worked okay,right? But moving on, you know, with the spirit of evolving the thought, evolving the project,right? It's like, okay, we're having the AI say stuff, that's great. But what if we could actually make it sing? Let's take it to the next step, because this is music, why not,right?
So I looked into pitch detection. And for those that are not aware, as you hear any noise out there, there's typically multiple frequencies going on at any given time. You know, think of when you play the C key on the piano, there is definitely a fundamental frequency or the kind of the one that we identify as the note, but there's a bunch of other frequencies.
So we needed a way to go and figure out, like, how do we detect that fundamental frequency? So when I press something on the guitar, how do I translate that into an actual note? And then I found this YIN pitch algorithm.
Basically what it does is it detects the pitch. I won't get into all the details, but look it up. It's kind of a fun, really cool way of detecting the pitch. But effectively what I do is I play the guitar, I detect the pitch, I make what's effectively a pitch sawtooth, or AKA a synthesized note.
So for those that are not familiar with how audio works on the computer, you think of electronic music, all that stuff. That is basically a synthesized note. We have ADSR, which effectively are the levers to figure out how to actually make the note sound in different ways.
And then, so basically we get the pitch notes or the synthesized note, we then push it through the voice clip effectively. So think of the talk box. We're kind of filling up the cavity of the talk, of the voice that is.
Jam session11:13
And we push it through a vocoder and it should sing. So that's kind of the idea,right? So with that said, let's go ahead and jam out a little bit because I have a guitar and it's fun. So I'm going to get back to Logic here.
So I'm going to play some chords. I originally was going to play a song that is very much related to the talk, or the title of my talk, While My Guitar Gently Speaks. But because it's going to be posted online, I don't want to muddy up the waters with any copyright things.
So I will play some chords that may or may not sound similar to a famous song. So.
So that's the backing track. So let's go ahead and have some AI speaking on top of it.
I'm here.
Nope. Allright, technical difficulties. Let's try that again.
Live demos are always the best.
I'm here.
Allright, technical difficulties again. So sorry for that. But let's just run through it and see what happens.
Since that's peak, I'm a guitar that can speak.
Awesome. So there you go. Some bugs to work out, but overall we are able to say words on top of this. And for what's worth, I'm trying to mix the synthesized note with this clarity leverright here. So we're mixing the synthesized note with the actual voice that the AI is giving.
So that worked pretty good.
But there's also this other question. You know, given that when you speak, it's typically conversational, what if I could take this to the next level? And what if we actually had this microphoneright here where I could speak into the mic?
Guitar Q&A13:55
It would then respond on the guitar. So the way that I accomplish this is speaking to the mic, use speech-to-text, so whisper, put that into raw text, run a local model on my computer. It doesn't really matter what LLM, just any local model.
Have a conversation coming, and then from that output, go and plop it on the guitar. So let's see how this works.
Anyone have a question you want to ask my guitar?
Anybody?
What is reality?
Let's do it.
What is reality?
So it's thinking, going through the LLM things, and let's see what it says.
That's quite a question to start with. How does your music help you understand that elusive concept of realityright now?
So yeah, very existential. I like that. So thank you for that suggestion there. So there you go. We have a choppy version, but it is working. So that's a win,right? Awesome. And thanks for the claps there. But really, like, it's not quite singing yet,right?
So moving on in this project, it's like, how do I actually make it sing,right? I found a lot of open source options out there as far as recordings or samples, if you will. There's a thing called VocalSet out there.
Vocal samples15:34
They basically recorded a bunch of singers, and I could use those audio files to go and do some fun stuff with them. And effectively, I took those samples. I used a project called World, which helps with things like pitch shifting and some other things.
And I'm able to then shift the pitches of everyone singing on those audio clips and map it to the guitar. This is a very heavy process, and so I can't really do that live. I have to effectively pre-bake that.
And then once it's already pre-baked, I could then go and jam out with it. So with that said, let me go ahead and show that example here.
So because it takes so long, I actually just started with the vowel sounds. So there's somebody singing each of the five vowels. And so we'll see how that sounds,right?
Kind of fun, kind of weird, but overall it's working. It's closer to singing,right? So let's go ahead and throw that on top of all the chords over here. And let's see if we can make it sound decently well.
So we'll just play these chords again.
So not quite your opera singer, but getting closer. And so I think there's something awesome there. So effectively, once again, that is going through the whole synthesized process, putting a sample, shifting the pitch shift of the sample, and then effectively mapping each fret or each note on the guitar to one of those samples that are pre-baked effectively,right?
So with that said, where do I want to take this next? Very much want to get into more of the AI heavier options. If anyone has any other ideas of how to make the guitar sing, feel free to come up to me after.
Closing17:37
I think it's pretty awesome. But more importantly, you know, everyone here, going back to the charge to go and build some awesome side projects, some passion projects of yours, like, what is that for you? Go and build awesome things, because nowadays with AI, we could build so many really cool things, and time is typically not the big time suck that it once was,right?
So with that said, be awesome or be good to each other, and thank you very much.





