Miley Cyrus is a well known singer and actor from Nashville, Tennessee. Cyrus first broke onto the scene after starring in the show Hanna Montana, where she played a young pop star. Cyrus has continued to produce popular music over the course of her career, beginning with her Hannah Montana days, and has remained at the top of the music industry since. Cyrus has produced seven albums to date. Her most recent album was released on November 27, 2020. As Cyrus has grown out of her Disney star days and become an adult, her music has grown with her age. The lyrics and sound of Cyrus has appeared to change over time and as she has grown older.
Source: https://www.britannica.com/biography/Miley-Cyrus
I predict that Cyrus’ music has become more vulgar as she has aged, which is expressed throughout her albums. As she has grown older and grown out of her Disney phase of music, I predict that her lyrics have become more negative in sentiment and that positiveness and intensity of her music has changed over time.
In order to run certain functions, I first had to run the necessary packages.
library(tidyverse)
library(tidytext)
library(genius)
library(wordcloud2)
library(textdata)
library(scales)
library(ggthemes)
miley_albums <-tribble(
~artist, ~title,
"Miley Cyrus", "Meet Miley Cyrus",
"Miley Cyrus", "Breakout",
"Miley Cyrus", "Can't Be Tamed",
"Miley Cyrus", "Bangerz",
"Miley Cyrus", "Miley Cyrus & Her Dead Petz",
"Miley Cyrus", "Younger Now",
"Miley Cyrus", "Plastic Hearts",
)
miley_song_lyrics <- miley_albums %>%
add_genius(artist, title, type = "album")
miley_song_lyrics %>%
unnest_tokens(word, lyric) %>%
filter(!word %in% "hoo") %>%
filter(!word %in% "la") %>%
anti_join(stop_words) %>%
filter(title %in% "Meet Miley Cyrus") %>%
count(word, sort = TRUE) ->miley_word_album1
miley_song_lyrics %>%
unnest_tokens(word, lyric) %>%
filter(!word %in% "la") %>%
anti_join(stop_words) %>%
filter(title %in% "Breakout") %>%
count(word, sort = TRUE) ->miley_word_album2
miley_song_lyrics %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
filter(title %in% "Can't Be Tamed") %>%
count(word, sort = TRUE) ->miley_word_album3
miley_song_lyrics %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
filter(title %in% "Bangerz") %>%
count(word, sort = TRUE) ->miley_word_album4
miley_song_lyrics %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
filter(title %in% "Miley Cyrus & Her Dead Petz") %>%
count(word, sort = TRUE) ->miley_word_album5
miley_song_lyrics %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
filter(title %in% "Younger Now") %>%
count(word, sort = TRUE) ->miley_word_album6
miley_song_lyrics %>%
unnest_tokens(word, lyric) %>%
filter(!word %in% "uh") %>%
filter(!word %in% "ooh") %>%
filter(!word %in% "la") %>%
anti_join(stop_words) %>%
filter(title %in% "Plastic Hearts") %>%
count(word, sort = TRUE) ->miley_word_album7
miley_word_album1 %>%
wordcloud2(color='random-light')
miley_word_album1 %>%
head(10) ->album1top10
album1top10 %>%
ggplot(aes(reorder(word, -n), n, fill=word)) + geom_col() + scale_fill_tableau() + theme_solarized() + ggtitle("Top 10 Words of 'Meet Miley Cyrus'") + labs(y= "Number of Appearances", x = "Words")
When Miley released her first album in 2007, she was in the beginning phase of her Disney acting career. At only 15 years old, she was still very much a young teenager. In this album, it is evident that her most commonly used words are dance, start, and yeah. These words are representative of the young, energetic, and fun persona she plays as a teenage pop star actor.
miley_word_album2 %>%
wordcloud2(color='random-light')
miley_word_album2 %>%
head(10) ->album1top10
album1top10 %>%
ggplot(aes(reorder(word, -n), n, fill=word)) + geom_col() + scale_fill_tableau() + theme_solarized() + ggtitle("Top 10 Words of 'Breakout'") + labs(y= "Number of Appearances", x = "Words")
A year after her first, Cyrus produced her second album in 2008. This album is similar to her first in the way that the lyrics align with her young, innocent, fun-loving teenage style. Some of the top words used in her lyrics include wanna, gonna, girls, and fun. At this time, Cyrus was still fresh on the scene as a popular actor in the show Hannah Montana.
miley_word_album3 %>%
wordcloud2(color='random-light')
miley_word_album3 %>%
head(10) ->album1top10
album1top10 %>%
ggplot(aes(reorder(word, -n), n, fill=word)) + geom_col() + scale_fill_tableau() + theme_solarized() + ggtitle("Top 10 Words of 'Can't Be Tamed'") + labs(y= "Number of Appearances", x = "Words")
In 2010, when Cyrus released this album, Cyrus was still under the age of 18 (she was 17). Some of the top words she used in her lyrics from the album include walk, love, heart, liberty, stop, and baby. Words representative of her innocence, such as dance, wanna, girls, and fun have become less popular in this specific album.
miley_word_album4 %>%
wordcloud2(color='random-light')
miley_word_album4 %>%
head(10) ->album1top10
album1top10 %>%
ggplot(aes(reorder(word, -n), n, fill=word)) + geom_col() + scale_fill_tableau() + theme_solarized() + ggtitle("Top 10 Words of 'Bangerz'") + labs(y= "Number of Appearances", x = "Words")
Bangerz was the first album that Cyrus released as an adult over the age of 18. Her older age is evident in the popular words she uses in her lyrics, such as party, stuff, money, and thang. These words relate more closely to the lifestlye of a young adult who is beginning to care more about parties and money.
miley_word_album5 %>%
wordcloud2(color='random-light')
miley_word_album5 %>%
head(10) ->album1top10
album1top10 %>%
ggplot(aes(reorder(word, -n), n, fill=word)) + geom_col() + scale_fill_tableau() + theme_solarized() + ggtitle("Top 10 Words of 'Miley Cyrus & Her Dead Petz'") + labs(y= "Number of Appearances", x = "Words")
In Cyrus’ fifth album she was 22 years old. This album was her first introduction to using ‘explicit’ lyrics, as all the albums prior did not use this type of language. Google searches of Cyrus in 2015 produce pictures of her performing shows in extremely revealing outfits. At this point in her career, she appeared to be rebelling from her previous innocent, Disney pop star phase. This is reflected in the words she uses in her lyrics, such as na, fuck, and space.
miley_word_album6 %>%
wordcloud2(color='random-light')
miley_word_album6 %>%
head(10) ->album1top10
album1top10 %>%
ggplot(aes(reorder(word, -n), n, fill=word)) + geom_col() + scale_fill_tableau() + theme_solarized() + ggtitle("Top 10 Words of 'Younger Now'") + labs(y= "Number of Appearances", x = "Words")
In this album, Cyrus appears to ease off from using the vulgar language that she used in her previous album ‘Miley Cyrus & Her Dead Petz.’ Some of the most commonly used words in this album include yeah, thinkin, miss, mood, phone, and wake. All of which are relatively neutral
miley_word_album7 %>%
wordcloud2(color='random-light')
miley_word_album7 %>%
head(10) ->album1top10
album1top10 %>%
ggplot(aes(reorder(word, -n), n, fill=word)) + geom_col() + scale_fill_tableau() + theme_solarized() + ggtitle("Top 10 Words of 'Plastic Hearts'") + labs(y= "Number of Appearances", x = "Words")
In her most recent album, Cyrus begins her ‘rock era.’ Straying from her former pop style, she makes it clear that her music has a new sound in this album. Some of the popular words in this album that coincide with the rock style include night, loved, fire, and zombie.
Source: https://pitchfork.com/reviews/albums/miley-cyrus-plastic-hearts/
In order to understand which albums are more positive, it is necessary to run Afinn sentiment analyses. The Afinn scale goes from -5 (most negative rating) to 5 (most positive rating). Below, the afinn produces which words used in her respective albums were most common and their positive/negative sentiment score.
Positive sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Meet Miley Cyrus") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 win 3 4
## 2 fun 2 4
## 3 fantastic 1 4
## 4 loved 1 3
## 5 perfect 1 3
## 6 smile 6 2
## 7 chance 5 2
## 8 care 2 2
## 9 fine 2 2
## 10 strong 2 2
Negative sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Meet Miley Cyrus") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(-value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 worse 4 -3
## 2 fake 3 -3
## 3 loose 1 -3
## 4 lost 1 -3
## 5 warning 1 -3
## 6 worry 1 -3
## 7 miss 16 -2
## 8 fire 8 -2
## 9 crazy 4 -2
## 10 wrong 4 -2
In this album, the postive words that she uses are more evenly spread out, as there are not one or two positive words she uses many times. Interestingly enough, she uses the negative word ‘miss’ 16 times in the album. In the positive score, the most popular word is ‘smile’ and it is only used 6 times. However, no words in the negative category that she uses score above a 3 on the negative sentiment scale. On positive sentiment, there are 3 words that score a 4.
Positive sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Breakout") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 fun 23 4
## 2 awesome 1 4
## 3 love 12 3
## 4 happy 5 3
## 5 beautiful 1 3
## 6 scoop 1 3
## 7 care 5 2
## 8 dear 3 2
## 9 kiss 2 2
## 10 fortunate 1 2
Negative sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Breakout") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(-value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 hate 5 -3
## 2 losing 2 -3
## 3 lost 1 -3
## 4 madness 1 -3
## 5 hurts 4 -2
## 6 crazy 3 -2
## 7 wrong 3 -2
## 8 insecure 2 -2
## 9 pain 2 -2
## 10 swear 2 -2
This album appears to be overwhelmingly positive, as the positive word fun is used 23 times and love is used 12 times. Two words in positive sentiment score a 4. In negative sentiment, there is not one word used more than 5 times or one that scores higher than a 3.
Positive sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Can't Be Tamed") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 masterpiece 3 4
## 2 wins 3 4
## 3 love 50 3
## 4 amused 1 3
## 5 sexy 1 3
## 6 hope 2 2
## 7 worth 2 2
## 8 amaze 1 2
## 9 favorite 1 2
## 10 fine 1 2
Negative sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Can't Be Tamed") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(-value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 hell 2 -4
## 2 bad 3 -3
## 3 lost 3 -3
## 4 fake 2 -3
## 5 mad 2 -3
## 6 abuse 1 -3
## 7 dead 1 -3
## 8 hate 1 -3
## 9 kill 1 -3
## 10 lonely 14 -2
In this album, a word used in her lyrics scores a negative 4 for the first time in her career. The word hell is used twice. She also uses the word lonely 14 times in this album. In terms of positive sentiment, Cyrus uses the word love 50 times.
Positive sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Bangerz") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 win 2 4
## 2 awesome 1 4
## 3 fun 1 4
## 4 love 108 3
## 5 woo 12 3
## 6 adore 8 3
## 7 sexy 4 3
## 8 super 2 3
## 9 happy 1 3
## 10 loved 1 3
Negative sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Bangerz") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(-value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 bitch 7 -5
## 2 motherfucker 1 -5
## 3 shit 7 -4
## 4 hell 6 -4
## 5 fuck 5 -4
## 6 damn 4 -4
## 7 fucking 2 -4
## 8 piss 2 -4
## 9 lost 6 -3
## 10 die 5 -3
In this album Cyrus uses the positive word love 108 times, but also uses explicit, negative words such as bitch, shit, fuck, and die several times. Bitch, which has a negative score of 5 is used 7 times. Motherfucker, with a score of negative 5 as well, is used once.
Positive sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Miley Cyrus & Her Dead Petz") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 win 8 4
## 2 fun 2 4
## 3 love 32 3
## 4 loved 4 3
## 5 beautiful 3 3
## 6 happy 3 3
## 7 glad 2 3
## 8 happiness 2 3
## 9 lucky 1 3
## 10 super 1 3
Negative sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Miley Cyrus & Her Dead Petz") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(-value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 bitch 8 -5
## 2 fuck 30 -4
## 3 fucked 21 -4
## 4 fucking 15 -4
## 5 shit 15 -4
## 6 ass 1 -4
## 7 dick 1 -4
## 8 dickhead 1 -4
## 9 bad 6 -3
## 10 evil 6 -3
Cyrus appears to become more comfortable with explicit words in her second album that is labeled ‘explicit.’ In this album, she uses the word love 32 times, but says bitch 8 times, fuck 30 times, fucked 21 times, fucking 15 times, and shit 15 times.
Positive sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Plastic Hearts") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 loved 21 3
## 2 love 10 3
## 3 faithful 2 3
## 4 happy 2 3
## 5 luck 2 3
## 6 adorable 1 3
## 7 amusement 1 3
## 8 pleasure 1 3
## 9 hope 7 2
## 10 true 7 2
Negative sentiment score ranking
miley_song_lyrics %>%
filter(title %in% "Plastic Hearts") %>%
unnest_tokens(word, lyric) %>%
anti_join(stop_words) %>%
count(word, sort = TRUE) %>%
inner_join(get_sentiments("afinn")) %>%
arrange(desc(-value)) -> miley_word_album_afinn_pos
miley_word_album_afinn_pos %>%
head(10)
## # A tibble: 10 x 3
## word n value
## <chr> <int> <dbl>
## 1 fuck 8 -4
## 2 fucking 2 -4
## 3 torture 2 -4
## 4 ass 1 -4
## 5 bad 9 -3
## 6 die 8 -3
## 7 lost 4 -3
## 8 hate 3 -3
## 9 crime 2 -3
## 10 desperate 2 -3
In her most recent album, which is labeled as being more ‘rock,’ she continues to use the word love and loved a large amount, but also continues with the explicit language. Less often than her past two albums, but Cyrus uses fuck 8 times, fucking 2 times, and die 8 times.
These sources were helpful in my process of coding with the Genius API: http://josiahparry.com/post/2019-05-08-genius-learnr-tutorial/ https://rpubs.com/jgoodman9/vampireweekendlyrics https://rpubs.com/ebunceelon/patda
In order to run certain functions, I first had to run the necessary packages. Along with running the necessary packages, I had to connect with my Spotify app in the Spotify developer dashboard. After connecting with the github spotifyr package, I then inserted my client ID and client secret in order to connect with the Spotify artist information. I then confirmed this connection by running the access token.
library(devtools)
devtools::install_github('charlie86/spotifyr')
library(spotifyr)
Sys.setenv(SPOTIFY_CLIENT_ID = '03bdeb9feb5d48389da02e4361262e46')
Sys.setenv(SPOTIFY_CLIENT_SECRET = 'eebe64774f18440a95f4a825b59458b4')
access_token <- get_spotify_access_token()
After setting up the connection to Spotify, I created my variable called miley. I then was able to view the entire data set and the information Spotify provides about Cyrus’ albums. This data set includes information such as valence, energy, and danceability.
miley <-get_artist_audio_features('miley cyrus')
view(miley)
Before creating density plots on Cyrus’ albums, I needed to ensure that the package called ggridges was setup.
install.packages("ggridges", repos = 'http://cran.us.r-project.org')
##
## The downloaded binary packages are in
## /var/folders/8c/463bgx397r53mf61c5plkvp00000gn/T//Rtmpdaq9eC/downloaded_packages
library(ggridges)
I then wanted to compare the danceability, energy, and valence of each album. I chose these 3 features from all the possible features specifically because I thought they were good indicators of a song’s identity.
Danceability: Describes how suitable a track is for dancing based on a combination of musical elements including tempo, rhythm stability, beat strength, and overall regularity.
Energy: Represents a perceptual measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy. For example, death metal has high energy, while a Bach prelude scores low on the scale.
Valence: Describes the musical positiveness conveyed by a track. Tracks with high valence sound more positive (e.g. happy, cheerful, euphoric), while tracks with low valence sound more negative (e.g. sad, depressed, angry). Source: https://towardsdatascience.com/what-makes-a-song-likeable-dbfdb7abe404
Danceablity for all albums
miley %>%
ggplot(aes(x=danceability, y=album_name)) +
geom_density_ridges()
Energy for all albums
miley %>%
group_by(album_name) %>%
ggplot(aes(energy, album_name )) +
geom_density_ridges()
Energy for all albums
ggplot(miley, aes(valence, album_name)) +
geom_density_ridges()
These density plots are valuable to see the comparison of all the albums. However, I wanted to illustrate the scores of danceablity, energy, and valence for each individual album and compare them chronologically.
Danceablity
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Hannah Montana 2 · Meet Miley Cyrus") %>%
ggplot(aes(x = danceability, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Energy
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Hannah Montana 2 · Meet Miley Cyrus") %>%
ggplot(aes(x = energy, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Valence
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Hannah Montana 2 · Meet Miley Cyrus") %>%
ggplot(aes(x = valence, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
If you total up the danceability scores for all the songs in the album, the average score is 0.561
If you total up the energy scores for all the songs in the album, the average score is 0.856
If you total up the valence scores for all the songs in the album, the average score is 0.595
Danceablity
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Breakout") %>%
ggplot(aes(x = danceability, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Energy
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Breakout") %>%
ggplot(aes(x = energy, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Valence
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Breakout") %>%
ggplot(aes(x = valence, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
If you total up the danceability scores for all the songs in the album, the average score is 0.508
If you total up the energy scores for all the songs in the album, the average score is 0.832
If you total up the valence scores for all the songs in the album, the average score is 0.498
Danceablity
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Can't Be Tamed") %>%
ggplot(aes(x = danceability, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Energy
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Can't Be Tamed") %>%
ggplot(aes(x = energy, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Valence
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Can't Be Tamed") %>%
ggplot(aes(x = valence, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
If you total up the danceability scores for all the songs in the album, the average score is 0.532
If you total up the energy scores for all the songs in the album, the average score is 0.809
If you total up the valence scores for all the songs in the album, the average score is 0.426
Danceablity
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Miley Cyrus & Her Dead Petz") %>%
ggplot(aes(x = danceability, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Energy
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Miley Cyrus & Her Dead Petz") %>%
ggplot(aes(x = energy, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Valence
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Miley Cyrus & Her Dead Petz") %>%
ggplot(aes(x = valence, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
If you total up the danceability scores for all the songs in the album, the average score is 0.553
If you total up the energy scores for all the songs in the album, the average score is 0.510
If you total up the valence scores for all the songs in the album, the average score is 0.346
Danceablity
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Younger Now") %>%
ggplot(aes(x = danceability, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Energy
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Younger Now") %>%
ggplot(aes(x = energy, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Valence
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Younger Now") %>%
ggplot(aes(x = valence, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
If you total up the danceability scores for all the songs in the album, the average score is 0.572
If you total up the energy scores for all the songs in the album, the average score is 0.628
If you total up the valence scores for all the songs in the album, the average score is 0.474
Danceablity
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Plastic Hearts") %>%
ggplot(aes(x = danceability, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Energy
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Plastic Hearts") %>%
ggplot(aes(x = energy, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
Valence
miley %>%
group_by(album_name) %>%
filter(album_name %in% "Plastic Hearts") %>%
ggplot(aes(x = valence, y = album_name, fill = ..x..)) +
geom_density_ridges_gradient()
If you total up the danceability scores for all the songs in the album, the average score is 0.612
If you total up the energy scores for all the songs in the album, the average score is 0.713
If you total up the valence scores for all the songs in the album, the average score is 0.399
Cyrus’ music is innocent, uses positive words, and is clean during the time when she starred on the show Hannah Montana. Her music appears to change once Hannah Monta ends in 2011 and she goes on to produce the album Bangerz in 2013. In 2013, Cyrus’ lyrics change drastically. In the Bangerz album, she makes use of heavily explicit words. As a 21 year old rebelling after her Disney acting phase, there appears to be a correlation between this stage in her life and her lyrics. After Bangerz, Cyrus appears to become more comfortable using explicit language and uses it more often. There appears to be a correlation between her age and the negative sentiment score of her albums. Early in her career, Cyrus’ lyrics did not use negative sentiment words that reached 4 or above. In her most recent album, Cyrus used negative sentiment words that scored 5, and positive sentiment words that did not reach over 3.
Analyzing the danceability, energy, and valence of Cyrus’ albums, there appears to be a correlation between her age and each album’s average score for these features.
Meet Miley Cyrus: Danceablity average=0.561 Energy average=0.856 Valence average=0.595
Breakout: Danceablity average:0.508 Energy average:0.832 Valence average:0.498
Can’t Be Tamed: Danceablity average:0.532 Energy average:0.809 Valence average:0.426
Miley Cyrus & Her Dead Petz: Danceablity average:0.553 Energy average:0.510 Valence average:0.346
Younger Now: Danceablity average:0.572 Energy average:0.628 Valence average:0.474
Plastic Hearts: Danceablity average:0.612 Energy average:0.713 Valence average:0.399
With these average scores from each of her albums, it is evident that valence, or the positiveness of her music, slowly declined in her first four albums, rose back up in Younger Now, and then decreased again in her final album. The energy of her music declined after her first album, rose back up in Younger Now, and then rose again in her latest album. The danceability of her music seems to remain at a similar leve all throughout her albums, but does increase by a significant amount in her most recent album. There appears to be a correlation with the scores in her newest album and the new direction she is taking her music. Cyrus is beginning her ‘rock’ phases with her most recent album, and this is evident in the increase in danceability and recent uptick in energy.
My hypothesis, that Cyrus’ music has become more explicit and her lyrics have become more negative in sentiment and that positiveness and intensity of her music has changed over time, appears to be proven in some aspects. Her lyrics definitely became more explicit as she aged out of her Hannah Montana days. There is not a perfect linear correlation between the intensity and positiveness of her music over time, but it is evident that positiveness has declined since her first album, except for the outlier of Younger Now.