August 2021 Update: What's Coming Next

Hello everyone! I’m in the middle of working on some big upgrades (more on that below) so I don’t have any new features to announce at the moment, but I wanted to keep you in the loop as far as what’s happening behind the scenes at Strum Machine.

In my last update post, I mentioned that I was feeling a little overwhelmed with my to-do list of over 200 items. :astonished: So in June, I decided to post a survey within Strum Machine to all my long-time users (who had at least a couple dozen hours of experience with the product). I ended up hearing from nearly 250 people and having over 100 email exchanges afterward! :tada:


:arrow_up: A small portion of the hundreds of survey responses I received.

I’m always talking with my users over email or on this forum, so most of the survey responses were things that were already on my list. But hearing from hundreds of folks all at once gave me a great sense of how many people are wanting each particular improvement, which makes it much easier to prioritize!

Once again, a big thank you to everyone who responded to my survey! Now, here are the results and how they fit into my plans:

New Strumming Patterns

The most popular request, by far, was for more strumming patterns, both for more interesting-sounding bluegrass rhythm and to better accompany a wider range of genres, such as swing, Celtic, gypsy jazz, and so forth.

Status: In progress! (See and give feedback on list of strumming styles here.)


:arrow_up: Recording samples for new strumming patterns on my trusty Huss & Dalton guitar.

Now, some of you may know this is a project I’ve tackled several times in the past, only to hit roadblocks (most with being unable to get the strumming to sound realistic) early on in the process.

That’s not going to happen this time. I’ve got a much better recording area, much better microphones, and thanks to lessons learned from past attempts, a much better idea of the approach I need to take. And I’m very pleased with my most recent prototypes! (I’ll post something for you to listen to in the near future.)

That said, I’ve still got a ton of work ahead of me, and a possibility that my new home recording studio will be unavailable for a bit due to potential mold-under-the-carpet issues (having someone come to collect samples on Tuesday), but I’m cautiously optimistic that I will have something available to try out later in the fall. :crossed_fingers: So hang in there! :upside_down_face:

More Instruments

Quite a few people also mentioned wanting more options for instruments: banjo, piano, percussion, fiddle, and others. Fiddle is likely a no (can’t realistically recreate bowed/sustained-note instruments) but I’m totally onboard with the others. The work going into the new strumming patterns (especially on the coding front) is going to pave the way for adding more instruments later on. As someone who was primarily a banjo player for many years, I’m especially excited about tackling that one. :banjo:

Several folks have also asked for a metronome “instrument” they can toggle. That’s also something I plan to add.

Medleys

Medleys are when multiple tunes are played back-to-back, as is common with Celtic music for example. It’s been something people have requested for years. Problem is, I initially programmed Strum Machine with the assumption that only one song would be loaded at a time, and that assumption runs deep into the oldest parts of the Strum Machine code-base.

But in the course of working on the new strumming patterns, I was stymied by these old modules, which had grown to thousands of lines of poorly-organized code that I had grown to loathe working in.

So I decided it was time to rip everything apart and put it back together in a more elegant, forward-looking fashion.


:arrow_up: Columnized excerpt (~50%) of the SongPlayer module, a single 1,200-line file that badly needed a complete makeover.

This is called refactoring, and in this case it was a laborious two-week process involving thousands of lines of code over hundreds of files… but what I ended up with is not only more suitable for adding new strumming patterns and instruments, but as a bonus, it can easily support playing multiple tunes in a row! (Plus it’s so much more pleasant to work with…)

Of course, I still need to put together a user interface for this, and I am focusing on new strumming patterns at the moment… but medleys are definitely going to come sooner or later!

Other Suggestions/Requests

Count-In Improvements: Lots of folks asked for a variety of count-in options: a delay (not just the existing double-count-in option), more voices to choose from, a metronome-tick count-in, and some other ideas. I plan to tackle them all at once in the future, probably next year after I release some of these bigger improvements. I did sneak in one of the requests, though: the count-in volume can now be changed. :slightly_smiling_face:

Auto-Advancing Playlists: This means having Strum Machine automatically go through the songs in a playlist, possibly even starting each one automatically. Lots of tricky things about this idea but there’s enough support for it that I’m definitely going to implement some version of it. At the very least, I can make it so that it automatically goes to the next song in a list after stopping the current one.

More Charting Options: Specifically, the most-requested ideas were ending variations (different chord for the 1st/2nd time through a section) and time signature changes in the middle of a song. The refactoring I mentioned above has laid the groundwork for both of these features, and possibly others that were requested.

Ideas I’m Holding Off On (at least for now)

I would be remiss if I didn’t mention a couple things that were also mentioned many times, but that I won’t be working on in the near future: adding lyrics and melodies. The biggest reason is licensing: I would need to get legal permission to use the lyrics and melodies, and I don’t even know where to start with that. (Chords are not subject to copyright.) Perhaps someday I will open that can of worms, but for now I want to focus on making Strum Machine the absolute best rhythm accompaniment app for bluegrass and other acoustic music styles that I can imagine, and that will probably take me at least a few more years of work!

The other most common request was for more songs, which in my case will likely involve hiring music experts to help me expand the library. I’m also holding off on this for now, as I don’t have the mental bandwidth to juggle that and my current improvement projects. Rest assured, though, this is something I am keeping in the back of my mind and will pursue when the time is right.

Strum Machine Isn’t Going Anywhere

Finally, there were a few folks in the survey who expressed their fears that Strum Machine might close down someday and they wouldn’t be able to use it anymore. I may write a longer article about why this isn’t something to worry about, but for now, I just want to reassure anyone who might’ve been worried about this: Strum Machine isn’t going anywhere! It’s the most fulfilling project I’ve ever worked on, and I love being able to offer it to the music community. Plus, it’s grown more than enough to be able to support my modest monetary needs, so there’s no risk of me having to turn my attention elsewhere for financial reasons. And sooner or later I will finish putting plans in place to ensure it continues to operate even if I get randomly hit by a bus or something.


OK, that’s all for now! I look forward to having another update to post for everyone. For now, it’s into the inbox to answer Strum Machine emails that came in over the weekend, and then back to work on the strumming patterns!

Cheers,
Luke

19 Likes

Just a thought about expanding the library. Would it be possible to have a community list that’s linked to the home page and publicly searchable that we can share songs to on a read-only basis? That may be a way of expanding the library without you having to do a whole load of work.

3 Likes

@PaulGould, I may go that route eventually, but there are problems with that approach as well… solvable problems, most likely, but it will take some time to work it all out.

In the meantime, part of the idea of this forum was to have a place for folks to be able to post songs, and search for them. It’s quieted down in recent months but a bunch of folks have indeed shared songs and lists – many hundreds in total. You can use the search in the top-right corner to search what’s been posted, too.

1 Like

A user data base for additional songs would be great! Upvotes for user uploaded songs could weed out error prone versions. I’ve created quite a few chord tracks for songs not in the database a feature which I’m grateful for in the interim.

As always I love your approach. Thanks for all the work you are doing and thanks for the reassurance, don’t know what I’d do without my mate Strummie!

1 Like

I hope all these add ons don’t lead to a “premium” plan with increased charges. KISS. I don’t need anything more.

Not to worry! This is all going to be made available to everyone for no extra charge. No plans to increase the price for new users, either.

Furthermore, I always prioritize keeping the user interface consistent and uncluttered as much as possible, so if you’re happy with how things are now then you’ll basically be able to proceed as usual. There may end up being an extra button or two in the app for accessing these new features, but you can ignore them. :blush:

2 Likes

I’m working on a post about the new strumming patterns, to ask for feedback and ensure I’ve thought of all the important ones. But I’m still struggling with how to categorize all the various patterns… (EDIT: I had a breakthrough and was able to put the post together here…)

In the meantime, I thought you might enjoy hearing these prototypes of some new strumming patterns. These are works in progress – there are some samples that aren’t matching up tonally and other rough bits – but it’ll give you an idea of what’s going to be possible in a future release of Strum Machine. I also overdubbed an instrument in the second half of each clip for context.

Standard 4/4 strumming with moderately-swung upstrokes:

Jig strumming pattern with a fair bit of syncopation:

A half-time feel, because why not:

More details in a couple weeks here!

1 Like

@LukeAbbott For the “New Songs” request, since we have the ability to create our own songs - could this be crowd sourced? Maybe a “submit for review” button or something on the song itself?

The review could be manual but that could become a lot - I think this could get automated pretty easily. If you get like 5 songs that are named the same, and have all the same meta-data, then odds are it’s right! Just auto-make that a standard song, and let people tell you it’s wrong.

Love the product so far! I just wish I had more time to use it =)

Crowd-sourcing is a possibility. There would need to be moderation/review of some sort, and it’s still a can of worms, but it’s something I’ll be considering in the future. I think there are some things I can do around looking for songs that multiple people have entered the same way, as well. Strum Machine users have collectively entered (or made copies of) over 80,000 song entries at this point, after all!

1 Like

Yea! If you limit the comparison between user submitted songs to only songs that were “submitted”, then you wouldn’t have the scale problem of comparing 80K songs to each-other =)

Looking forward to seeing how this grows!

The new strumming patterns you have recorded are just great
You obviously know what you are doing … just carry on putting them out … more diversity for us all to practice with … I just love Strum Machine

2 Likes

These options look great. I’ll be excited to be able to finally use them. When do you think they’ll be available?

A couple thoughts. Your strums here seem to provide a great deal of choice and should cover a wide variety of cases that I’d be interested in (including providing backup to my own students, who all want to learn pop tunes). It’s not clear to me how, w more choice, you’ll cover “boundary conditions” elegantly … e.g. in TX swing, if a chord proceeds for a whole bar, will you do fancier bass note choices than in simple R-chuck 5th-chuck? Similarly, with the arpeggio patterns, you could imagine different voicings sounding better in different contexts. Having some choice there as a song-creator would be nice.

I don’t know to what extent you could allow users to create their own strums w some creative sampling and fade-in/outs – e.g. what I did as a toy for ukulele here (https://scratch.mit.edu/projects/454566091/ note: audio doesn’t play on iOS, but always works on computer) – but if you could pull off such a thing, it would allow users to create their own styles and might make your own recording-as-samples process less cumbersome (it also might sound less realistic, but might be good enough for someone like myself, who uses SM often to aid me in providing a background grid on which to develop arrangements).

What is still very lacking in my opinion is being able to specify entire measures that contain only bass walk-ups. That’s crucial IMHO.

Hope this is helpful. A big fan of Strum Machine!

(I’d love to help you code on this … sounds like a great deal of fun … but alas I’m sure you’ve got it covered and I’m too busy playing/composing music these days to write code)

What you’ve proposed

Good points, Belinda. I’m trying to strike a balance between adding more choices/variety and overwhelming the average user with a plethora of options. There will likely always be limitations in terms of what you can do, but hopefully I can cover the vast majority of what folks would want to hear. For example, I plan to offer multiple arpeggio patterns. And for Texas style strumming, you can already specify the bass notes manually if you desire, although I’m also going to try my hand at automatic bass walking – no promises there.

Being able to manually set up bass runs is something I’m going to offer, definitely, although not in the initial release of the new strumming patterns, most likely. Hoping to offer some “smart” automatic bass runs for a few styles that will hopefully negate the need to manually set up bass runs in most situations, though.

As for when the new strumming patterns will be available… like all large projects, the date keeps getting pushed back as the can of worms keeps spilling out worms. :roll_eyes:
Turns out I won’t be able to start recording in earnest until early/mid October, so in the meantime I’ve shifted my focus to improving the codebase, with a massive refactoring effort spanning hundreds of files and thousands of lines of code. The upside is that
a) I’m laying necessary groundwork for the new strumming patterns,
b) I’m dealing with tons of technical debt that will make all future development smoother, and
c) I should be able to get at least one or two new features (like medleys!) up on the beta site later this month. :grin: