Developer's Log - September 17, 2020

With the official start of autumn just days away, it seems like another progress report is in order!

I’m going to start on a personal note – skip ahead a couple paragraphs if you just want the Strum Machine news.

At the risk of stating the obvious… man, what a crazy, scary, upending year this has been for humanity. I feel very fortunate that my family and I are all doing pretty well, but between the terrible wildfires here in California, the months of isolation we’ve had and are yet to come, the awful injustices that are so commonplace for people of color and other less privileged folks coming more and more to light, the future looking more and more uncertain… it’s heartbreaking stuff, and it puts me in a strange mental and emotional state.

At the same time, I feel both a great desire and a great responsibility to continue to improve Strum Machine as much as I can—it’s been this way since the beginning, but with so many people depending on Strum Machine to play with while they shelter in place, it’s never felt more important to me. That doesn’t mean our present circumstances haven’t affected my ability to get things done – they have, in many different ways I won’t enumerate. I get pretty frustrated with myself when my progress is slow, like it has been this summer, but I’m trying to cut myself a break given the circumstances. And actually, now that I’m looking at my work log, it seems that I accomplished more than I thought! So that’s nice.

As I write this, I keep thinking of who might be reading this (Strum Machine users), and I am filled with gratitude. I couldn’t have asked for a nicer group of folks to make a product for; I pretty much expected that going in, having gone to bluegrass festivals for most of my life, but it’s still such a treat to get so much support and encouragement from you all in my correspondence with you, and to know that my project has become so useful to so many. So, thank you! It is my pleasure to serve you, truly.

Anyway, let’s get into the latest developments with the product!


Here’s what’s been going on since the mid-July update:

In Beta: Record to MP3 feature

If you want to get an audio file of a Strum Machine track for use in an audio-editing program, DAW, JamKazam, or whatever else, you can now record and download an MP3 file of any track directly within Strum Machine! This is still in beta testing since there have been reports of audio glitches from some folks (which I have been able to reproduce), but you can give it a try today if you like; here’s how.

In Progress: Completely Revamped/Updated Song Editor

This was meant to be a small update to fix a couple niggling issues that have been reported, but the more I worked on it, the more things I wanted to fix/change/upgrade. In software design, we call this “scope creep”, and it’s been hitting me big time, pushing my expected release date for this update from August to September to… ¯\_(ツ)_/¯

But it’s all good, because digging in so deeply is giving me a good opportunity to address a ton of feedback and suggestions I’ve received over the years, and is laying the foundation for releasing even more cool stuff in the future. It’s super exciting for me!

The updated version is still very much a work in progress, but I can share some elements of what I’m working on:

  • Multi-chord select, mass editing, cut/copy/paste. Select several measures by clicking-and-dragging, just like you make a loop. You can then edit them all at once, duplicate or delete the selection, and use cut/copy/paste keyboard shortcuts. Makes certain editing operations even faster to accomplish.

  • Undo, Redo: The hotkeys have already been there for years, but I added toolbar buttons so that more people will know about it. :smiley:

  • New chord-selection menu. Gives me room to offer more chord variations and options. No need to memorize keyboard shortcuts on the computer, although they will still all work of course. Chords already in use get their own quick-select buttons, no menu required.

  • More chords to choose from. I’ve got sixths and maj7 chords done, with at least one more type, augmented, on the way. (This will be a smaller-scale version of the guitar-strumming overhaul I’ve been working on; the extra strumming patterns and even more additional chords will have to come later.)

  • More intuitive add/remove buttons on mobile. You’ll know what I mean when you see it. :wink:

  • Subdividing the measure into more chords. This is most often requested for use in waltzes, where a single “boom chuck chuck” may encompass 2 or even 3 chords. I just started prototyping this today but it looks like I’ll be able to implement this without issue.

  • Instant preview of chords as you move around. Haven’t actually implemented this, but I found a place for the toggle button for it, which is often half the battle. :laughing:

  • Rewritten chord-management library. Strum Machine has a better grasp of the intricacies of scales and key signatures now, which mostly means that it has better handling of enharmonics, especially with minor keys (preferring C♯m to D♭m, for example). Music theory sticklers, rejoice!

  • Secret stuff. :shushing_face: I’m looking into a few additional features that I might try to sneak into this update, but they’re so up in the air that I will keep quiet about them for now. Stay tuned. :grinning:

And beyond that, it’s been a good opportunity to clean up and refactor some old code, some of it dating back to nearly the beginning (2016)!


I will definitely be posting another update (probably within the app as well) when this version is ready for beta testing – it’ll probably stay in beta for longer than usual given the scope of the revisions.
Update: this release is now in beta testing!
Update: this update has been released to all!

If you have any suggestions that have to do with Strum Machine’s song editor, or with new things you want songs to be able to do, now is the time to mention them! It’s easier to weave features in now when things are malleable then after the update is finalized, so I would like to at least know about whatever’s on folks’ minds. Just hit reply.

Thanks for reading, and stay safe and healthy out there.

Best,
Luke

4 Likes

Not sure if others would find it helpful but if there was a delay start option by a few seconds that would be cool. If tunes are playing really fast it sometimes takes me more than a double count in to step away from the keyboard, pick up my fiddle and bow and be ready to play. It might just be me though so don’t work on it a ton if nobody else is as temporally challenged as I am :slight_smile:

5 Likes

Hi Luke,

I’m not sure if I just haven’t figure this out yet or if I am suggesting a new feature. I have a tune that is mostly in 4/4 but I need to put a 6/4 bar in. Or one 4/4 followed by a 2/4. I tried doing the ½ feature in a bar but just got (2) 2/4 bars, which covers the same amount of beats. Can you tell me how to vary time signatures?

The program is great otherwise. Really enjoy it and use it a lot.

Brian

I think I just figured it out - one 2/4 half measure and dump the next half measure.

Thanks

Brian

@Ellie: A delay option is on the roadmap. Won’t be part of this release but I’ve actually prototyped some different ways I could implement it so it’ll be there in the future. Sounds like you already know about the “Double-length count-in” option. Do you know that the spacebar will start playback? When I’m fiddling with Strum Machine I usually grab my fiddle and bow and then tap the spacebar with the frog end of the bow to start playback.

@BrianWood: Glad you figured it out! I’m hoping to improve the intuitiveness (and breadth) of the time signature options in this next release.

Luke, I think you have done a WONDERFUL with Strum Machine despite all the awful events so far in 2020. During this time, I have sent you several requests for songs and you have always answered quickly. I especially appreciated your comments on “Fair and Tender Ladies”. This song is so sad and romantic at the same time. I thought it was a much older song than it is. But, give yourself a pat on the back. You have been a STAR!!

Martha

2 Likes

I’d love to see the ability to play a set of songs. For example I create a list of 10 songs that I’m working on and I can select how many times strum machine plays each one and then automatically goes on to the next.

4 Likes

Luke, you are not only a STAR, you are a SUPERSTAR!
I don’t think Covid-19 is going away anytime soon, so Strummachine is going to be our life saver and link to sanity for some time!
I love and appreciate all your work

PS 9 chords is probably too much to ask? :wink:

Thanks. I do use the space bar on my mac but don’t know if there’s an equivalent on the ipad? In any case, A delay in getting a delay seems fine :slight_smile:

Wondering if you could add a search bar to the top of the page on a song. As it stands when I’m done with the song I usually have to hit the back arrow and then enter the next song I want to play in the search bar. If there was a search bar on the song page I could save myself about 1-2 seconds per tune which would add up to, gosh, nearly 2 minutes a week :slight_smile: (But it would be useful!)

1 Like

Thanks everyone for your support!

@AaronStocek: Yes, the “playlist” feature is on my roadmap. I discussed it in more detail in this thread. In that thread I was hopeful that it’d be something I might release this year; 2021 is looking more realistic at this point but we’ll see!

@MonikaDewar: 9 chords are not too much to ask! They’re in the plan. :slight_smile:

@Ellie: Well, if you have a Bluetooth keyboard connected to your iPad you could always use that to start/stop the song; it’ll work even in the app. As for the search bar, I’ve heard that idea a couple times but I am hesitant to add yet another button to the interface. That said, currently you can press the / key from a song page which will bring you directly to the index page with the search field focused so you can start typing. Also, you might find this list navigation bar feature useful.

1 Like

Slash key works fine for me, thanks for telling me about it!

1 Like

Soft-launch of the new song editor on the beta site today!

(9 chords are still to come, Monika!)

2 Likes

It seems the X button to cycle through the effects doesn’t work correctly.

Good catch, @DaveBerry! I’ll fix that in the next beta release (tomorrow).

I appreciate that suggestion. By the time I get my instrument in place for an up-tempo number, Strum Machine already leaving the gate

Hi Luke, I love the new features! Great job/work! A couple of things I noticed while playing around with Cannonball Rag:
the song has an outro with a chord progression that also uses the bass note of the chords to emphasize said progression (Travis picking). The slash feature on the chord does the job, but it defaults to the lowest note. E.g. C C#dim G/D E7 A9/F# D9/A G6
The bass note progression is perfect, but when it hits the E7 it goes down an octave. Is there a way to keep the same octave of the initial chords on the bass note?
I know this is a minor thing, but it may matter in some songs for some users.
Everybody else on the forum has pointed out everything else I thought of:
9 chords, playlist etc.
Thank you Luke, StrumMachine is fantastic!

Yeah, I see what you mean Mauro. It’d probably be good to have a way to select the bass octave. Have to figure out a good UI for that. It’s made trickier too because if the song is transposed, the bass line will be too, and some notes’ octaves may need to be switched, which may influence how they should be specified in the first place… anyway, I’ll think about it some more. At the very least, I suppose I could make it default to a higher octave E or F if the preceding note is a D…

Thank you Luke, this is obviously a first world problem, but since you are working on it, who knows, there could be some use for it. Thank you for all you do, it saved a millions musicians lives!