What is your corpus, why did you choose it, and what do you think is interesting about it?
Synthwave (also called outrun, retrowave, or futuresynth) is an electronic music microgenre that is based predominantly on the music associated with action, science-fiction, and horror film soundtracks of the 1980s. Other influences are drawn from the decade’s art and video games. Synthwave musicians often espouse nostalgia for 1980s culture and attempt to capture the era’s atmosphere and celebrate it (from Wikipedia).
I chose this corpus because I am currently listening to a lot of synthwave music. I also listen to all my music on Spotify, so I can use my playlists to build my corpus up quickly. I am also currently working on a synthwave rhythm-game in unity, so exploring this corpus could also help with this side project.
I have selected the following artists, which should represent the following subgenres:
What are the natural groups or comparison points in your corpus and what is expected between them?
There are five artists in the corpus, each representing a synthwave subgerne. The natural point of comparison is therefore to analyse the differences between tracks of these different artists. I intend to explore what features are the best at showing the differences between the artists, and test if training a good performing classifier on labels within the same genre is possible.
A secondary objective of this research is to see if subgenre detection is possible, which is why each artist has a different subgenre. This secondary objective is much more subjective. This is because unlike heavy metal, synthwave has much less agreed upon subgenres. I personally do not think there are very significant differences between most of these subgenres, but we will see if the data agrees with that statement. The conclusions of the secondary objective will be less objective, but I do think they will indicate if subgenre detection is likely or unlikely to be possible.
How representative are the tracks in your corpus for the groups you want to compare?
I will use a couple of playlists for each artist to build the corpus, making sure all artists take up an (close to) equal share of the corpus. This will ensure that all artists are equally represented. For subgenre detection representativeness is debatable. It is almost universally agreed upon that Home is one of the OG’s of Vaporwave. Jan Hammer is also a very respected soundtrack artist in the scene. The other genres are probably more debatable. But the same goes for the more niche subgenres of hardcore rock, so I believe the experiment will still be compelling.
Identify several tracks in your corpus that are either extremely typical or atypical. Why do you think that they are so typical or so strange?
Turbo Killer by Carpenter Brut is one atypical outlier. It is by far the most intense/speedy track in the entire corpus, even by Carpenter Brut standards. I also think that Resonance from Home may be an outlier. It has very odd sounds, even for vaporwave standards, I do not think there is anything that sounds close to this track. Respirate (Downtown Binary Remix) is the final outlier in this corpus. This is obviously because it is a remix of a song not originally created by Downtown Binary, but I think it still retains the Downtown Binary style, therefore I expect it to be interesting in analysis.
Source & Reproducibility
The whole project uses Spotify API as the source, and by hitting the Github “Source code” button, all code used to generate all visualizations can be verified on accuracy and methodology.
About the playlists
The corpus playlist contains all the tracks used in analysis. I chose to also include the old corpus, because it has a much greater listening experience. It contains a lot more variety taking the best songs from each album, while the new corpus includes more albums in their entirety.
The basics
When working with a new dataset, it is often a great idea to create some basic plots to get a feeling for the dataset, before diving into the actual research. The following two histograms will hopefully give a crude visualization of some properties of the chosen corpus.
Low popularity
Lets start of by looking at the popularity of the songs in the matrix. Spotify API assigns a popularity value to each track from 0 to 100. We can see that most songs have about 50 popularity. With some outliers close to minimum and maximum popularity. The corpus has a surprising amount of popularity while not being a well known genre (or maybe it is?). It would be nice if Spotify would explain how it determines popularity.
Low Speechness
It is clear from this histogram that speechness is very low in the corpus. This makes a lot of sense, because most tracks in the corpus do not contain any vocals. What the plot does show us is that the expected speechness values and the Spotify provided values do indeed match up, which is good.
Vibe checking
Energy and Valence can convey the mood of songs. Active songs will have high energy, while passive tracks will have low energy. In the plot we can clearly see that almost all of the tracks within the corpus have high energy. We can see clearly that almost all songs have high energy, with Carpenter Brut having the highest average energy. Jan Hammer also seems to have the highest valence tracks. The song with the lowest energy is Night Talk, which has the low energy score of 0.258.
Valence determines positivity and negativity, with high valence being positive. As opposed to energy, the corpus does contain more valence variety, but on average does have low valence. Boat party having the highest valence score of 0.96. This combination of low valence high energy would map to ‘nervous’. While this is definitely how I would describe Carpenter Brut, The Midnight and Downtown Binary do not sound nervous, so simply classifying vibe by these metrics may be naive. Carpenter Brut also has high loudness for example, which likely contributes to the nervous vibe. That being said, Jan Hammer being classified as the most positive does does concur with my own interpretation.
Classification
It is good that most songs of each artist do hover around the same valence and energy, meaning that these two features already give great information about the artists. There is unfortunately a lot of overlap between the artists. This means that this data is probably not enough on its own to guess the artist for any given song. While that is a shame, there are a lot of other features like loudness that can be used to add additional dimensions to the data, so this result still looks very promising.
Exploring loudness further
Having observed the previous plot, it looked like there may be some relationship between energy and loudness. To check if this is indeed true, here we have Loudness and energy plotted, and fitted with a line afterwards. While there are definitely outliers, we do indeed clearly see that these features do indeed exhibit a linear relation. Spotify is not very open about how it determines it’s feature values, but using this plot we do get more of an idea how energy is calculated.
Loudness as important feature
Beyond finding the linear relationship, the separation of artists in this plot also seems kind of good. The Midnight and Downtown Binary intersect a lot, but the other three artist(s) are decently separated. This would imply that loudness may be a more important feature than valence.

Comparing original to remaster
Jan Hammer’s most iconic soundtrack has to be Crockett’s Theme from Miami Vice. Miami Vice is quite old now (originally aired in 1984), but Jan Hammer’s work on the soundtrack is great, and went on to inspire a lot of the modern Synthwave artists. Jan Hammer recently (2018) released a remaster of Crockett’s Theme in the ‘Special edition’ album. I like this remaster better, but it is very subtly different from the original. Therefore it is probably the perfect candidate for this comparison.
Analysis
The plot shows that the original and the remastered soundtrack are indeed very similar. This is visible by the diagonal line in the plot. Both tracks have very similar structure and duration, so this makes sense. In some spots the diagonal line becomes less clear, like the first ten seconds of the plot. Here we see a more distorted checkerboard pattern. When listening to both tracks this difference is noticeable, primarily in volume. The overall structure of the song does not change, so this block is not fully distorted in the plot. The end of both tracks also feature similar distortion, which is not unexpected. The beginning and end of both tracks are very similar for each track.

About the tracks
I wanted to explore the song Turbo Killer by Carpenter Brut, which is one of my favorite tracks in the corpus. I believe this is due to the buildup and pacing that the track has. Resonance does not have any of these features, which would imply that the Self Similarity Matrices should be different.
Turbo Killer Analysis
When looking at the Chroma matrix we see a lot of tiny changes in the first forty seconds. Every seven-ish seconds there is a change. After 40 seconds the song changes into high tempo guitar only, and the following blocks all add additional elements to this. The matrix turns out very interesting, because you can see how the song constantly builds up to more complexity. The Timbre matrix looks less interesting. There are no real verses, but you can tell where transitions to more complexity happen.
Resonance Analysis
Resonance has a very noisy Chroma plot. It seems like the oscillation-like effect of synthwave really distorts the plot. The only clearly defined change happens at 140 seconds, where the grid like pattern becomes much less busy. When listening to the track you can hear that the track indeed calms down more. The Timbre matrix is however a lot cleaner. It captures the added ‘instrument’ at 25 seconds and at 90 seconds.
Chord Analysis
I have chosen Days of Thunder & Above All from to corpus to do chordogram analysis with. Both tracks are very consistent in their sound, which should mean both will have long stretches of the same chord. This is something that is represented in the plot, both songs have long blocks where the same chord is being played.
Both songs seem to start with more rapid chord changes, long stretches in the middle, and then more rapid chord changes in the end. What is surprising is that Days of Thunder seemingly has a single very long chord block starting at around 80 seconds and ending at 180 seconds. On closer inspection this does consist of two blocks split around 130 seconds, but when listening to the song I do hear differences within the track. This is apparently not enough to be represented with significance within the plot. At 180 seconds the chords slightly change, which is audible when listening to the song, but it is only slightly different according to the graph.
Verdict
It is odd that Above All has more chord changes according to the graph, while being much less complex when listening to the track. Chord analysis may not be the greatest way to classify tracks, that or these specific tracks did not work great with chord analysis.
Tempo Analysis
Nexus from Downtown Binary gives some interesting results in tempo analysis, it has three very distinctive phases.The intro phase takes the first 90 seconds of the song, and has very fluctuating tempo. We get a very noisy tempogram here. After this the second phase lasts until 115 seconds and has more clearly defined BPM, as it slowly bridges the intro and third phase. The third phase has a very clear 105 BPM line and a less clear 158 BPM line.
Hang’em all is an interesting song to compare with Nexus, Because Nexus is more chill, while Carpenter Brut’s Hang’em all is more powerful/aggressive. Hang’em contains both high and low intensity sections. The first 50 seconds of the track start intense, followed by a low intensity subsection. You can clearly observe this in the Tempo plot, which becomes less noisy and a more consistent line after these first 50 seconds. From 85 to 120 seconds there is a more intense subsection, followed by low intensity that blends into high, which is unexpected, because the whole section looks like the first 50 seconds of the low intensity track section.
Comparing
Hang’em all consistently has higher BPM compared to Nexus, which was to be expected. While Hang’em all does contain relaxed parts, it always feels more faster paced than Nexus. The lowest intensity/buildup phases of both seem to have BPM’s that are not clearly defined by the plot, but when the main parts of both songs happen the BPM line becomes very sharp and accurate. Average BPM seems to be a reasonable and usable statistic to differentiate between Carpenter Brut and Downtown Binary.
Random Forest
After all previous analysis, it is finally time to see if the research-question indeed holds true. Initially KNN was used, but after testing Random Forest reported much better results in validation. Validation is done using K-fold validation, using 5 partitions. This means that we train the model on 80% of the data and validate on the remaining 20%. This is then repeated until all 20% slices of the corpus have been in the validation partition once, giving a more honest non-cherry-picked representation of the results.
The Important Features
Loudness is the most important feature for the Random Forest Classifier when classifying the corpus. This is not fully blindsiding, because in the Linear Loudness plot we already saw great separation between the labels. Timbre feature #1, which also represents loudness, is second. It is eye-opening that energy and valence are reasonably low, I did expect these features to be greater descriptors of the labels. Duration is also quite an interesting metric to train on. One would expect duration to not tell much about the music, but when looking trough the corpus each artist does seem to have similar track lengths for all their tracks.
Results
When interpreting the results, one should keep in mind that the maximum score is 20, since the corpus has 20 entries of each artist. It is obvious that the Random Forest Classifier is very accurate when predicting artists. It achieves the best results with Carpenter Brut, which is likely due to the fact that it contrasts the most compared to the other artists. The classifier has some randomness each time the underlying code is ran, so there is some variance. But on average the classifier performs beyond expectation on all artists.
The Questions
The goal of this corpus analysis was to see if classifying artists that are within the Synthwave genre would be effective. A side objective to this was seeing if subgenre detection within the Synthwave genre may be possible. To test this five synthwave artists were selected that embody a subgenre. several music visualizations were used to analyse and compare the differences between the artists, to find features that may be significant when training a classifier.
The Answers
Many of the music visualizations have shown that while all artists belong in the synthwave genre, their songs are still distinct enough to be accurately distinguished between. The Loudness plot and the tempogram for example show clear differences between tracks of different artists. The Random Forrest classifier proves that the observations made throughout the weeks had merit. Many of the significant features are indeed those that were previously identified.
The secondary objective is harder to quantify. The performance of the classifier is incredible, which is a good sign for subgenre detection. But it is likely too short-sighted to say that this means that subgenre detection within the Synthwave genre is possible.
Validity
I believe the internal validity of this research is adequate. The final corpus was especially designed to be great for comparisons. Therefore the experimentation and final classification worked great and should be satisfactory. A possible point of contention is the secondary objective. While the results clearly show great classification of artists, the same cannot truly be said about subgenre classification. Choosing one artist to represent each artist was fine as an first experiment, but it obviously does not fully capture all variation within said subgenres.
The external validity may be harder to estimate. The primary objective of classifying artists worked great, but that may just be because these artists just happen to perform great. So to be more sure about external validity further research could explore different artists, which is easily done by changing the corpus playlist.
Reflections
In hindsight it would have been possible to increase the number of artists in the corpus. The original corpus was scrapped because of too much variety, but it appears the number of artists could definitely have been increased to ten instead of five. The new corpus is more of a dataset and does not really represent an organic playlist, which is a shame. I am very happy with how the overall theme of the dashboard turned out. The colorpalette stays true to the Synthwave genre. The Intent was also to make the plot gridlines look like the gridlines in the picture on the right, which worked out well.

Signing out
Thank you for reading my music analysis!