What dances work with the songs in a Spotify Playlist

Or: show me a Spotify playlist through the music4dance lens.

When I was writing the Jessic Lang/Tony Bennett post earlier this summer, I re-read the Twila Tharp/Frank Sinatra post from last year. I realized I’d written most of a music4dance feature for that post that I never completed or documented.

So I thought, this is some low-hanging fruit for a fun feature and blog post, so I’ll finish it up quickly and get a post out to show it to everyone. Famous last words. It turns out that the edge case that I implemented didn’t work for much more than the post that I created it for, and I had about 80% of the work left.

The Feature

I wanted to show the Nine Sinatra songs in the order they were performed in the context of music4dance. I could tag the songs with something unique and get a list of those songs as a music4dance search result. But that wouldn’t be in the same order as they are danced in the Ballet. So what should I do? I could write a full-fledged playlist feature, but that seemed like overkill, and I hesitate to do that, since then I’d have to maintain not only the code, but also the data for all the playlists people would be scrambling to create (sometimes I can be a bit of an optimist).

Or I could do something that I’ve been toying with for a while: take a Spotify playlist and show it as music4dance results, similar to any of the various searches you can already do on the site. Since I’m already integrated with the Spotify API, this was quite straightforward to implement. And, in short order, I was able to add a Nine Sinatra Songs Playlist link to the blog post that showed the songs in order with all the other information that I normally display for songs in the music4dance interface.

This worked fine because I created the playlist myself and made sure that all the songs were in the music4dance catalog. But what happens if some of them aren’t?

I decided to solve this by showing the Spotify tracks that I could match to music4dance songs first, then, for signed-in users, I’d follow that with a list of tracks that I couldn’t find, along with an “add” button. That way, anyone really interested in a playlist can add the songs that are missing (along with their preferred dance for each, of course).

That worked well, but then I realized that some of the songs that weren’t matched in the playlist were actually in the music4dance catalog. This is because any given Spotify track can have many Spotify IDs. I am keeping the ID that I found when I first looked up the song, but that might not be the same one that is referenced in the playlist. I will not go into the details, but after a couple of tries, I believe I have a solution that works around that issue – this took more time than the rest of the feature, but also addressed a long-standing issue with adding Spotify songs by ID.

So now you can drag a Spotify playlist onto the main search control in the upper right of the music4dance site (or the search control in the main menu for smaller screens).

Here are a couple of examples.

Jennifer Lopez Mix

This Is Billy Joel

This feature is available to everyone, but I’m trying to encourage folks to participate more in music4dance, so there is a limit on the number of songs you can see as an anonymous user, and the limit increases if you create an account and then some more if you subscribe.

Constraints and limitations

Even with my changes to improve looking up songs, that doesn’t get past the fact that the music4dance catalog contains a very small subset of the songs available on Spotify (and always will), so arbitrary playlists will generally not be complete.

This feature will only work for public playlists. I’m also not entirely sure that the way I’m accessing playlists will work for all public playlists. For instance, does it work for “Made for you by Spotify” playlists, where the you in that sentence isn’t me? Or an account associated with mine? I don’t really have access to that to test, so let me know what does and doesn’t work for you.

Moving forward

There are a couple of things that I didn’t implement (that I’m aware of). I’m trying to get features out and see what the community reaction is before investing too much time in new features. For this one, here are a few improvements I’d think about doing if people are using this feature regularly.

  1. The lookup is pretty slow, especially with a large playlist, since I’m matching each track individually and the only feedback you get is whatever the page loading feedback is for your browser. If there is positive feedback on the feature overall, I’ll figure out how to either speed it up or give better progress feedback (or both).
  2. I realized as I was testing this feature that it would also be interesting to provide this functionality for an album, which shouldn’t be too hard.
  3. There isn’t an obvious UX for showing that this is possible at all. The only way you would know that you could look at a Spotify Playlist through music4dance is to read this post. I’m not even sure where I’d put it in the documentation. If anyone has an idea for that, please let me know.

And, of course, if you have ideas that I haven’t thought of, please let me know that, too.

Step of the Month

The “Step of the Month” for July:  Please share an unusual rhythm song (or songs) that you enjoy dancing to. It doesn’t have to be a variation on 12/8 or in any way related to the discussion from my previous post, just something that’s a little different that you enjoy. Post it in the comment thread here or send feedback.

Nine Sinatra Songs – Ballroom inspired Ballet

Pacific Northwest Ballet included Twila Tharp’s Nine Sinatra Songs as part of their Director’s Choice performance this year. I’m not in any way qualified to review a Ballet performance, but I can say that I thoroughly enjoyed it and had a great time playing with the Ballroom-inspired aspects of the dancing as I watched the…

Jessica Lang’s ZigZag – Ballet and Bennett

Pacific Northwest Ballet included Jessica Lang’s ZigZag in their All Lang performance this year. While it’s not as directly Ballroom-related as last year’s performance of Nine Sinatra Songs, it was a ballet danced to and inspired by Tony Bennett songs. And similar to Sinatra, Bennett’s songs are often well-suited to Ballroom dances, especially Swing and…

Fun Rhythms: 12/8 meter- Slow Foxtrot + Viennese Waltz?

Since I’ve added the ability to set the tempo of a dance for a song independently of the tempo of the song itself, I’ve found some renewed energy to go through and clean up some of the inconsistencies that have crept into the music4dance catalog. As I promised (or threatened) when I blogged about the update, I am going to share some of the fun rhythms I find in this process.

12/8 Meter

The first “fun rhythm” I’d like to talk about is the different rhythms a dancer may hear in music written in 12/8. This is effectively 4/4 time where each beat of 4/4 is a triplet, although technically it’s twelve eighth notes per measure (4 *3 = 12).

12/8 musical notation example
My quick demo of what 12/8 looks like on the page.

This post on Jade Bultitude’s site does a much better job of explaining and illustrating the musical part of this than I do.

Dancing to 12/8

The fun thing about this meter is that as a dancer you can count it in two ways – either as a 3/4 measure for each of the triplets or as 4/4 where you hear each triplet as a beat.  Then the triplet rhythm will sometimes work for a Viennese Waltz, and the 4/4 rhythm will work for a slow dance like a Slow Foxtrot, Nightclub Two Step, or Blues. Also note that if you’re looking at the sheet music for a song, you’ll generally see a dotted quarter-note as the measure of tempo, which means a musician is counting the tempo at four beats to a measure, effectively the same as 4/4,

Examples

Like I’m Gonna Lose You” by Megan Trainor featuring John Legend is listed as West Coast Swing, Castle Foxtrot (e.g. Slow Dance), and Blues at 72 BPM, and Viennese Waltz and Tango Vals at 216 BPM on music4dance. The sheet music shows the tempo as 72 BPM, so I’ve set the main song tempo to that.

The sheet music for “Me and Mrs. Jones” by Michael Buble shows that it is technically in 6/8, but the same principle applies. The music4dance page shows votes for Viennese Waltz at 198.2 BPM and Castle Foxtrot (e.g. Slow Dance) and Slow Foxtrot at 66 BPM (this would be very slow for Slow Foxtrot).

Cataloging

I am still playing with how to tag these kinds of songs. Should I add a 12/8 tempo tag to the songs (*even if they might be technically 6/8 or 4/4 with strong triplets)? Should I put a 3/4 tag on the Waltzes and 4/4 on the Foxtrots, or is that redundant? Would it make sense to put a Compound Time tempo tag on all of these?

Next Steps

I’m going to continue to muddle through manually cleaning up these songs, but it will take some time, since there are a lot of these (and I haven’t even gotten into some of the other fun variations).

If you’re interested in seeing more examples and/or jumping in and cleaning them up, here are a few interesting music4dance searches:

If you are interested in helping, but find the documentation (or the discussion above) too confusing, or if you have thoughts on how to better tag these kinds of songs, please feel free to reach out with questions or comments.

Step of the Month

The “Step of the Month” for July:  Please share an unusual rhythm song (or songs) that you enjoy dancing to. It doesn’t have to be a variation on 12/8 or in any way related to the discussion above, just something that’s a little different that you enjoy. Post it in the comment thread here or send feedback.

Update – July 15th, 2026

An astute reader pointed out that I was conflating the terms meter and rhythm. I believe I’ve cleaned this up in the post; the general idea is that dancers hear and dance to a rhythm, while the time signature or meter is a technical term that is used in written music. I am still going to keep the title of this series as “Fun Rhythms”, since I am using this as a forum to talk about the way some dancers may hear the rhythms in a piece of music differently than others.

What Happens When a Song is Danced at Different Tempos?

Sometimes, a song can be a perfectly good Bolero when heard one way but a Salsa when counting the music differently. Another example is Slow Dance (Castle Foxtrot) vs. Lindy Hop. Generally, this phenomenon is because, with some music, it’s easy to count what the musicians see as either a half note or a quarter…

Playing with Dance Tempos

I just rewrote the Tempo tool for the music4dance site as part of the current effort to update the site.  In the process I went back and revisited the reasons for writing the tool in the first place.  The main reason for this tool is to have a single place to do a bit of…

Song Details

The music4dance song details page contains all of the information that we have gathered about a song, including tags and dances that you may have added. Below is a snapshot of a song details page for “How Sweet it Is” as seen by a user, “Charles”, while he is viewing it. Some of the features…

New Feature: Tempo-per-dance, or what if I want to Salsa to this song twice as fast as someone else wants to Cha Cha to it?

One of the things I’ve been struggling with since very early on in the music4dance story is the fact that not everyone hears the same rhythm when they dance to the same song. Struggling isn’t the right word – it’s a difficult technical problem to solve in the context of the music4dance song index, but a delightful result of the plurality of both music and dance (and musicians and dancers) that I celebrate.

In any case, I believe I’ve finally arrived at a reasonable solution, and it’s up and running on the site. You can now specify that a song is danced at 180bpm for Lindy Hop without trouncing on another dancer’s opinion that it should be danced at 95bpm for Night Club Two Step. And, most importantly, you can filter on Night Club Two Steps between 90 and 95bpm in advanced search, and that song will be included. And a search for Lindy Hops between 175 and 180 bpm will also include our hypothetical song.

I almost stalled out while writing this post because there are so many variations in tempo-per-dance. It’s a rabbit hole I could fall down and not emerge from for a very long time. I clawed my way out of that particular hole by promising myself that I would take time to write a series of posts, each one concentrating on one of the variations. We’ll see how that goes.

Bam Bam

And just to give a concrete example, “Bam Bam” by Camila Cabello was one of the songs that got me over the hump to implement this feature. A couple of sources listed this song as Salsa at 190 bpm, but one of the DJs who contributes to music4dance emailed me to let me know that he has been playing it at his dances as a Cha Cha, where folks dance to it at 95 bpm. And since he is a thorough researcher, he looked it up, and it’s listed at 95 bpm on the official sheet music. So, for a while, I had this song listed at 95 bpm for both Salsa and Cha Cha. But now it is one of the first songs I have corrected to use different tempos for different dances:

Screenshot of “Bam Bam,” showing Salas @ 190 and Cha Cha @ 95bpm
Screenshot of “Bam Bam,” showing Salas @ 190 and Cha Cha @ 95bpm
Salsa search for tempo @190bpm shows “Bam Bam.”
Salsa search for tempo @ 190 bpm shows “Bam Bam.”
Cha Cha search for tempo @95bpm also shows “Bam Bam.”
Cha Cha search for tempo @ 95 bpm also shows “Bam Bam.”

Where to go from here?

I’m spending some time tracking down the songs that are the most egregious offenders that can be corrected with this improvement. That includes things like the 4/4 songs that are half-time/double time of each other. Along these lines, I’ll probably implement more tempo constraints for dances to help me find such offenders – see “Ask music4dance: Why are the tempos that music4dance lists for Salsa wrong?” for more info. If you have thoughts on these kinds of tempo constraints, please let me know.

I’ll also be taking another look at Waltzes that are either marked as 4/4 or danced to other types of dances, since this is generally another flag that something funny is going on with rhythms and tempos.

Are there other places that you’ve noticed tempo listings conflicting with your expectations based on the dances you know well? If so, please take a run at fixing them up – I’ve moved to enabling more community modifications of these attributes, so with this change and updated documentation, hopefully you can fix things that look wrong to you – if not, I’d like to know so that I can improve the feature.

Step of the Month

The “Step of the Month” for June is to check your account management page. It is nice to see the songs another user has tagged. This information is available only to other logged-in members of the community, so please consider making your information available to the community by checking the “Share my Profile” option to improve other members’ experience (the alternative is that your votes and tags are attributed to an anonymous user, which is much less friendly).

What Happens When a Song is Danced at Different Tempos?

Sometimes, a song can be a perfectly good Bolero when heard one way but a Salsa when counting the music differently. Another example is Slow Dance (Castle Foxtrot) vs. Lindy Hop. Generally, this phenomenon is because, with some music, it’s easy to count what the musicians see as either a half note or a quarter…

Enhanced Feature: Editing Tempos and Deleting Tags

Based on some of the comments on my last post, I’ve been thinking more about my early decisions concerning who can edit various aspects of a song in the music4dance catalog. I was worried that malicious actors would mess with the data, and spent considerable time designing and implementing a system that lets me roll…

What is a fake Waltz?

I was recently asked why there are songs tagged as Waltz in the music4dance catalog that are in 4/4 time.  This seems almost like the dance version of an oxymoron.   In my brief description of the Waltz on the website I start with “Waltzes are dances that are danced to music in 3/4 time…” To…

Ask music4dance: Why are the tempos that music4dance lists for Salsa wrong?

I’ve addressed questions about tempo in several different ways over the years, and I appreciate the continued feedback, as there is absolutely room for improvement in how the music4dance system handles tempo. Algorithms are far from perfect: The issue at hand is that many of the tempos listed for Salsa were exactly half the speed…

Jessica Lang’s ZigZag – Ballet and Bennett

Pacific Northwest Ballet included Jessica Lang’s ZigZag in their All Lang performance this year. While it’s not as directly Ballroom-related as last year’s performance of Nine Sinatra Songs, it was a ballet danced to and inspired by Tony Bennett songs. And similar to Sinatra, Bennett’s songs are often well-suited to Ballroom dances, especially Swing and Foxtrot.

That, combined with some of the work I’ve been doing for other dances choreographed in a very different way, led me down the rabbit hole of exploring the music used in this dance and its history. I think it’s fun to find ideas for music to dance to in many different ways, so please indulge me while I use this as an excuse to highlight some Tony Bennett songs.

The Music

Apparently, the original version of ZigZag, performed by the American Ballet Theatre, was danced to Bennett’s recorded tracks. The version I experienced featured solo piano and was significantly reworked, using a different set of songs (as far as I can tell, only four songs overlap between the two performances). While I have a bit of retroactive FOMO about not having experienced the original version, this does give me eighteen Bennett songs to explore, rather than the tenish that either version would have provided on its own.

The first few Tony Bennett songs used in ZigZag
The first few Tony Bennett songs used in ZigZag

Here is the music4dance link showing the songs from both versions of ZigZag. I marked them all as Ballet — a dance that I added support for, along with a number of other “performance” dances, when I thought I’d see more So You Think You Can Dance (may it rest in peace) performances to catalog. I added partner dances to some of them as they made sense to me. Please feel free to vote on dances for these songs as well.

Nine Sinatra Songs

Since I was taking a look at “Nine Sinatra Songs” for this post, I noticed that I hadn’t added Ballet votes for those songs, and I also hadn’t added the comment with the piece’s and choreographer’s name (since I hadn’t established that convention yet). That is now corrected.

UX Questions

All of this, aside from being a bit of a diversion from the usual, led me to some small, rough spots in the music4dance user experience that I’m not entirely sure how to resolve.

The main thing is that when I’m viewing song lists like those discussed above, I’d really like to see dance tags and comments in the main search results. But things are pretty cluttered as they are, and songs with a bunch of tags end up hogging screen real estate.

I’ve considered making columns customizable. I could also limit what you see per row by default and add an expando so you can see more without going to the song details page. But I’m not sure how much that would help. I could also do the same kind of limiting and just force you to open the song details page if you want to see much more than title/artist and dances. Please let me know if you have any thoughts about this part of the user experience (or any other parts for that matter). Also, I’m always interested in how people are using the site – that’s almost as useful as specific suggestions in solving issues like this.

Step of the Month

The “Step of the Month” for June is to check your account management page. It is nice to see the songs another user has tagged. This information is available only to other logged-in members of the community, so please consider making your information available to the community by checking the “Share my Profile” option to improve other members’ experience (the alternative is that your votes and tags are attributed to an anonymous user, which is much less friendly).

Nine Sinatra Songs – Ballroom inspired Ballet

Pacific Northwest Ballet included Twila Tharp’s Nine Sinatra Songs as part of their Director’s Choice performance this year. I’m not in any way qualified to review a Ballet performance, but I can say that I thoroughly enjoyed it and had a great time playing with the Ballroom-inspired aspects of the dancing as I watched the…

Dance Tags

Dance tags are the heart of the music4dance database. They are the glue that holds dance styles and songs together. These tags are crowd-sourced from our users, our friends’ catalogs, and from public sources. The more that our members vote on dances, the more diverse our catalog will become. There are a number of places…

New Dance(s): Pattern Dances including Line Dance and Set Partner Dances

I’ve been seeing more interest in what I’ll generically call pattern dances. By this, I mean dances that are set to specific choreography and then danced socially, either in a formation (e.g., line dances) or as partner dances. Since this strays far from my own dance experience, I am struggling both with terminology and how…

New Dance(s): Pattern Dances including Line Dance and Set Partner Dances

I’ve been seeing more interest in what I’ll generically call pattern dances. By this, I mean dances that are set to specific choreography and then danced socially, either in a formation (e.g., line dances) or as partner dances. Since this strays far from my own dance experience, I am struggling both with terminology and how to provide effective support for this kind of dance. I also noticed the last time I looked, there is considerable support for things like step sheets, so I don’t want to duplicate effort, especially since places like CopperKnob seem to have this aspect well covered.

Finding new music for Pattern Dances

Community member tzielund reached out and reinforced my view that there are aspects of the music4dance database that could be particularly helpful for folks interested in these kinds of dances. The general idea is that since music4dance contains a significant catalog of songs categorized by dance style (in the, dare I say, conventional sense of ballroom and partner dances) as well as often containing tempo and meter information, one could look up a song on which a pattern dance was originally choreographed and find other songs that are similar. This is exactly what spurred this post. But it’s great to have someone with a line dance background come to the same conclusion.

Finding dances similar to a Pattern Dance

In addition, Tom succeeded in using the musci4dance database for something that’s almost the opposite of the above. Here’s my paraphrase of his journey: Someone asked on a line-dance forum for recommendations for dances similar to The Vibe, a dance set to the song “Vibe” by Mullally. Music4dance shows Vibe as West Coast Swing. He then looked for another song in music4dance with WCS and about 100 BPM.  There were plenty of matches ordered by dancability, but the first one he recognized as another line dance was Pontoon for the Little Big Town song of the same name. He said that he would never have made this connection mentally — Vibe is kind of a disco-style, while Pontoon is very much country.  But in his opinion, the dances are actually very similar in style, and even share some of the same steps.

How we’ve structured Pattern Dances

The other valuable thing  Tom provided was a list of songs he uses for line dances, along with names of the dances and other details. He and I then went back and forth a bit to structure a Pattern Dance category in music4dance that made sense to both of us, and I uploaded his information as a batch.

This is where we landed. I’d love to get feedback from others with knowledge in this area, as there is always room for improvement. And while the database of pattern dances is relatively small, I’ll still be able to do some restructuring relatively easily.

First, rather than trying to create a new dance in the database for each different kind of pattern dance, I created a single dance called Pattern and added a Line Dance tag to the dances to distinguish them from other types of pattern dances, like the partner pattern dances I’ve blogged about before.

Then, we decided that the name of the specific Line Dance and its choreographer are important pieces of information. For now, we’re adding them as comments on the dance tag. If I get enough interest, I can add specific searchable fields for these, but that’s a bigger lift, and I think a specially formatted comment field will work pretty well for now. If we stick to the format, by very specifically laying these as"Dance Name" by Choreographer Name, people should be able to search for dances easily. Putting quotes around the dance name helps the search index limit results to just the dances, rather than songs that include those words.

I’ve also added tags that Tom included for the dance level, such as Beginner and Intermediate.

Finally, Tom included links to the Step Sheets for each dance. I didn’t want to expose those without permission from the specific site he was referencing, but I plan to reach out to them to make sure they’re okay with these links and then decide how to handle them.

Again, I’m a bit out of my depth on these kinds of dances, so the more feedback I can get from people who are, the better I will be able to support them.

Step of the Month

The “Step of the Month” for June is to check your account management page. As you may have noticed, it is nice to see the songs another user has tagged (in this case, tzielund’s songs). This information is available only to other logged-in members of the community, so please consider making your information available by checking the “Share my Profile” option to improve other members’ experience (the alternative is that your votes and tags are attributed to an anonymous user, which is much less friendly).

Western Partner Dances and Line Dances?

One of the comments on my last post asked: A lot of our dance groups over here love to dance the partnered dance sea shells The song “Blue night” by Michael learns to Rock sings the song they dance to. Is there a list on your data base of similar songs to that one that…

Playlists for Ballroom DJs?

I recently heard from a member of the music4dance community who hosts a community social ballroom dance for which he builds a playlist. He uses music4dance to find song ideas, then manually builds a spreadsheet and feeds it back into Spotify to create the final playlist. I have a long-standing interest in making it easier…

Dance Styles

The dance styles page is accessible from the Music->Dance menu.  It provides a “table of contents” of the dance styles that we’ve used to categorize songs in our catalog.   Dance styles are also used as a special kind of tag that can be seen in the song lists and included in filters.

Dance Tags

Dance tags are the heart of the music4dance database. They are the glue that holds dance styles and songs together. These tags are crowd-sourced from our users, our friends’ catalogs, and from public sources. The more that our members vote on dances, the more diverse our catalog will become. There are a number of places…

Enhanced Feature: More Song History

A number of years ago, I added a “Changes” section to the song details pages to show who had voted for which dances for that song. I also included a few other pieces of information that users (both live and proxy) set. But now that I have enabled any signed-in user to modify tempos and delete tags set by algorithms, it only seems reasonable to enhance the song history/changes section to show where this information is coming from. I still believe that the core benefit of this section is to show who voted on dances for a song, so the new information is only shown if you check the “Include Automated” toggle at the top of the section. Also note that you have to be signed in to see the toggle.

Changes section showing just the core dance votes.
Changes section showing just the core dance votes.
Enhanced song history including algorithmically generated tempos and tags.
Enhanced song history, including algorithmically generated tempos and tags.

Let me know what you think. Is this useful? Is it so useful that you’d prefer it as the default?

Anonymous Import

One other detail I’d like to point out. You may have noticed that some of the newly visible changes are attributed to “Anonymous Import.” This is a catch-all account I’m using to name changes whose origins became obscured over time due to changes in the code or data. One example is that, at one point, I ran a beat-detection algorithm over my personal library and uploaded the results. I don’t want to attribute these tempos to me as a human user, so I put them in this bucket. I’m not thrilled with the name for that bucket, but I’m hoping it isn’t too confusing.

Step of the Month

The “Step of the Month” for May is to share your favorite search. You can share a search by copying the URL from the browser address bar and pasting it into a comment for this post. Feel free to add details as to what you did and why it’s your favorite. And there is nothing stopping you from sharing more than one of your favorites -:)

Song Details

The music4dance song details page contains all of the information that we have gathered about a song, including tags and dances that you may have added. Below is a snapshot of a song details page for “How Sweet it Is” as seen by a user, “Charles”, while he is viewing it. Some of the features…

Ask music4dance: When was this song added to the catalog?

Someone recently asked me to add a feature that shows when a song was added to the music4dance catalog. It turns out this feature already exists, but the fact that this person didn’t realize it means it isn’t as obvious as it should be. This is especially true, given that the questioner demonstrated she was…

Who else likes to dance to this song (and what do they dance to it)?

As I browse the music4dance catalog and find a song I like, it’s nice to be able to see who added it and use that as a way to find other songs that I might like.  To this end, I’ve added a new section to the song details page called Changes that lists the changes…

New Feature: More ways to see what’s going on at music4dance

One of my goals for music4dance is to build a system that people can use to share their knowledge of partner dance music with others.  I probably spent too much time early on in this project building bots and scrapers to seed the catalog with content and neglected the community aspect of the site.  So…

Enhanced Feature: Editing Tempos and Deleting Tags

Based on some of the comments on my last post, I’ve been thinking more about my early decisions concerning who can edit various aspects of a song in the music4dance catalog. I was worried that malicious actors would mess with the data, and spent considerable time designing and implementing a system that lets me roll back all edits for a specific user if I find they’re up to no good.

Oddly, I have had to spend significant energy dealing with bad actors who have been attempting to hack the site. But they’re all about things that have absolutely nothing to do with the music and dance data. I haven’t once had to back out dance votes by someone trying to break the system. I think I was overly influenced by stories about moderating issues on Wikipedia (which was relatively new at the time), and by my personal history with programmers fighting over whether three or four spaces is the “right” number to represent a tab in C.

And in my defense, dancers are often very opinionated about the definitions of dances and what is “appropriate” music to dance them to (e.g. Why is the tempo range you list for West Coast Swing wrong? and Why are the tempos that music4dance lists for Salsa wrong?). But most of what I see in those cases are angry emails about how I’ve gotten it wrong.

In the spirit of assuming that the members of the community are well-intentioned and knowledgeable (or at least self-assess well as to the limits of their knowledge), I’ve changed a couple of things about the Dance Details pages.

Tempo Editing

Some time ago, I started preferring human tempo edits over algorithmic ones. But I was only allowing a few vetted moderators to edit tempos. I’ve now opened tempo editing up to all registered users. So if you see a tempo that doesn’t make sense for a song, please go to the Song Details page (generally by clicking on the song title in search results or lists) and click the pencil icon next to the tempo. That will put the song into edit mode, and you should be able to edit the tempo. Don’t forget to save when you’re done!

If you are signed in and don’t see the pencil icon next to the tempo, it is probably because I, or another user, has already manually edited the tempo. You can generally tell this is the case by looking at the changes section in song details. If this happens frequently, I’ll consider building a moderation system of some kind, but in the meantime, please just contact me with your thoughts on the tempo and why, and we can work it out.

One special case the system can’t handle yet is when two very different dances can be danced to the same song at different tempos. I’m getting close to pulling the trigger on a solution for that, so if you come across any of these, please let me know – the more examples I have, the more general I’ll be able to make the solution.

Tag Deletion

Another attribute of song editing that’s only been accessible to select moderators in the past is the ability to delete tags created by other users. But, like tempo, the algorithms sometimes get the meter wrong (labeling something as 4/4 that should be 3/4, or vice versa). I’m also not thrilled about how broadly musical genres are applied, so I’d be happy if anyone would be willing to go in and trim some of those down. Again, generally, I’m going to assume that a discerning human user will do a better job than the algorithm. I’m also limiting this feature to deleting algorithmically created tags, not tags created by another user, for reasons similar to the Tempo Editing feature.

In order to remove tags, just click on the pencil icon at the end of the tag list on the Song Details page. The single list of tags will split into two lists, one labeled “Remove Tags.” This list contains the tags that you’ve added + the algorithmically generated tags. Clicking on the (x) icon in the tag will remove it. Again, don’t forget to save. And again, if you don’t see a tag in the Remove list that you expect, it’s probably because another user, not an algorithm, added the tag. You should be able to confirm this by looking at the changes section. Please contact me in such cases, and I’ll resolve them manually.

Step of the Month:

As I noted previously, I’ve traditionally closed out these posts with a generic ask to check out the contributions page and to please send feedback on anything in the post or your general thoughts. That’s been less effective than I like, so I’m pivoting. Each month, I’ll choose one specific ask that may or may not be on the contributions page lists, but would really help keep music4dance and the community strong. I’ve decided to call this section “Step of the Month” – a play on dance steps and steps to help – and see if that gets a response. If the response is to hold your nose and run away from plays on words, please let me know that, too.

The “Step of the Month” for April is to vote on songs that you like to dance to. This will make the catalog more useful for everyone.

Thanks, everyone, for your continued support.

What Happens When a Song is Danced at Different Tempos?

Sometimes, a song can be a perfectly good Bolero when heard one way but a Salsa when counting the music differently. Another example is Slow Dance (Castle Foxtrot) vs. Lindy Hop. Generally, this phenomenon is because, with some music, it’s easy to count what the musicians see as either a half note or a quarter…

Is music4dance becoming too popular?

I first published music4dance in 2013 and, within a year or so, started seeing traffic measurable in the thousands of active users per month. Usage plateaued there for over a decade, but last year, the numbers started climbing rapidly – into ranges better measured in tens of thousands. Now these are very rough measures from…

Song Details

The music4dance song details page contains all of the information that we have gathered about a song, including tags and dances that you may have added. Below is a snapshot of a song details page for “How Sweet it Is” as seen by a user, “Charles”, while he is viewing it. Some of the features…

One Dancer, One Vote?

My original implementation of the music4dance voting system included weighted voting. The idea being that an expert in a particular dance style could vote on that style, and that vote would count more than the average community member’s or a list the system ingested from the internet. In practice, I weighted the lists that I got from friends and friendly DJs higher, and everything else got a single vote. A decade or so in, when I realized that I wasn’t getting dance teachers and professional DJs breaking down the figurative door to spend time recommending songs to dance to, and my original weightings were stale enough as to be counterproductive, I wrote some code to go through and normalize all votes to be of equal weight. So we are now in a place where all Dancers, Djs, and web lists get the same weight vote.

Wait – what are you talking about?

In case you haven’t played with this part of the system and are completely confused by the above, here’s the TL;DR – The core of the music4dance catalog is a system that encourages dancers to vote on which songs they like to dance to a style of dance. The more I can encourage folks to participate in this, the more useful it is to search for something like the highest-rated Cha Chas between 100 and 128 BPM. Check out the help page and this post for more info.

What now?

Several things got me thinking about this again, and since the system is still in place to weight votes other than “one.”

First, votes in the system are dominated by lists that have been ingested and not carefully checked, so there is more chaff than I would like. My assumption is that anyone who takes the time to log into the system and vote a song either up or down on a dance has put more thought into that decision than the random list, and could reasonably be weighted higher than average.

Secondly, I have communicated with a number of amateur DJs and dance coordinators who use music4dance. Many of these power users don’t vote a song up until they’ve played it for their dancers and it’s been a success. Should they get n votes (representing some average of the dancers they are spinning for)?

And finally, one of the DJs I’ve been talking to suggested it might be nice to be able to double- or triple-vote, either up or down, songs he thought particularly suited to a dance (or not).

Any of the above would be pretty easy to implement, but I’m torn on adding completely to an already complex system. So, this is definitely something I would like to get more feedback on before moving forward. What do you think?

Step of the Month:

As I noted last time, I’ve traditionally closed out these posts with a generic ask to check out the contributions page and to please send feedback on anything in the post or your general thoughts. That’s been less effective than I like, so I’m pivoting. Each month, I’ll choose one specific ask that may or may not be on the contributions page lists, but would really help keep music4dance and the community strong. I’ve decided to call this section “Step of the Month” – a play on dance steps and steps to help – and see if that gets a response. If the response is to hold your nose and run away from plays on words, please let me know that, too.

The “Step of the Month” for April is to vote on songs that you like to dance to. This will make the catalog more useful for everyone.

Thanks, everyone, for your continued support.


Dance Tags

Dance tags are the heart of the music4dance database. They are the glue that holds dance styles and songs together. These tags are crowd-sourced from our users, our friends’ catalogs, and from public sources. The more that our members vote on dances, the more diverse our catalog will become. There are a number of places…

Updated Feature: Search History

As promised, I’ve done a bit more thinking about how to help folks who are going through long lists of search results, possibly generated by complicated searches. Most of what I ended up doing centers on a feature I’ve been calling “My Searches.” I realized as I started digging into this that I had already…

Updated Feature: Search History

As promised, I’ve done a bit more thinking about how to help folks who are going through long lists of search results, possibly generated by complicated searches. Most of what I ended up doing centers on a feature I’ve been calling “My Searches.” I realized as I started digging into this that I had already made some improvements to this feature based on feedback. But I never got around to blogging about that, so if you haven’t looked at this feature recently, it’s quite a bit different.

What is My Searches?

As you may have noticed, I haven’t been very consistent in the terminology I use for this feature. In previous posts and on the help page, I’ve called this feature “Saved Searches,” and in the user interface, it’s called “My Searches.” It is also easy to look at this as a search history.

If you’re signed in, music4dance saves your searches, and you can see the list of the most recent searches you’ve done in the “My Searches” menu under the profile menu in the top right of the page. I don’t remember exactly when I implemented this feature, but the last major update was in 2022, and I’m guessing the initial implementation was several years before that.

Improvements:

A couple of things I added to make this feature more manageable were to allow you to delete searches you’re not particularly interested in and to associate each search with the Spotify playlist it was created from. In this most recent round, you can also filter on searches that you’ve created Spotify playlists from.

Based on feedback about returning to a specific page in a search, the system now stores the most recent page you’ve seen in each search, which will appear in your list as a separate button.

While I was thinking about this, it occurred to me that one of the biggest issues with this feature is that people don’t know it exists. So, under the Tools menu, I added a “Search History” item and a “Resume Search” item. If you’re signed in, “Search History” just takes you to the “My Searches” page, and “Resume Search” takes you to the most recent page of the last search you ran. If you’re not signed in, you see a message to register or sign in to use the feature.

I’ve also added a “Delete All” option to remove all your searches from the database.

What’s Next:

I’ll likely pause on this feature for now, but please let me know if there are any aspects that would work better for you. Some of my thoughts:

  • I only show the top 250 most recent or most used searches. I could make this pageable like search results.
  • I only do this for non-trivial searches, so if you’re going through all the Waltzes in the catalog, you won’t see the search in your saved searches, and the new menu item will take you to your most recent “non-trivial” search, not the full list of Waltzes.
  • I could enable opting out of this feature and not store your searches.
  • I could enable adding searches to your favorites and filter on favorites (which gets a little closer to “Saved Search” vs. “Search History.”)

Step of the Month:

I’ve traditionally closed out these posts with a generic ask to check out the contributions page and to please send feedback on anything in the post or your general thoughts. That’s been less effective than I like, so I’m going to pivot. Each month, I’ll choose one specific ask, which may or may not be on the contributions page lists, but would really help keep music4dance and the community strong. I’ve decided to call this section “Step of the Month” – a play on dance steps and steps to help – and see if that gets a response. If the response is to hold your nose and run away from plays on words, please let me know that, too.

The “Step of the Month” for March is to please follow music4dance on Spotify. This helps gain visibility and attract new participants to the community.

Thanks, everyone, for your continued support.

Is music4dance becoming too popular?

I first published music4dance in 2013 and, within a year or so, started seeing traffic measurable in the thousands of active users per month. Usage plateaued there for over a decade, but last year, the numbers started climbing rapidly – into ranges better measured in tens of thousands. Now these are very rough measures from analytics, and there are some conflating issues which I’ve noted on my tech blog if you’re interested. And, very importantly, there has been a steady increase over the years of highly engaged users – those of you who vote on dances, email me with issues, and generally keep me mostly in line with dance knowledge.

In any case, the issue at hand is that music4dance has never paid for its own server costs, which has been fine with me in the past, because I get enough out of running the site that I am willing to cover the server costs, and I count my time as well rewarded by the support of the community. However, running a site open to the public has the quirk that expenses can be unbounded as traffic scales, or conversely, the site can slow down as traffic increases.

Music4dance has both of those problems. I haven’t done the engineering work to allow all resources to scale with usage. So things will slow down as more people use the site, possibly to the point of making it unusable, depending on the number of users and what they are doing. On the other hand, some resources are unbounded, such as network traffic costs, so I’ve seen costs spike.

Now, this would all be good if revenue scaled with usage, as an order-of-magnitude or more increase in revenue from both ads and subscriptions would not only cover current costs but also let me put in place some of the things that make a site scalable. However, revenue is not scaling at the same pace as traffic.

Ad revenue has grown by less than double, and since it’s only ever covered a small fraction of my costs, that’s extremely disappointing. I suspect that many people have ad blockers running, and I recently noticed that running my browser in incognito mode appears to act as an ad blocker, so many people may just not be seeing ads. Besides, ads uglify the site.

Subscription revenue has increased over the last year (thank you, everyone, who has subscribed or renewed, I really appreciate the support). And also thank you, everyone, who has spread the word and helped create the “problem” I’m dealing with now – please keep it up; the last thing I want is for usage to go down as the solution.

Given those two factors, I’m going to put on my (very shabby) marketing hat and start moving the site to a purely subscription-based model rather than the current hybrid ad and subscription model. Let’s see what we can do about getting some of the wonderful dancers who use the site regularly to add a premium subscription to music4dance to their budgets. To this end, I’m reducing the number of pages that show ads and replacing them with an obvious (but hopefully not too annoying) plea to create an account and upgrade to a premium subscription. If this works, I’ll eventually remove external ads completely.

Why am I telling you all of this?

  • If you are a premium subscriber and start seeing new messages asking for your support, please let me know – that would be a bug. My promise to premium subscribers to keep the site ad-free for them is intended to include this kind of “internal” advertising as well.
  • If you aren’t a premium subscriber yet but get something from the site, please consider subscribing.
  • If you find these nudges annoying and would prefer to support the site in another way (or already are), please get in touch with me. For instance, I had considered writing code to drastically reduce the number of nudges for folks who cast many votes or add many songs per month. But I think we can accomplish this manually for now, and I’ll write the code if it becomes an issue (and would be very happy to do so).
  • Since this whole line of reasoning is based on server load, please let me know if you’re seeing significant sluggishness when using the site. I’m especially interested in which pages you notice and when this happens. I am working on ways to reduce those issues without drastically increasing costs, and I can be more effective in my efforts if I have actual reports of sluggishness.

Thanks again to everyone who is already contributing to music4dance in one way or another. I hope this wasn’t too in the weeds of the business of running the site. I promise next time to get back to some fun features of the site or to an observation about music and dance.

As always, please let me know if you have any thoughts about the subject of this post or the site by commenting below or using other feedback mechanisms listed here. And, as previously noted, if you enjoy the site or the blog (or both), please consider contributing in whatever way makes sense for you.