Search

616: Strum Machine with Luke Abbott

Download MP3

Luke Abbott is the creator of Strum Machine, an app that simulates backing tracks by stitching together individual notes, chords, and strums recorded on guitar, standup bass, and mandolin. We talk about what Strum Machine does, why he decided to build it, how bringing on a professional designer helped, pricing thoughts, and the "fun" of building a version on iOS.

Tags:

Guests

Luke Abbott

Web · Social

Musician and creator of Strum Machine.

Time Jump Links

  • 01:11 Introducing Luke Abbot
  • 06:21 Why did Luke create Strum Machine?
  • 12:37 What is Strum Machine?
  • 17:27 There's lots of knobs on Strum Machine
  • 24:04 Changing key for audio
  • 29:30 How did you launch the app?
  • 31:30 Pricing an app for musicians
  • 37:36 Adding notes onto any song
  • 39:24 How did you build app versions?
  • 45:24 The "fun" of building an audio app for iOS
  • 49:51 Enabling users to share songs
  • 54:59 Building a song in the app

Episode Sponsors 🧡

Transcript

[Banjo music]

MANTRA: Just Build Websites!

Dave Rupert: Hey there, Shop-o-maniacs. You're listening to another episode of the ShopTalk Show. I'm Dave--bluegrass--Rupert and with me is Chris--clawhammer--Coyier.

Chris Coyier: [Laughter]

Dave: Chris, how ya' doin' today?

Chris: Fantastic, Dave! Congratulations on starting the new gig here. You had to adjust your permissions. You're on a new laptop.

Dave: A new laptop, so I had to just say, "Scan my hard drive to all the new Web apps." Just kidding, bosses.

[Laughter]

Dave: That's a joke.

[Laughter]

Chris: Just kidding. Well, that's--

Dave: And also, it's your fault because I'm using Edge again, so. [Laughter] It's your fault if they got access to the whole hard drive.

Chris: I see.

Dave: Just kidding.

Chris: Back on Edge. Dave goes Windows. All full circle, baby.

Dave: Well, yeah. No, we can talk about that later.

Chris: I know. I know. It's another time.

Dave: Today... Yeah.

Chris: We have a special guest on, though, today because it's--

Dave: We do have a guest.

Chris: We do. And we're going to end up talking about Web audio API and stuff. But first, I'll just introduce him, Luke Abbott. Hey, Luke. Thanks for joining us.

00:01:16

Luke Abbott: Hey! Thanks for having me.

Chris: Yeah. Creator of a very specific website--

[Laughter]

Chris: --that I would bet that the vast majority of y'all have never heard of.

Luke: Yep.

Chris: Because it's... Not to disparage the website. I just mean it's pretty niche.

Luke: No. Statistically, that's accurate. Yes.

Chris: Yeah. [Laughter]

[Laughter]

Chris: I'll tell you how I know about it. I just feel like an intro story is worth it.

I moved to Bend, Oregon. That's where I live. You know, years and years ago. And was interested in getting into the old-time community here.

Speaking of niche things, it's a pretty niche style of music to play at all. But I just like it. There's just something about it. Everybody has got a style of music that just really speaks to them. This is it for me. It's almost a little unfortunate because it's so... you know my wife can't stand it. You know? But here I am, like, "Sorry. I like it."

Dave: Should we add a note here, like, you think of banjo music. There's bluegrass like Earl Scruggs, Dukes of Hazzard, right? And then old-time is almost like guys in Appalachia dancing in clogs, like clogging on a piece of plywood to--

Chris: A lot more clogging, for sure.

Dave: A lot more clogging.

Luke: More dance music, yeah.

Chris: Yeah. There's no rippin' solos, less lyrics and stuff. There's really a lot to distinguish the two types of music. To somebody who just has never once thought about it, it probably doesn't scream out at you as different. But if somebody showed you the two different styles, you could be like, "Yes, I understand that they are different."

Luke: Right.

Luke: Yeah, so when we say old-time, we really mean kind of old-time, like 1800s.

Chris: Yeah.

Dave: Early 1900s feels.

Chris: Yeah.

Dave: Sometimes.

Chris: Sometimes. Anyway, it's fun to think about for me. I'd love to have a whole show on the history of old-time and what it means. But I'm a little bit a part of that.

Luke: That might be a different podcast.

Chris: Yeah. Of that community here in Bend and the people I played with were like, "Okay, a lot of these songs that we're going to play are on some website, which is called--"

Luke: Strum Machine.

00:03:22

Chris: Not Strum Machine, which is what we're going to talk about, called Tater Joes. I'm going to circle... I'm going to get to Strum Machine.

Luke: Right.

Chris: And it just so happens that this Tater Joes website is from a guy named Ken, who we both sort of know - kind of.

Luke: Yeah, I've known... I met him... I've known him for like 20 years. Yeah.

Chris: Yeah. Wild. He's in Portland now, and you're not, right? You're in the Bay Area or something?

Luke: Bay Area, yeah. Santa Cruz originally. Now a little further south. But we used to cross paths at festivals all the time - stuff like that.

Chris: Yeah. Right on. You know him better than I do. I just know him through friends of friends and then just kind of being a fan because I'm like, "Oh, my God. Thank you so much for creating Tater Joes! It's so useful to me."

Luke: Yeah.

Chris: It's like this repository of fill and banjo tab, so it's like, "How does that song go?" You look, and it shows you, you know, "Play with your first finger on the third fret of this string." That's just really useful. There's so many of them, so it just has facilitated the learning of it, for me, which is cool.

But then I'd play with these people, and they would show me this other website, Luke's website called Strum Machine, that is not that. It doesn't have tabs on it. It has chord sheets. So, it's kind of like if you need a song, it's like, "Oh, it goes A-A-D-D-G-D," or whatever.

Luke: Right.

Chris: That's pretty important stuff to have, too. But your website really takes it a step further in that you don't just look at it. You hit the play button, and you hear the song. Not the melody but the chords behind it.

Luke: Right.

Chris: That's, I assume, quite on purpose because the point of it is, like, to be not just a reference. Even though the reference is cool, and that's free, I think, right? You can see the chord charts for free.

Luke: Mm-hmm.

Chris: But if you want this kind of playing functionality. Because I'm about to play the tab, and I don't want to just play it to a metronome or to nothing, I want to play it and kind of feel what it's like to be part of a little string band, that's what strummachine.com does. You just hit the play button and it plays a song.

And one of the ways you could have done that is probably just - I don't know - record yourself playing the song or something or record a band doing it. But that is not the approach that happens here, and that's why I think this is cool for ShopTalk Show is that you have programmatically done this.

Luke: Yeah.

Chris: There can and are many, many thousands of songs, and I can even create it and have... You can just go into Strum Machine, hit "New song," and kind of type out a song pretty quickly, I'll say. It's a pretty cool interface for that. And now I have kind of a backup track programmatically generated for any song that I want. That's the kind of backstory as to why it exists or, I mean, I don't know. You can tell us why it really exists.

Luke: [Laughter]

Chris: But that's what Strum Machine is, I guess. Let's get into it a little bit more. What's your story of how and why it was created?

00:06:24

Luke: Yeah, so I was teaching music, doing a lot of teaching, you know, call it ten years ago. I wanted my students to have things to practice with at home, so I would do... I would sit down with a mic and just record a backing track for them, maybe at different speeds if I wanted them to have different speeds, and it was kind of tedious. And then they would have one recording at one speed that was just not very flexible to use.

And I knew from programming from a young age... I knew it was possible to have something that would do this programmatically. I actually made, just for fun, a prototype of the basic idea of Strum Machine in like 2007. That was, like, strum a cord and, in a rhythm, and it was like a metronome, but it played a chord. Then I didn't go anywhere with that because I was not a good enough programmer, and I was working, as a kid.

Chris: No, but I am thinking the real basics of this, if somebody was just getting into Web development, you could get a microphone, play a chord into the microphone, and record it as an MP3, or something.

Luke: Mm-hmm.

Chris: You could put an audio tag in HTML and hit play, and it would go, "Brrrung." And then you could put the repeat tag on it - or something - and it would go, "Brrrung, brrrung, brrrung, brrrung, brrrung." And then I'm out.

Luke: Yeah.

Chris: It's going to sound like crap because it's not going to be particularly useful.

Luke: The rhythm is going to off with the audio tag stuff.

Chris: Yeah.

Luke: But that was the basic idea, so I knew it could exist. And so, every few months, I would look. Someone has got to have made this app already.

There was... You know iReal Pro has been out for a long time. That's more for jazz. It's good for jazz. It doesn't sound great for bluegrass or old-time music. It's middy.

Chris: Mm-hmm.

Luke: So, it's got that middy kind of chintzy sound.

Chris: Sure. Sure.

Luke: And it's kind of hard to use.

Dave: [Trumpet music sounds] The horn ... yeah.

[Laughter]

Chris: Even that Tater Joes' website, he's turned the tab into middy.

Luke: Right.

Chris: And I never use it because I just think it sounds so dumb. [Laughter]

Luke: Yeah. Yeah, and it's... So, I was like, I didn't feel comfortable recommending that. There's Band in a Box has been around forever, which has literally a 600-page manual.

Chris: Uh...

Luke: So, I'm not going to recommend that. So, eventually, I was just like, "Maybe I can hack something together for my students."

Chris: Mm-hmm.

00:08:42

Luke: So, the beginning of 2016 is when I put something together (over like a month).

Chris: Much later.

Luke: Just hacked something together that would play a few.

Chris: A decade later.

Luke: Yeah.

Chris: Yeah.

Luke: Yeah. Kind of sort of come full circle. And then gave that to my students. It worked really well for them, and so then I just started... was like, "I think I could turn this into something." Did some user interviews. I was like, "I want to do this right," because I have a hard drive littered of side projects that didn't go anywhere or kind of got abandoned because they blew up into being too complicated or I wasn't focusing on what people really wanted.

Dave: Hey. You don't need to come on my podcast and directly attack me. Okay?

Luke: [Laughter]

Dave: You don't.

[Laughter]

Luke: Yeah, so then in like May of 2016, I released the first version. I just told my Facebook people, "Hey, I made this thing. Check it out." I got like 100 people to sign up from that, just from knowing so many people in the music community for so many years.

Then it basically just kind of has grown slowly from that through word of mouth, and that's kind of the story. I was doing it on the side for a bunch of years (still teaching music). Doing some gigs here and there. Doing some freelance, like website, WordPress client stuff.

Chris: Yeah.

Luke: Then after about five or so years, I was able to stop doing that stuff or phase out everything else and just work on Strum Machine, so now it's my full-time gig.

Chris: Yeah, that's great. I'm glad people can hear that story because I feel like it's kind of a fair crack. It took a bunch of work. It took a bunch of time. It took a bunch of false starts. You know?

Luke: Yeah.

Chris: That's real stuff, people. And probably some luck. You happen to find a little niche thing that some people actually quite need.

Luke: Yeah. Making something that people need and also serving an audience that... serving a user base where there's a communal aspect to it. People play with each other and they're telling... If they find a cool tool, they're going to tell their picking buddies.

Chris: Mm-hmm.

Luke: It's got that sort of word-of-mouth thing built in. It really makes my life easier because I can focus on making it better and not have to worry too much about advertising and things like that.

Chris: Yeah, that's nice. What's a good word for that? The network effects - kind of.

Luke: Yeah, viral kind of thing a little bit.

Chris: Yeah, it's nice. You don't have to dump a bunch of cash into marketing. Although, I do... As a product, it is kind of clear to explain and stuff. I would think some marketing would actually maybe work for you. But I don't know.

Luke: Yeah, it's on my to-do list, but I keep wanting to work on features instead. [Laughter]

Dave: Yeah.

Chris: Oh, yeah. Tell me about it. It's way more fun.

Dave: I think it's pretty cool because I think part of banjo, the fun part is playing with people, and that's how you practice, and that's how you get good. I can follow my tabs at home, but I don't necessarily get better or more on time or more... you know. I don't learn the A-B, A-B sort of--

Chris: Structure, yeah.

Dave: Structure--

Luke: Yeah.

Dave: --that real-time has. And so, I just think that's really cool because - I don't know - to truly practice, you have to get three people in a room, like somebody who knows what they're doing, somebody to play guitar, and then the person learning.

00:12:04

Luke: Right. Yeah, a big part of this music is that playing with other people aspect. You really need that experience. Put yourself in that experience, and it can be daunting, especially as a beginner, to jump into that world.

Chris: Yeah, if you can find it at all.

Luke: And, yeah, it can be hard to find people on a regular basis. Maybe you can only get out once a month or something. So, to have something at home--

Chris: Right.

Luke: --you can sort of practice those skills of playing with other people, staying in the beat.

Chris: Yeah, that's what this app is. It's been, like, that's really hard, so now a robot is your friend.

Luke: Yes.

Chris: [Laughter] Yeah. I didn't do a very good job of explaining exactly what it is, though. I wonder if you could, for somebody who is like, "I have no idea what they're talking about," what is Strum Machine?

00:12:46

Luke: Yeah. You got pretty close. It just plays. It will play a backing track. It will play, so that's guitar strumming. There's a standup bass playing the bass notes. There's a mandolin chopping. Someday there will be other instruments. But so far, it's just those three.

Then it will strum rhythm, and it's generating it programmatically so that it will play any chord progression. It will play it at any speed. You can change the key. You can loop sections. It's just got a lot of flexibility and it all responds instantly, so, like, "Oh, I've got to slow that down." You just press a button a few times. It drops the tempo.

Chris: That alone is amazing. There's just a BPM selector.

Luke: And it doesn't use stretching of audio, like when you slow... You can slow down YouTube with a gear. You can put it at half speed, and then it sounds... It's got that sort of robotic.

Dave: Slowed.

Luke: Yeah, it sounds weird whereas because Strum Machine is just literally changing the way that it's generating the audio in real-time, it doesn't have that effect. It still sounds natural and realistic because it's using--

Maybe I'll just get into the little bit more nitty-gritty of how it works. It's using real audio samples that I've recorded on my instruments, like real instruments.

Chris: Mm-hmm.

Luke: The basic version is that I... Like we'll take a simple boom chuck guitar strum, and that's where you have a bass note. And then you've got the strum down of the cord. So, I recorded every single bass note isolated as an MP3 file. And then every single strum, so 12 major chords, 12 minor chords, 12 seventh chords for all the notes, all the chords in the scale.

Chris: Mm-hmm.

Dave: I'm already out on this amount of work. I just want you to know. So, go ahead.

[Laughter]

Dave: Keep going.

Luke: And then with the Web audio API, the way it works is you load all those samples into memory. Then as time as going along, you've got a set interval call that's checking every half a second, quarter of a second, and saying, "Based on the tempo, based on the chord chart that we have here, what do we need to be hearing in the next half a second?" All right. In 300 milliseconds, we need to hear a C note. So, then it schedules with the Web audio source node (whatever it's called). You can schedule the playback at this specific time in the future.

Chris: Wow! Right.

Luke: Which is millisecond accurate. It's probably sample-level accurate. So, you schedule that, and then you say, "All right. In another 200 milliseconds, we need to hear a strum." Okay. Then in another 200 milliseconds, it's changing chords, so we'll schedule the mute of what we had been hearing and then start playing the next chord.

Chris: Wild.

Luke: That's basically it. That's all you need to do the simple stuff. Then there is a little more trickery going into the more complicated strumming patterns. But it's still just using those basic building blocks of samples. Yeah.

00:15:54

Chris: I bet. Yeah. Yeah. I was just playing with it last night and it looked... It seemed new to me. Although, then I went to the forum and saw it's been about a year, maybe, you've been working on it. Now there's bass runs between chords.

Luke: Yeah.

Chris: You can say how much of it you want. That's a classic, old-time thing. If you're playing a G chord and then you go to C, you walk up to it. Bum-bum-bum-bum - or whatever it is. I mean and not all the time because if you heard the same bass run over and over, it can get boring or repetitive or something.

Luke: Right.

Chris: That seems incredible to me. That's the little extra touches that are in Strum Machine. That's what you're paying for, people.

[Laughter]

Chris: Because when you're... Again, what this is, it's a robot to practice with. The more that sounds like a fun, backup string band for you, the more fun it is to practice.

Luke: Yeah.

Chris: The more satisfying it is to play along with it.

Luke: Yeah. The bass one was really fun to put together because that was some of the most fun parts of working on this project is the intersection of coding, fun coding challenges, and music things. It's like, "How do I programmatically describe all of the possible bass runs you can do? How do I build a user interface that lets you customize them in a way that isn't 20 different knobs for different kinds of bass runs?"

Chris: Yeah.

Luke: But try to boil it down to something more or less simple. Yeah, it's a fun sort of novel thing because it's not like I can go grab something off of GitHub to help. It's like starting from scratch. But it was really fun.

Chris: No. I can imagine that was just incredibly difficult thing to do.

[Laughter]

Luke: It took a lot. Yeah, a lot of iteration.

Chris: There's a lot. Speaking of knobs, there just is a lot of knobs on here. I'm fascinated by how many knobs there are, really, because we just said bass runs. It's not like there's a knob that says, "Do I want bass knobs or not?" You could have done it that way. It's a little bit like that because you can turn them off, and you can turn them on. But you coded it in such a way is, like, "How many do you want?" It's a fricken' slider.

Luke: Yeah.

Chris: There must be - I don't know - eight stops along the slider.

Luke: Four stops.

Chris: Four stops.

Luke: Didn't want too many options. Yeah.

[Laughter]

00:18:04

Luke: That's the... I mean there are a lot of knobs, but I do also want to say my focus is not giving too many... Like not having a cluttered interface.

Chris: Right.

Luke: Those bass runs are kind of tucked away under a menu or under a couple of menus.

Chris: Right.

Luke: Because it's really easy to throw a bunch of UI up and give people so many things that they don't know where to start and it's overwhelming.

Chris: Absolutely. Yeah. It is very tastefully tucked away. In fact, if you've never... There's a button in the interface (when you're looking at a song) that says, "Band settings." And if you never clicked that button ever, it's still a pretty damn useful app.

Luke: Yeah, and a lot of people don't. A lot of people don't ever customize those settings.

Chris: That's cool. But the things that, like, when you're looking at a chord chart, again that you do see are just very obvious things that you need: a play button, a stop button, a start from the beginning button, the BPM (because I think that's quite important, really).

Luke: Mm-hmm.

Chris: Is the "How fast is the song?" You could be like, "Whoa, Nellie! Bring it down."

Luke: Yeah. No, that's a very core aspect.

Chris: Right.

Luke: Yeah.

Chris: And you have a couple that are surfaced at the top level. One of them is an auto-finish thing. I'm sure this happens to a lot of people that use that. You play the song, and you got it, and you're grooving to the song. I feel like a lot of times when you play, there's some kind of natural ending to it. Somebody calls the end of the song or - I don't know - you're playing along to a recording and the song just is over now because songs are three minutes long - or whatever.

Luke: Right.

Chris: When you're playing with Strum Machine, you're like, "I have been going for a while here." You're like, "Oh, that's right. It never ends," so there's a button that if you get caught in that loop, it'll say, "Just do this three times," or four times or something.

Luke: Right.

Chris: Then it'll stop.

Dave: All right. Here's my first of many feature ideas. You open up the microphone, right?

Chris: Yeah. Yep.

Dave: And if I go, "Ah-ha!" then it starts. It'll wrap that on the....

Chris: [Laughter]

Luke: I know. I know. I looked into this.

Dave: Oh, really?! Wow.

Luke: Can I do speech recognition with the microphone? I tried out some stuff, and I want it to happen locally so that I'm not streaming audio and doing all that stuff. But it's almost there, but the background noise of your own playing kind of makes it hard.

Dave: My full throttle banjo?

Chris: Yeah.

Luke: You're not going to hear people over it.

Chris: I thought of this, this morning in my car (because I have Siri in my car, and I needed directions or something somewhere). I held the Siri button down, and it didn't stop the audio. I was listening to some music, and I was like, "How do you know what I said? Isn't 80% of what you heard what you're playing?"

Luke: Yeah. I guess if it's playing it, maybe it can filter it out a little easier.

Chris: Perhaps.

00:20:49

Luke: One thing I would like to do for the stopping, I've wanted to do this for years, and it's going to come someday, is have a button that's like, "This is the last time." Like putting your foot out in a jam. That's the signal.

Chris: Yep.

Dave: Oh, okay.

Luke: And then you could, like, hook that to a foot switch, Bluetooth foot pedal.

Chris: Oh, yeah.

Luke: And press that as, like, all right. That tells it this is the last time.

Chris: That's cool. The voice is cooler, though.

Luke: I know.

Chris: Dave was just a joke, but that would be right because then you can call out other commands. You could be like, "Whoa, whoa! Start from the beginning."

Luke: Right.

Chris: Or "Start on the B part. Go."

Luke: Speed up.

Chris: Yeah.

Dave: Yeah.

Dave: Speed up.

Luke: Someday AI will solve all these problems. [Laughter]

Chris: It just might.

Dave: ChatGPT, just load it up.

Luke: Right.

Chris: It was a good week for that, the little O model, or whatever.

Luke: Oh, my gosh. Don't get me started.

[Laughter]

Dave: We could... Okay. Here's your second idea. I'm giving free ideas.

Luke: [Laughter]

Dave: A 3D avatar of a moonshiner clogging it up while you play. You know? Like a full-dancing moonshiner.

Chris: Oh, but it listens to how well you're playing and only--

Dave: Yeah. Yeah, and he's--

Chris: Only clog--

Dave: His power meter goes up as you get better.

Chris: Don't miss notes?

Luke: I will definitely add that to my backlog.

Dave: Okay. Yeah, that's all I ask.

00:22:00

Chris: I was on my little thing about UI stuff, so there's stuff about the band. That is really, I'm sure... I don't know if it was the bulk of work you do on the app or what, but that seems like there was a lot put into how you want the "band" to sound.

Luke: Yeah. That was, I would say, most of 2023 ended up being just working on that. Well, 2022 was a lot of getting the basics of it. Then 2023 basically ripped out everything that was there and totally redesigned it and added a bunch of stuff.

I started working with an actual professional UI designer. His name is Tyler Stegall. And we've been working part-time, and that's been so great because, before that, everything I made myself. My skills got better as I got along, but actually working with someone who really knows what they're doing and collaborating has been really, really fun.

Chris: Nice. Nice, yeah.

Luke: He's a lot to thank for leveling up these new band settings and so forth. And he's looking for more work. So, if anyone out there needs a really good designer, get in touch with me.

Chris: Oh, yeah.

Dave: Right.

Chris: It's nice to have. It's probably good for him to have something super public that you can see, as some people look for a job. They're like, "I did work. I promise."

Luke: And I hired him partially because he is a user. He's a banjo player.

Chris: Oh, nice.

Luke: He's been using Strum Machine for a few years already. So, it was perfect. It's perfect because he knows the product. He knows the audience. He's approaching it from that angle, and he's really just good at thinking about things in that sort of complementary way that I am about what do people really need. You know?

Dave: That's a blessing and a curse to work on the app you like. You know?

Luke: It is! I have a really hard time just practicing on my own because I'll use it for five minutes and, like, "Oh--"

Chris: I've got to fix that.

Luke: Yeah. Yeah.

[Laughter]

Luke: It is a curse. Yeah.

Chris: Oh, that's wild.

Luke: That's my ultimate goal with Strum Machine is just to get to a point where I can just use it and just be like, "That's fine." Not be thinking about things I want to make better.

Chris: You know the key thing is huge, too, I think. Any given song on a recording, it just might happen to be in a different key or the people that you play with prefer it in a different key. That used to be a real bummer in the past when you found a chart that was wrong. You'd have to scrawl it with a pencil and change it or maybe you're good at converting it in your brain on the fly. But probably most people aren't, especially if they're a student and they're just learning.

Luke: Yeah.

Chris: That's just so cool that you can just grab the key selector. And it's not just... It's any dang key. You want to play it in B-flat - or whatever - go ahead.

Dave: Maybe you have a weird long-neck banjo.

Chris: Yeah or you're a singer and it matches your voice better, right?

Luke: Exactly. Yeah.

Chris: Yeah. Okay, so that's just amazing. And it's programmatic, right? It's not like people make ten versions of the song, right?

Luke: Right. You can just change it. Strum Machine doesn't care. It'll play any key.

And the whole editing thing, too, people really get a lot out of that because if it's like, "I really want to hear an F cord here," like, "I want it to go to the 4 cord," or whatever.

Chris: Yeah.

Luke: You just hit, "Edit," and make those changes.

Chris: Yeah. It's pretty seamless, right? Then that version of the song that comes up for you is the one you edited.

Luke: Right.

Chris: I like that. That's a UX consideration, right? It doesn't tuck it away into some - I don't know - pocket of edited songs or something. It almost becomes easier to find once you've edited it, right?

Luke: Yeah.

Chris: Yeah.

Luke: Because that's your version. It should surface it for you. Yeah.

Chris: Pretty cool.

Luke: And that takes a lot of pressure off of me as someone who is putting in these chord charts because, as you know with old-time music, there's no one right way to accompany these songs. So, I can put one in there and be like, "Okay, if people don't like that, they can just change it easily themselves." It takes the pressure off of me. [Laughter]

Chris: You could put your whole set list in here, too. I think that's kind of interesting for people that have a plan. They're like, "Hey, we're playing at the school dance," or whatever "and we're going to do these eight songs." You can just set them all up; play all eight of them in a row. So, you could practice that way without having to stop. Very, very clever.

Yeah, I just remember poking around through the app and being like, "Man, there are so many settings." Some people like to think about chords, like you called the F a 4 cord - or whatever.

Luke: Right, the 1-4-5 system. Yeah.

Chris: Yeah. People think in 1-4-5 a lot. If you just prefer to see the output in that way, you can just do that in the app.

Luke: Mm-hmm.

Chris: I think that's cool. Literally, 1-4-5, and then also the Roman notation for it.

Luke: Sure.

Chris: I prefer the slash look, too. I think that's nice. Instead of it just going, like, D-D-D-D-D-D-D-D on a chord chart, it can just say D and then just slashes until the chord actually changes.

Luke: Right. A little cleaner.

Chris: Yeah, it is. It's just how I prefer it. But you don't make those choices. You get to go into the settings and pick how you like to see it.

Luke: Yeah.

Chris: Pretty classy.

Dave: One time I went to Mexico and somebody handed me guitar tabs, and it was in do-re-mi notation. So, it was like re minor, and I'm just like, "I have no idea where I'm at." [Laughter]

Luke: Oh...

Dave: It was so confusing.

Chris: Really?! I've never seen that.

Luke: Yeah, solfege.

Dave: Like mi 7 major, you know. [Laughter] It was just like, "This is so different."

Luke: Interesting. Yeah.

Dave: Different cultures.

00:27:41

Chris: Then before we move on, we talked Web audio API a little bit. It took you years, and it was hard to figure out how to get this with all the scheduling stuff.

Luke: Well, actually--

Chris: We're not going to get too far into that, but--

Luke: Yeah, I mean that part was pretty simple. It took me a couple of weeks.

Dave: To get up to speed on Web audio?

Luke: Yeah. I just use a library. I think I use Sound.js is the library I used. I know that the other ones in the space that would also work are... gosh, what's the name?

Dave: Tone.js is another one, but I think that's more for like individual notes, right?

Luke: I think that's more for like generating audio, like oscillators and stuff like that.

Dave: See, that's been my problem with it is you go into Web audio and they're like, "Step one: Gain object. Step two."

Luke: Gain node, yeah.

Dave: Yeah, gain node. Step three, oscillator node. You know? And you're like, "Am I building a synthesizer? Is that what I'm doing?"

Luke: Yeah.

Dave: Is that what it feels like? You're just building--

Luke: You can. You can go real deep in there, and I'm not using 90% of it. I'm using Web audio source node for the playback.

Chris: Yeah.

Luke: Then that connects to gain nodes to adjust the gain, which is basically the volume of whatever I'm playing. And then that connects to--

Dave: Like pitch and whatever nodes?

Luke: Well, I'm not using those.

Dave: Oh, wow.

Luke: It could.

Dave: Oh, wow.

Luke: But no, there's no pitch adjustment. Everything is just different MP3 files, basically. Then those nodes all connect to the output source, like the output node, whatever it's called, the destination. And then that's it. It's pretty simple. Yeah, it was very surprisingly easy to get up and running. It took me a couple of weeks, I think.

Chris: Yeah. Interesting.

Luke: For the basic, basic boom chuck kind of stuff, at least, yeah.

Dave: And product-wise, how did you roll this out to people? You were just like, "Hey, here's my--" Were you up in people's faces, like, "Here's my thing. Use my thing"? Or were you just kind--? How did you--?

00:29:40

Luke: No. Like I was saying, I just posted on Facebook, made one post, got like 100 people signed up, and that was about it. I haven't done very much.

Then I sort of stopped using Facebook for various other reasons.

[Laughter]

Luke: I've done a little bit of YouTube sponsorship. I've done a little bit of podcast sponsorship, but very little. It's mostly just word of mouth.

Chris: Yeah.

Luke: And it's just been slow. There is something really nice about now worrying about growth, not trying to put the foot on the gas too hard, and just letting it grow more organically, and having other... Having it be a side project and having other sources of income, so I don't have to worry about, "Oh, gosh. I'm running out of runway. I've got to make this work or I'm going to not be able to work on it anymore."

To be able to take my time and just let it get better, let the product get better, let people learn about it, and then get to a point where eventually, okay, it's getting polished. People are finding out about it. It's working. I can work on it full-time.

Chris: Yeah, cool. It is like that. I had a gig last night, and then we went out for beers afterwards, which is nice. We sat around the table, and I was like, "Hey, look at this." You know? "Have you seen this? I'm talking to this guy tomorrow." [Laughter]

And everybody had heard of it before. It just feels like even if you don't use it, you've heard of it (in certain circles, I think).

Luke: Yeah.

Chris: Then one guy was like, "How much is it, though?" You know? I was like, "It's $50 a year." And I was almost fishing for, like, "And what do you think about that?" because I'm fascinated by it. You know I have to price my own products, too, and think about price changes and stuff. So, I'm absolutely fascinated with whether that works or not.

And your audience is so different. If you make a game, there are certain pricing things. If you make an app for developers, I feel like you can kind of crank that knob up a little bit because you're designing it for people with six-figure jobs, or whatever.

Luke: Mm-hmm.

Chris: Whereas musicians, I don't know. You know?

Luke: Run the gamut.

Chris: There were four guys last night and they all made $20 a pop from the fiddle case. You know? $50 is not a small choice for some musicians. It's just not a gig that pays that much. All musicians tend to have other jobs.

[Laughter]

Chris: There's that going on, too. But $50 a year right now, I believe, is what Strum Machine costs, right?

Luke: That's right.

Chris: Monthly options, I don't even know if you do or not.

Luke: Yeah, $5 a month, $50 a year.

Chris: Sure. It just seems inexpensive in the SaaS world that Dave and I live in. I would think... I would look at that number and be like, "That's too low." Right? But I don't know that. Thinking about the musician audience, I don't know anymore. How do you feel about it?

00:32:40

Luke: There are a lot of people who are like, "It's so cheap," because a lot of people use it every day, or multiple times a week, for their practice.

Chris: Right.

Luke: They might practice with it multiple hours a week. So, if you amortize $5 a month, it's so cheap for the amount of value people are getting out of it.

Then there are other people where $5 a month (or $50 a year), that's a consideration, and it's too expensive for them.

Chris: Yeah.

Luke: That's fine. It's always going to be too expensive for somebody.

Chris: Yeah. Yeah. Yeah.

Luke: And that's fine. I think that... Is it that... What is it called? The efficient equilibrium - or whatever - where it's like, "I'm maximizing my revenue." I would kind of say probably not. I could probably charge more and make more income. But there's just something I really like about $5 a month, as it's just kind of a no-brainer.

Chris: Yeah, it's a good number.

Luke: It's the sort of standard, easy price. People don't have to think about it too hard, and I can offer it to the community. More people are able to use it. Make it more accessible to people because it's really not about making a bunch of money for me.

Yeah, I need to make a living and that's important. I need to support myself. But I also want this tool to be out there and people to use it. So, making it more accessible, it just feels really good.

So, someday I'll probably have to raise my prices... eventually. But I'm kind of waiting it out because I like how things are working and I'm making enough money.

Chris: All right.

Luke: I don't have very expensive habits or anything.

Chris: No. The difference is let's say you made it $3 a month - or something. Would it actually change? There's no way to know other than testing it. I'm not recommending that you do - or whatever. But it's just fascinating to think about.

Luke: Like if I made it cheaper?

Chris: If you cut the price in exactly half, would you sell more than twice as many or not? How do you know?

Luke: I'm almost certain not.

Chris: Yeah.

00:34:40

Luke: I actually was thinking... When I first was... back in 2016, I was like, "All right. I want this to be... This seems like a subscription product. What do I want to charge for it?" My first thought as $1 a month.

Chris: Hmm...

Luke: Because I was not very confident in myself, and I was like, "LastPass is $1 a month, $12 a year," at the time.

Chris: Okay.

Luke: "I'll just do that." And then I talked with people, and I was like, "What seems like a fair price?" They were like, "$10, $20 a month." I was like, "Really? Okay. What's the no-brainer price?" They were like, "$5 a month."

Dave: Hmm...

Luke: Then I found a really interesting blog post from Workflowy. You know that app? Jesse Patel made it. It's like an infinite outliner thing that I've used for years. There was a blog post and a comment on one of these blog posts that someone was like, "It's great, but it's too expensive. Can you make it cheaper?"

He added a comment that I was like, "Thank you for making this public." "We did a price experiment where it was half price and it didn't affect conversions at all."

Chris: Hmm... Yeah.

Luke: I was like, "Okay. That's good to know. Thank you for saving me the trouble." [Laughter]

Chris: Yeah. I'm sure most people don't want to hear it, but it's much more likely that if you charged double, you wouldn't lose half your customers.

Luke: Right.

Chris: Yeah.

Luke: Yeah.

Chris: So, that's the harder pill to swallow.

Dave: I mean $5, I feel like, is definitely my "buy it now" - whatever - "don't think about it" limit.

I paid $20 for a Patreon for music lessons for Shamisen, which I do want to circle back around to.

Chris: Yeah.

Dave: But $20 a month, and I barely used it. I had to go and log in. I watched the videos, but I had to go log in, sit down, and practice. And I never did. So, you know. In the grand arch of music products, this is not that much. Even a set of strings cost more. But I think it's very cool. I think you have the right--

Luke: Like if you're taking lessons, too. Immediately, you're probably spending $100, $200 a month, so then it's like, in that context it's nothing. Yeah.

Dave: Yeah. Yeah. No, it's almost like adjacent pricing theory gets you so far here. But yeah, I mean one feature you could upsell is some AR moonshiner. You know?

Luke: [Laughter] That'll be the pro, the pro tier.

Dave: Yeah, vision pro integration.

[Laughter]

Chris: Yeah, the chords come flying at you from different--

Dave: Yeah, and then you've got a little buddy dancing along with you. There you go.

Chris: [Indiscernible]

Luke: Something I've never considered before.

[Laughter]

Dave: It's getting hotter. The idea is getting hotter. [Laughter]

Luke: Well, I have thought about I should get some celebrity, old-time, bluegrass musicians to just record phrases from them so they can be like, randomly say, "Yeah! Nice picking!" You know? Just kind of cheer you on as you're playing.

Dave: Oh, that's good. I like that.

Chris: That's a pretty good idea. Yeah.

00:37:36

Dave: I love it. Like an encouragement option. I love it.

One part of old time, not to get too philosophical here, one part of old time (right) is telling the story of the song. I learned that on some documentary Chris posted about, like sharing the story of the song. Do you do anything for that? Kind of like archive the stories of these songs or anything like that? Is that something you've thought about?

Luke: Not really. It seems like too much work. I've done some of that before, like back in the day I was working on some songbooks and so forth with my family and did a bunch of research into the histories of these songs and stuff. And it's really interesting stuff, but it's for someone else. There are other people doing that. I kind of have my hands full as it is.

I do want to improve. So, in Strum Machine, there's a notepad that's personal for you where you can add whatever notes you want. You can paste in lyrics and stuff.

Chris: Yeah, that's nice.

Luke: And I want to do some improvements on that around being able to share notes with other people, being able to see those notes, like put them side-by-side with the chords, a little bit better layout and different things. So, I don't know. That's kind of tangential to what you were saying. But you could do your own research and then paste it in if you want.

Dave: Yeah. Yeah, it could be your own thing. I mean, yeah. It doesn't have to be--

Chris: I like the little nodes thing. It makes me think of... I feel like every database table in the world should have a Y column at the end of it just in case you need to throw some extra data on any particular entry as to why it's there.

Luke: Yeah.

Chris: Like, "Oh, we banned this user." You know? "Why?!"

Luke: Yeah. Comments for yourself or future self.

Chris: Right. Yeah, so it's the Web audio API, so it's a website. You go to strummachine.com and use it. That's cool.

I had mentioned to you, when I was using it, I was like, oh, I didn't realize until I started actually using it and poking around more that you're producing apps for it as well, which I don't have any assumptions about how they're produced exactly. Although, it seems you did Web stuff for so long, it seems unlikely that you re-wrote the whole thing in Java - or something.

Luke: Yeah, that would be ... to reimplement everything. So, it's just the website. Those Web apps, they're running in Cordova, which is like a Web view, and you package your website in there and it runs locally.

Chris: Mm-hmm.

Luke: I had actually... So, the Web apps, I released in 2020. And I had already done a lot of the work around offline access, which is just with, like, a service worker and index DB, so everything is being stored locally: all of the song data, all of the audio files.

Chris: Yeah.

Luke: It's only like 40 megabytes or so.

Chris: I'm sure that was a bunch of work, but that's just incredible. How useful is that? Especially knowing your audience, like "This better work out in some grassy field in the middle of nowhere," or something. Yeah.

00:40:41

Luke: Yeah, definitely more challenging than I was expecting, the offline, the syncing, all that stuff. It's a real rabbit hole, and it's probably easier these days. But once that was in place, then to do the Cordova stuff was pretty... Well, it was both easy and hard. The easy part was getting it to work.

Chris: Mm-hmm.

Luke: Because that wasn't that hard and then I wrote some native, a few native plugins for detecting Bluetooth latency, which the Web audio doesn't account for, so that if you're using a Bluetooth speaker, it's still synced up with the visuals on the website in the HTML.

Chris: Wow! I did not think about that.

Luke: Yeah.

Chris: You have to think about Bluetooth?

Luke: Yeah.

Chris: Boo.

Luke: Yeah, so I can detect the latency with either Swift or Java API calls.

Chris: Wow.

Luke: Then send that back to the JavaScript side, and then JavaScript knows, "All right. Delay the visuals by this amount." Then I'm also doing, like, keeping the screen on. Just some handy stuff that I can't do with just the Web browser. And people kept asking about it.

Mostly, they want the icon on the home screen, right? They want easy, just tap it and I'm there. Don't have to open the Web browser on the phone.

Chris: Right. That tiny thing is such a big deal.

Luke: Yeah.

Chris: Isn't it? Like, "I don't want to click Safari and then remember the URL and type it in and go there." Progressive Web apps were supposed to solve this.

Luke: Right.

Chris: Were supposed to be able to get a thing, and it does kind of work. I just stayed at a hotel yesterday that strongly had that and it actually worked really darn well.

Luke: Yeah.

Chris: It prompted me to add it on there and I did. You could have gone down that route.

Luke: Yeah, and I did initially.

Chris: Yeah.

Luke: And it worked great for Android but iPhone really doesn't want you using PWAs too much. [Laughter]

Dave: I know a few organizations that would love for you to document those problems.

[Laughter]

Luke: I think they're probably pretty well documented at this point. But I also kept hearing from people who, like, "I searched for Strum Machine and I couldn't find it," because they're just going straight to the app store.

So, I was like, "All right, fine. I'll make a Web app... I mean I'll make a mobile app."

Chris: Yeah.

Luke: And it was pretty easy to put together. And then getting it to be approved was a whole other thing because with the billing... Initially, I was like, "You have to have an account already." If you don't have an account, I had a message, "Go to the website." Sorry, it's annoying.

Chris: Well, they hate that, don't they?

Luke: Right.

Chris: It doesn't do anything for free users.

Luke: I was like, "Netflix is doing it, so can't I do it, too?"

Chris: Yeah.

Luke: No, so I had to implement the whole billing thing with Apple.

Chris: You got a straight no.

Luke: Yeah, I mean... Yeah. Yeah, I got rejected.

Chris: Ooh... That sucks.

Luke: So, then I was back to the drawing board. Reimplement all the in-app purchase stuff, and that was a whole headache but eventually got it working.

Chris: Wow! Apple gets 30% of your sign-ups through it?

Luke: Yeah, well, 15% because I'm not that big.

Chris: Okay.

Luke: Yeah.

Chris: Dang.

Luke: And I was like, "Eh..." but meh, it's okay.

00:43:53

Dave: Yeah, what's the breakdown on your customers, Web versus native apps? Do you have any--?

Luke: I think it's probably four to one Web.

Dave: Okay.

Chris: Hmm...

Luke: At least in terms of billing, they're billing through Stripe instead of Apple.

Chris: Yeah, but maybe not usage. Maybe you signed up on the Web and use it on your phone?

Luke: No.

Chris: That's what I'd do.

Luke: I would say mobile users, maybe 50% of usage is on mobile and the majority of that is on the mobile apps.

Chris: Yeah.

Dave: Interesting. Yeah.

Chris: I would think so, like if you're in... You kind of want the app.

Luke: Yeah.

Chris: I feel like I beat a dead horse about this more than it needs to be, but I'm like, "The login thing is so important to me." That's kind of why I would make CodePen into an app someday, the app I work on is because it works fine on the website. The website is a nice website. Use the website, people. I've been telling you for years.

But even me, I'm like, "Oh, but then I go even to my own website and the chances of me being logged out are really high." And it's not like logging in is hard, but even passkeys haven't shown to be particularly great yet - or whatever. There's just a whole story there.

I just like how native apps, you're just logged in all the time. I really like that. It's worth it just for that for me.

Luke: And I find that's true on, like, the computer, on Chrome. I've never been logged out of Strum Machine, but Safari does like to log people out of things.

Chris: Yeah, it's mostly a mobile problem.

Luke: Yeah. Yeah.

Dave: Yeah.

Chris: So, Cordova app is pretty cool. Maybe briefly mention, too, the Web audio API kind of sucks on iOS, or at least they change it quite a bit, so you are not using it there.

00:45:35

Luke: iOS 15.4 came out. They're like, "Now we've got the Web audio API. We're following the standards." Great, except they broke it. [Laughter]

Dave: Oh, no!

Luke: It just stopped. For some percentage of users, it would just stop working. And I don't need to get into the details, but it just was unworkable. So, I had to very quickly (as these errors started piling in). I was like, "All right, I've got to learn native. I've got to build a Swift audio engine and replace the Web audio stuff."

Chris: Hmm...

Luke: Which I actually had to do twice because the first one then didn't work with some later stuff I wanted to do, and I had to redo it again. So, the first one was using the native Apple -- what's it called -- audio foundation APIs to playback stuff. Then I had to redo it with F-Mod, which is a game audio engine.

Dave: Oh, wow.

Luke: So, it's like I had to learn some C++ stuff. How do I bridge from JavaScript to Swift to C++?

Chris: Geez!

Luke: And back again.

Chris: And you're thinking 50% of usage is mobile, you're saying?

Luke: Yeah, a lot. Maybe at least a third on iOS mobile, yeah.

Chris: Oh, so iOS because it's 50% mobile, and then some chunk of that is iOS, so it's big but not that big. But you just had to.

Luke: Yeah, but it's a lot. It's hundreds and hundreds of people being effected here.

Chris: Yeah, that sucks.

Luke: And I'm like, this is super serious. So, yeah, I hired some help, and I put this thing together in maybe a month or so. It was a fun project just to lean some Swift--

Chris: Yeah.

Luke: --and get into this stuff. I hated that I had to do it on a deadline and that I was sort of forced to do it, but it worked out. Now the Apple apps use a native audio engine and, hopefully, I won't have to rewrite it again ever.

[Laughter]

Dave: I was going to say if Safari updated and this API is there, would you just ditch all your existing tech?

Luke: No, not at this point because it's working and I don't want to risk that happening again.

Chris: Yikes! I don't know what to make of all that. That's wild. "Surprise! You have to rewrite your app."

00:47:59

Luke: Yeah. The latest thing with iOS 17.4 is that index DB is breaking. So, randomly for people, the connection to index DB will be lost. What that means is that the app is no longer able to access cached, like the database of all the cached songs, which is okay because it will fall back to the server (the way I've written it). But also, if they have unsaved changes that they haven't synced yet and those are lost, and it's like I don't think there has been any data loss yet, but other apps are having data loss. It's a real headache, so I'm trying to figure out ways around that.

Chris: Unsaved changes meaning the edit feature you mentioned. You can just click edit on any song you happen to be looking at and make your changes. But you can also just make a new son, right?

Luke: Mm-hmm.

Chris: You can just click, "New song," and go after it.

Luke: Type out the chords you want.

Chris: Yeah. I was surprised almost to find that as a feature, especially just because of the way I found the app was, like, "Look, it's this app that has chord charts on it." Somehow it locked in my mind that it was like, "It's mostly like they either have the song or they don't," which is not true on this app.

Luke: Right.

Chris: You can just make your own songs on there. It seems like this is good. Based on poking around a little, a lot of people do that a lot.

Luke: Yeah.

Chris: That's their top feature is their own charts.

Luke: Yeah. There are a lot of songs out there.

Chris: Yeah.

Luke: Even though there are over 1,000 in Strum Machine, that's really scratching the surface. And there are a lot of songwriters using it who use it to try out different chords and write songs. There's also a forum.

Chris: Oh, that's cool. It's a song-building thing?

Luke: Some people use it that way. Yeah. Or they're writing melodies and they want to try out different harmonizations with it.

Chris: Oh, that's so cool.

Luke: They use it that way.

Chris: Yeah, I like how you built that. I think you were going to mention the forums. When you have a song, you can just share it with somebody else with the URL.

Luke: Mm-hmm.

Chris: Then when I look at it, I can just choose to add it to my own library of songs. So, you don't get every song in the world. It's not like some giant library. I mean I guess it is in your world because they're all in some big database somewhere.

Luke: Right.

Chris: But I pick and choose the ones that I want for my--

Luke: Yeah, and we're thinking about... I mean I've been thinking of ways to do the sharing, like, how do we make it easier for people to share songs?

Right now, there's a forum, and you can paste links into the forum, they'll show up there, and you can search that.

Chris: Right.

Luke: People post whole lists of songs, so like for instance Tater Joes that you mentioned earlier, that old-time resource can wrote out 1,000 old-time tunes. So, if you play old-time--

Chris: Yeah, there are just as many songs on his list as yours.

Luke: I know. It's great.

Chris: It's wild.

Luke: If you play old-time, you go there, download those lists, or you add them to your account.

Chris: If I hadn't found that and you had to tell me about it because I know about Tater Joes, I know about Strum Machine, and then I almost feel dumb because, at taderjoes.com, there's a top-level link that says Strum Machine. It should be easy to find. But I just didn't know it.

Luke: Yeah.

Chris: Thank God you emailed me to tell me. Then it was a pleasant surprise to realize it's one click to just add them. It's not like I have to constantly go back to the forum to find the link to it - or whatever.

Luke: Right.

Chris: They're just added now to my library.

Luke: Right.

Chris: Meaning my search finds them and stuff.

Luke: Right.

Chris: Really nicely done feature.

Luke: Yeah. Someday, I would like to integrate that a little more closely. Make it a little easier to discover.

Chris: Yeah. Has anybody in the world written 50 ways to leave your lover on this or not - or whatever?

Luke: Yeah, and you could just search for that. But it's like I've got to be careful about it because I didn't want to end up with what I call the Ultimate Guitar issue--

Chris: Problem? [Laughter]

Luke: --where you go and there are ten different versions of something, and bunch of them are wrong, and you don't know which one.

Chris: Yeah.

Luke: I like having the very carefully curated. There's one version. At least someone thinks it's right. It's a good version and you can adapt it from there.

Chris: I get it. Yeah, you don't want to find the ten versions. They handle it with, like, "How many stars does it have?"

Luke: Right.

Chris: Is it the official one? They're trying, but--

Luke: Yeah.

Chris: Yeah, it's a real love-hate with them. I like that Ultimate Guitar exists, but boy do they seem to wear the gray hat plenty often over there, unfortunately.

Luke: [Laughter]

00:52:25

Chris: You know what you can't do on Ultimate Guitar is hit a button and hear the song. Not really.

Luke: Right. Yeah.

Chris: They have some cool features. There's kind of a new breed of app where any YouTube video, it'll suck it in and give you a chord chart for it. You're like, "How the hell do they do that? That's cool."

Luke: Yeah.

Chris: [Laughter]

Luke: Yeah. Yeah.

Chris: But again, it's just the chart then. You can't hit play and hear a kind of regimented version of that. It just had me thinking, like, "It really does seem unique. I have never seen another app do this." Not that I'm deeply in that world. But it seems like you might get an email from Ultimate Guitar someday, you know?

Luke: I'd be like, "Get lost!" No.

Chris: Yeah. [Laughter]

[Laughter]

Chris: And then they'd show you the check, and you'd be like, "Let's talk more."

[Laughter]

Luke: No.

Chris: No?

Dave: We've got big ideas to put 7,000 ads on this site.

Chris: Yeah.

Luke: Right.

Dave: Yeah, this is great.

Luke: Yeah, and that's the thing. It's like how many times has an app been sold to a big company and they've kept it great and it's gotten better and nothing has been screwed up?

Chris: And it got better?

Luke: I feel a responsibility at this point because I'm part of the community. Music people are my people, and they're depending on this thing now. And if I sell it, I feel like I'm letting them down, cashing out, and they're going to... It's going to become worse for everyone, and I don't want that. And I don't need to. It's successful. I don't need however many thousands or millions of dollars. Someday... I don't know. It's fine. I'll take the little monthly--

Chris: Oh, I get it. I get it. Everybody... Life is long and has many twists and turns.

Luke: Yeah.

Chris: So, we'll see.

Luke: Yeah, I say that now. Maybe we'll play a clip of this podcast in ten years. No.

Chris: No, no. I just don't want you to--

Dave: Fight the suits, man. Fight the suits, man.

Luke: Yeah. Yeah, exactly.

Chris: It's good. I mean I feel the same way. I'm careful for other people. You know? Keep your options open. You never know.

Dave: I'm on team sell always.

[Laughter]

Dave: Team sellout, always. Hard line.

Luke: That's just because you want that 3D avatar, and you know that that's the only it's....

Chris: It does.

Dave: I know. If I can launch my new 3D avatar clogging app.

Chris: Dave says, "Take the check." You know?

Dave: Yeah. Take the money and run.

[Laughter]

Dave: Buy a space yacht. That's it.

Luke: [Laughter]

00:55:00

Chris: On that song-building thing, though, just to round that out, you click "New song," and you title the thing. It seems like there is a lot of work put into that. Was that one of your years at one point? It seems like that experience--

Luke: That's been several... Actually, that's been this year so far, the first four months, five months.

Chris: Okay.

Luke: We completely rewrite, back to the drawing board on the editor. I don't know if you saw it. We just released it on Tuesday. But there's a new song editor now that's just--

Chris: On Tuesday? Really?

Luke: On Tuesday. Yeah.

Chris: Huh. No, I have not seen it.

Luke: I think that's version four of the editor. Just as I get better with design and thinking about things and realizing how people are using it, yeah, just trying to make it as simple and easy as possible but also flexible to do whatever you want is very challenging.

Chris: Oh, I think I have seen this. It just was in beta for a while, right?

Luke: Yes.

Chris: But now it's not in beta anymore.

Luke: Right.

Chris: Okay. This is the one I'm familiar with. Once you get it, it's really fast, especially if you already know the chords you're trying to put there. Holy cow. It is not a slow thing. I will say, as tiny feedback -- and there's surely no way to actually fix this -- what my mind wants to do is type it as you see it. It wants to go A-A-A-D-D-D, but that's not how it works. You have to do A space D space.

Luke: Right.

Chris: A space A space. The space key is what makes a new thing.

Luke: Yeah, it's a slightly different paradigm than just like entering text.

Chris: Yeah.

Luke: But you get used to it, and I've played around with trying to change that paradigm or offer a mode, but it just doesn't work for various implementation reasons.

Chris: Yeah.

Luke: But you get used to it, and it is fast. I'm down to like 30 seconds for a fiddle tune I know well.

Chris: Yeah.

Luke: With the keyboard.

Chris: That's pretty good.

Luke: Yeah, which is good for... I was like, I want it to be fast for me because I know I'm going to be entering all these songs, so I entered them the same way, so make it easy for myself.

Chris: I just think it's amazing. It just seems such a novel interface to build. I would think that this interface for crafting the chart of a song is one of very few if not the only interface that does exactly this thing ever created. There's not ten examples for you to look at.

Luke: I think so. There are only a few, and the ones that I've seen do work quite differently. And I would say a little biased but not as well. And I've heard that from other people, too.

Chris: Yeah.

Luke: Just trying to start from scratch. I really didn't look at anything else before I made this. It was just like, "What is the simplest way I could make this? What is the least friction approach I could take?"

Chris: Yeah.

Luke: And just kind of go from there.

Chris: Maybe that's begging for AI crap at some point, too. You could scrawl it on a piece of paper, point your phone at it, and have it suck in.

Luke: Yeah.

Chris: Perhaps.

Luke: Maybe someday.

00:57:55

Dave: Any plans to license this tech? You said your brother runs, which is kind of weirdly relevant to me, a site all about Tsugaru-shamisen, which is like the Japanese loot. You see geishas play in all those movies, which is so niche. It's called bachido.com.

Luke: Mm-hmm.

Dave: So, if you want to go check it out. But is that something you'd port over and - I don't know - put some taiko drums behind it?

Luke: I don't. I don't... Yeah. I could. I don't know.

Dave: Yeah.

Luke: I really don't know. I feel like this... I'm focused on the bluegrass, old-time, and adjacent sort of spheres of music. Jazz and swing may be in there, too. Cajun and all that kind of stuff.

Dave: Like a good zydeco kind of thing. Nice.

Chris: It does seem focused is the way to go.

Luke: Yeah. I don't want to get into rock and pop. There is other stuff for that. Or maybe there isn't, but I don't really care. Part of the nice thing about it is it's for this more niche audience.

Dave: Yeah.

Luke: And I have my hands full doing that, so I'm not--

Chris: It's any kind of music that's pretty, like, not necessarily on the beat or anything, but doesn't... There's not just a lot of feel to it. I tried to type in a Lumineers song that I was playing with a guy, and it just wasn't happening. There's just too much random pausing and stuff in the song that you just can't get Strum Machine to feel like the song feels.

Luke: Yeah. There are some. I mean were you playing with--? I don't know if you've played with the effects where you can do rests and stops and diamonds and stuff like that.

Chris: No. No. Maybe I could then. I didn't even know you could put a rest in. That's cool.

Luke: Lumineers, a lot of Lumineers stuff would probably port over pretty well.

Chris: Okay.

Luke: There's like a half-time strum in there would probably come in useful.

Chris: Yeah.

Luke: For, like, some of those songs. And that part will get better, too, with the editor. But still, even that, even though it's kind of pop, it's acoustic.

Chris: Yeah.

Luke: It's guitar strumming. That'll work. We'll get there with that.

Dave: I have never hit the "Hey," in a Lumineers song on time in my whole life.

[Laughter]

Dave: Duh-duh-da-duh, hey!" Oh, shoot.

[Laughter]

Chris: But Dave, I think, brought it up before the call. It's sort of... In my mind, it's actually not really for guitar players, unless you're writing a song and you're trying to write it out. It seems like the target audience is much more like the fiddle player - or whatever - that needs a backup.

Luke: Yeah. Yeah, it's guitar players, too, but it's not like you strum along with it. Usually. Some people do that.

Chris: Right.

Luke: But it's not meant to be like learning strumming patterns or anything like that. It's meant to accompany you on whatever you're doing, which is usually more melody playing.

Chris: Right.

Luke: Versing ... stuff like that. Yeah.

01:00:50

Dave: I love that simple twist. You say, "We'll do the rhythm. You do the melody," because that's kind of the fun part in this kind of music. I don't know. Power cords on heavy metal is the fun part for me.

Luke: Uh-huh.

Dave: But this sort of riffing and soloing and taking a big ol' mandolin solo - or something like that - that's the fun part, right? You're not doing the, "Play along with the fun part," which I do so much better because I'm a robot. You know?

Luke: Right.

[Laughter]

Dave: You're not like, for lack of a better term, GPT'ing the situation. You are letting people do the fun part, and you're kind of like--

Luke: Yeah.

Dave: --here's the--

Luke: Holding down the rhythm.

Dave: We'll be your back band, you know? I think that's cool.

Chris: That would be funny if you listened to Strum Machine play and then paused it and then just played exactly what it played - or whatever.

Luke: [Laughter] Yeah.

Chris: ...Reno 911 ... show is learning Spanish and says a Spanish phrase, and then says what it is in English, like, "The cat ate the dog," and then she's sitting in the car. She goes, "The cat age the dog."

Luke: [Laughter]

Chris: [Laughter]

Luke: I think you've got this backwards.

Chris: Yeah. Not quite right. All right, well, yeah, we're coming up on the hour here, I think. We might splice in a couple of little audio bits from what Strum Machine sounds like into this.

Luke: Sure.

Chris: So, people can get that. I recorded a few last night of me badly playing along with it, too. So, you can get what Strum Machine plays like and then what it's like to be a user and play along--

Luke: Yeah.

Chris: --with the song.

Dave: Well, great. Yeah. Thank you so much, and I can't wait for the dancing moonshiner. That's going to be ... feature when that launches.

[Laughter]

Dave: For people who aren't following you and giving you money, how can they do that?

Luke: Well, if Strum Machine sounds like something that might be useful for you, go to strummachine.com and check it out. There's a free trial that's no credit card or anything, so you could just kick the tires and see if it's something that works for you.

Yeah, I'm not really on social media or anything like that. I do have a website, lukeabbott.com, that after checking out your blogs and stuff, I'm like, "I should really start a blog again." So, maybe I'll do that.

Chris: Probably you should.

Luke: Probably not by the time that this comes out, but maybe by the time that you're listening to this, maybe I'll have a blog there. We'll see.

Dave: Hey, the first best year to start blogging was 2003. The next best year is this year.

[Laughter]

Luke: Yeah. Yeah.

Dave: No, that's great. Awesome. Well, thank you so much. I'm really stoked to actually kind of dig in and play with it because lord knows I need help, and so, anyway--

[Laughter]

Dave: Thank you for coming on the show. And thank you, dear listener, for downloading this in your podcatcher of choice. Be sure to star, heart, favorite it up. That's how people find out about the show.

Join us in the D-d-d-d-discord, playing banjo talk going on there. That's over at patreon.com/shoptalkshow. Chris, do you got anything else you'd like to say?

Chris: [Laughter] Ba-da-don-don-don-don-don... ShopTalkShow.com.

Two, three, four...

[Banjo music plays]