Beyond the Bars: A Lyrical Analysis of Country Music Sub-Genres

Author

Holly Stiltner

Introduction

“I’ll listen to anything…except country” is a phrase said time and time again.  When people think about country music, their minds typically go to the mainstream country radio or Nashville sound.  This is stereotypically about trucks, beer, and girls.  This is what is referred to as “bro country.” Bro country also includes more surface level writing with a catchy tune, portraying the care-free, “good ol’ boy” lifestyle.  Country music did not initially start out this way.  Traditionally, country music was used to encapsulate simplicity, hardship, and resilience through the use of storytelling.  What is often missed is that there are many sub-genres under the umbrella of country music.  

One sub-genre that is very different from bro country is called “Americana.”  Americana is closer to the traditional country music style but incorporates influences from folk, rock, and blues music.  This gives Americana a feeling of authenticity and nostalgia because of the connection to country music’s original roots.  

In this analysis, I decided to look at 10 different country artists, five who are bro country and five who are Americana, and see how their lyrics compare and contrast.  I chose artists who released music within similar years and who have around six to eight albums.  For bro country, I chose Jason Aldean, Luke Bryan, Florida Georgia Line, Blake Shelton, and Thomas Rhett.  For Americana, I chose Tyler Childers, Jason Isbell, Ryan Bingham, Colter Wall, and Cody Jinks.  

I hypothesize that bro country will align with what country music is stereotyped to be and that Americana will have results that show more emotion and depth within the writing.  The purpose of this lyrical analysis is to find the differences in writing between the two sub-genres to show that not all country music is the same. 

To retrieve the lyrics, I worked with my instructor to convert the Genius API Python files into CSV files.

Data Acquisition

First, I loaded my packages:

library(tidyverse)
library(tidytext)
library(jsonlite)
library(ggthemes)
library(wordcloud2)

Next, I created variables and merged the artists into their perspective groups (bro country or Americana).

bryan <- read_csv("bryan.csv", col_types = cols(release_date = col_character()))

aldean <- read_csv('aldean.csv', col_types = cols(release_date = col_character()))
FGL <- read.csv('FGL.csv')

shelton <- read.csv('shelton.csv') 

rhett <- read.csv('rhett.csv')

bryan %>% 
 full_join(FGL) %>% 
  full_join(shelton) %>% 
  full_join(rhett) %>% 
  full_join(aldean) -> merged_bros

  merged_bros %>% 
    unnest_tokens(word, lyrics) |> 
    mutate( style = "Bro Country") -> merged_bros

  merged_bros %>% 
  count(artist, sort = TRUE)
# A tibble: 5 × 2
  artist                   n
  <chr>                <int>
1 Blake Shelton        53833
2 Jason Aldean         49735
3 Luke Bryan           49274
4 Florida Georgia Line 40664
5 Thomas Rhett         37301
  aldean |> 
    unnest_tokens(word, lyrics) |> 
    mutate(Artist = "Jason Aldean") |> 
    mutate(style = "Bro Country")-> aldean_words1
  
  bryan |> 
    unnest_tokens(word, lyrics) |> 
    mutate(Artist = "Luke Bryan") |> 
    mutate(style = "Bro Country")-> bryan_words1 
  
  FGL |> 
    unnest_tokens(word, lyrics) |> 
    mutate(Artist = "Florida Georgia Line") |> 
    mutate(style = "Bro Country")-> FGL_words1
  
  shelton |> 
    unnest_tokens(word, lyrics) |> 
    mutate(Artist = "Blake Shelton") |> 
    mutate(style = "Bro Country")-> shelton_words1
  
  rhett |> 
    unnest_tokens(word, lyrics) |> 
    mutate(Artist = "Thomas Rhett") |> 
    mutate(style = "Bro Country")-> rhett_words1
  
childers <- read.csv('childers.csv')
bingham <- read.csv('bingham.csv')
isbell <- read.csv('isbell.csv')
jinks <- read.csv('jinks.csv')
wall <- read.csv('wall.csv')

childers %>%
  full_join(bingham) %>%
  full_join(isbell) %>%
  full_join(jinks) %>%
  full_join(wall) -> merged_americana
  
merged_americana %>% 
  unnest_tokens(word, lyrics) |> 
  mutate( style = "Americana") -> merged_americana

childers |> 
  unnest_tokens(word, lyrics) |> 
  mutate(Artist = "Tyler Childers") |> 
  mutate(style = "Americana")-> childers_words1

bingham |> 
  unnest_tokens(word, lyrics) |> 
  mutate(Artist = "Ryan Bingham") |> 
  mutate(style = "Americana")-> bingham_words1

isbell |> 
  unnest_tokens(word, lyrics) |> 
  mutate(Artist = "Jason Isbell") |> 
  mutate(style = "Americana")-> isbell_words1  

jinks |> 
  unnest_tokens(word, lyrics) |> 
  mutate(Artist = "Cody Jinks") |> 
  mutate(style = "Americana")-> jinks_words1
  
wall |> 
  unnest_tokens(word, lyrics) |> 
  mutate(Artist = "Colter Wall") |> 
  mutate(style = "Americana")-> wall_words1

Word Clouds

The next visualization that I made is a word cloud for each sub-genre.

merged_americana %>% 
  anti_join(stop_words) %>% 
  filter(!word %in% c('chorus', 'verse', '10', 'tickets', 'outro', '4', '5', 'yeah', '1', '2', '3', 'lyrics', '173you', 'liveget', 'tickets', 'low', 'ooh', 'ryan', 'bingham', 'cody', 'jinks', 'colter', 'wall', 'tyler', 'childers', 'jason', 'isbell', '90you', '38you', '51you')) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  head(400) %>% 
  wordcloud2(shape = 'circle')
merged_bros %>% 
  anti_join(stop_words) %>% 
  filter(!word %in% c('chorus', 'verse', '10', 'tickets', 'outro', '4', '5', 'yeah', '1', '2', '3', 'lyrics', '173you', 'liveget', 'tickets', 'low', 'ooh', 'luke', 'bryan', 'jason', 'aldean', 'florida', 'georgia', 'line', 'blake', 'shelton', 'thomas', 'rhett')) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  head(400) %>% 
  wordcloud2(shape = 'circle')

These word clouds do a great job of visualizing the different topics written about in both sub-genres.  Words that stand out to me in the bro country word cloud include, “baby”, “girl”, “party”, “truck”, and “beer.”  This continues to push that narrative of bro country writing about a carefree lifestyle filled with drinking and women.  Words that stand out to me in the Americana word cloud include, “time”, “home”, “hard”, “road”, and “heart.”  Looking at these words together, it can be seen that this writing has an emphasis in storytelling.  My mind goes to hard times, going down hard roads, heartbreaks, reflecting on home etc…  

Most Negative Words

Once seeing the word clouds, I broke the lyrics down into the top 20 most negative words used in each sub-genre.

merged_bros %>% 
  # unnest_tokens(word, lyrics) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  arrange(desc(-value)) %>% 
  head(20) %>% 
 knitr::kable()
word n value
bitch 4 -5
prick 2 -5
bitches 1 -5
hell 223 -4
damn 119 -4
ass 54 -4
shit 11 -4
damned 6 -4
pissed 2 -4
bad 129 -3
lost 123 -3
die 67 -3
worry 60 -3
worried 38 -3
hate 37 -3
dead 31 -3
loose 31 -3
kill 30 -3
killing 24 -3
losing 17 -3
merged_americana %>% 
  # unnest_tokens(word, lyrics) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  arrange(desc(-value)) %>% 
  head(20) %>% 
 knitr::kable()
word n value
bitch 7 -5
motherfucker 6 -5
bastard 2 -5
bastards 2 -5
hell 114 -4
damn 72 -4
ass 23 -4
shit 8 -4
fucked 6 -4
piss 5 -4
pissed 5 -4
damned 3 -4
fucking 3 -4
bullshit 2 -4
dick 1 -4
tortured 1 -4
tortures 1 -4
die 94 -3
lost 83 -3
bad 50 -3

I found these negative words interesting because I saw immediately that Americana used more words that packed a punch.  These words resulted in a higher level of “bad”.  Examples that stood out to me are “motherfucker”, “bastard”, and “tortured.”  Bro country uses more basic bad words like, “hell”, “damn”, “ass”, and “shit.”  They did use “prick” which Americana did not.  

Most Positive Words

I then did this with the top 20 most positive words in each sub-genre.

merged_bros %>% 
  # unnest_tokens(word, lyrics) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  arrange(desc(+value)) %>% 
  head(20) %>% 
 knitr::kable()
word n value
fun 36 4
funny 32 4
win 23 4
winning 8 4
winner 7 4
amazing 6 4
heavenly 4 4
masterpiece 3 4
miracle 3 4
rejoices 1 4
love 997 3
happy 59 3
beautiful 56 3
lucky 54 3
perfect 54 3
loved 47 3
luck 22 3
paradise 19 3
glad 16 3
merry 14 3
merged_americana %>% 
  # unnest_tokens(word, lyrics) %>% 
  anti_join(stop_words) %>% 
  count(word, sort = TRUE) %>% 
  inner_join(get_sentiments("afinn")) %>% 
  arrange(desc(+value)) %>% 
  head(20) %>% 
 knitr::kable()
word n value
thrilled 2 5
win 18 4
wonderful 11 4
fun 10 4
funny 8 4
amazing 4 4
miracle 2 4
triumph 2 4
love 275 3
joy 23 3
beautiful 21 3
loved 17 3
glad 12 3
happy 12 3
lovely 11 3
lucky 11 3
nice 10 3
luck 6 3
pleasure 6 3
super 6 3

The positive words for each sub-genre are pretty similar.  The one point that is important to note is that in Americana, there was one word given a sentiment score of 5 (thrilled), whereas for bro country the highest score was 4.

Flesch Kincaid Grade Level

Once seeing a trend of the types of words used, I wanted to find out what the Flesch Kincaid grade level for each artist is.

merged_bros %>% 
  group_by(artist_names) %>%
  select(word) %>% 
  summarize(
    average_word_count = mean(str_count(word)),
    average_syllables_per_word = mean(str_count(word, "[aeiouy]")) / mean(str_count(word, "\\S+"))
  ) %>% 
  mutate(
    flesch_kincaid_grade_level = (0.39 * average_word_count) + (11.8 * average_syllables_per_word) - 15.59
  ) %>% 
  knitr::kable()
artist_names average_word_count average_syllables_per_word flesch_kincaid_grade_level
Blake Shelton 3.963615 1.613984 5.000825
Blake Shelton (Ft. Ashley Monroe) 3.797203 1.562937 4.333566
Blake Shelton (Ft. Brad Paisley, Hank Williams Jr., Jason Aldean, Josh Turner, Keith Urban, Luke Bryan, Miranda Lambert, Reba McEntire & Ronnie Dunn) 4.088496 1.594690 4.821858
Blake Shelton (Ft. Brooks & Dunn) 3.736979 1.502604 3.598151
Blake Shelton (Ft. Dia Frampton) 3.755319 1.367021 2.005425
Blake Shelton (Ft. Dorothy Shackleford) 4.103139 1.587444 4.742063
Blake Shelton (Ft. George Jones & John Anderson) 4.098113 1.490566 3.596943
Blake Shelton (Ft. Gwen Sebastian) 3.968023 1.720930 6.264506
Blake Shelton (Ft. Gwen Stefani) 3.829681 1.716136 6.153974
Blake Shelton (Ft. HARDY) 4.002625 1.553806 4.305932
Blake Shelton (Ft. Kelly Clarkson) 4.054726 1.547264 4.249055
Blake Shelton (Ft. Michael Bublé) 3.772894 1.637363 5.202308
Blake Shelton (Ft. Miranda Lambert) 4.078297 1.535714 4.121964
Blake Shelton (Ft. Pistol Annies) 4.158445 1.612855 5.063483
Blake Shelton (Ft. RaeLynn) 3.922388 1.408955 2.565403
Blake Shelton (Ft. Reba McEntire) 3.948718 1.618590 5.049359
Blake Shelton (Ft. Sheryl Crow) 4.787037 1.787037 7.363982
Blake Shelton (Ft. The Oak Ridge Boys) 4.029412 1.635294 5.277941
Blake Shelton (Ft. The Swon Brothers) 4.263333 1.816667 7.509367
Blake Shelton (Ft. Trace Adkins) 4.074369 1.605578 4.944821
Blake Shelton (Ft. Trypta-Phunk) 4.068807 1.577982 4.617018
Blake Shelton (Ft. Xenia (POR)) 4.785185 1.777778 7.254000
Florida Georgia Line 3.891063 1.625065 5.103282
Florida Georgia Line (Ft. Backstreet Boys) 4.131868 1.896389 8.398823
Florida Georgia Line (Ft. Bebe Rexha) 3.542234 1.411444 2.446512
Florida Georgia Line (Ft. Brother Jervel) 3.966942 1.604683 4.892369
Florida Georgia Line (Ft. HARDY) 4.077135 1.619835 5.114132
Florida Georgia Line (Ft. Jaren Johnston) 3.861979 1.544271 4.138568
Florida Georgia Line (Ft. Jason Aldean) 3.881306 1.611276 4.936766
Florida Georgia Line (Ft. Jason Derulo) 4.177049 1.944262 8.981344
Florida Georgia Line (Ft. Lele Pons) 3.762803 1.649596 5.342722
Florida Georgia Line (Ft. Luke Bryan) 3.642369 1.443052 2.858542
Florida Georgia Line (Ft. Sarah Buxton) 3.882222 1.817778 7.373844
Florida Georgia Line (Ft. Tim McGraw) 3.744054 1.531144 3.937678
Florida Georgia Line (Ft. Ziggy Marley) 3.956164 1.747945 6.578658
Jason Aldean 3.949391 1.609614 4.943708
Jason Aldean (Ft. Eric Church & Luke Bryan) 4.004950 1.544555 4.197673
Jason Aldean (Ft. Finesse (Rapper)) 4.350211 1.672996 5.847932
Jason Aldean (Ft. Kelly Clarkson) 4.182609 1.839130 7.742957
Jason Aldean (Ft. Kelsea Ballerini) 4.200000 1.690625 5.997375
Jason Aldean (Ft. Miranda Lambert) 4.194444 1.626984 5.244246
Luke Bryan 3.906883 1.591306 4.711099
Luke Bryan (Ft. Emily Weisband) 4.055409 1.569921 4.516675
Luke Bryan (Ft. Jimmy Fallon) 3.908434 1.650602 5.411398
Luke Bryan (Ft. Karen Fairchild) 3.800948 1.521327 3.844028
Thomas Rhett 3.889159 1.614096 4.973102
Thomas Rhett (Ft. Chris Tomlin, Hillary Scott, Keith Urban & Reba McEntire) 3.393333 1.440000 2.725400
Thomas Rhett (Ft. Danielle Bradbery) 3.707895 1.507895 3.649237
Thomas Rhett (Ft. HARDY) 3.726166 1.535497 3.982069
Thomas Rhett (Ft. Jon Pardi) 4.296610 1.779661 7.085678
Thomas Rhett (Ft. Jordin Sparks) 3.701847 1.506596 3.631557
Thomas Rhett (Ft. Kelsea Ballerini) 4.122951 1.666667 5.684617
Thomas Rhett (Ft. Little Big Town) 3.760753 1.580645 4.528307
Thomas Rhett (Ft. LunchMoney Lewis) 4.028384 1.552402 4.299410
Thomas Rhett (Ft. Maren Morris) 4.086053 1.747775 6.627300
Thomas Rhett (Ft. Morgan Wallen) 4.220065 1.608414 5.035113
Thomas Rhett (Ft. Rhett Akins) 3.981520 1.593429 4.765257
Thomas Rhett (Ft. Riley Green) 3.836868 1.492659 3.519755
Thomas Rhett (Ft. Russell Dickerson & Tyler Hubbard) 3.904070 1.590116 4.695959
merged_americana %>% 
  group_by(artist_names) %>%
  select(word) %>% 
  summarize(
    average_word_count = mean(str_count(word)),
    average_syllables_per_word = mean(str_count(word, "[aeiouy]")) / mean(str_count(word, "\\S+"))
  ) %>% 
  mutate(
    flesch_kincaid_grade_level = (0.39 * average_word_count) + (11.8 * average_syllables_per_word) - 15.59
  ) %>% 
 knitr::kable()
artist_names average_word_count average_syllables_per_word flesch_kincaid_grade_level
Cody Jinks 3.929326 1.590333 4.708364
Cody Jinks (Ft. Pearl Aday) 3.760369 1.654378 5.398203
Cody Jinks (Ft. Ron Hellner) 4.284024 1.704142 6.189645
Cody Jinks (Ft. Sam Anderson) 3.974359 1.598291 4.819829
Cody Jinks (Ft. Tennessee Jet) 4.090909 1.618182 5.100000
Cody Jinks (Ft. The Tone Deaf Hippies) 3.897704 1.553680 4.263528
Colter Wall 4.105361 1.614444 5.061529
Colter Wall (Ft. Belle Plaine) 4.149123 1.671053 5.746579
Colter Wall (Ft. Blake Berglund & Corb Lund) 3.923256 1.537209 4.079140
Colter Wall (Ft. The Dead South) 3.896057 1.562724 4.369606
Colter Wall (Ft. The Scary Prairie Boys) 3.937500 1.501953 3.668672
Colter Wall (Ft. Tyler Childers) 4.331081 1.837838 7.785608
Jason Isbell 4.033133 1.647648 5.425167
Ryan Bingham 4.006058 1.640693 5.332545
Ryan Bingham (Ft. Terry Allen) 4.375000 1.802885 7.390288
Ryan Bingham (Ft. Will Dailey) 3.834061 1.624454 5.073843
Tyler Childers 3.973688 1.595735 4.789406
Tyler Childers (Ft. Larry Cordle & Ricky Skaggs) 4.230366 1.701571 6.138377
Tyler Childers (Ft. Russell Waddell) 3.789683 1.567460 4.384008
Tyler Childers (Ft. The Food Stamps) 4.127886 1.619893 5.134618
Tyler Childers (Ft. The Highwall) 3.916113 1.566445 4.421337
Tyler Childers (Ft. The Travelin’ McCourys) 3.923077 1.753846 6.635385

The results of this test are closer for each sub-genre than I had anticipated.  I hypothesized that Americana would have a much higher score than bro country.  What I found instead was that they are very similar.  Bro country has a mean of 4.946 and Americana has a mean of 5.064.  Scores of 3-6 is considered “basic” and elementary reading level according to the Flesch Kincaid breakdown.  It is also important to note that most music falls in this category so that it is easy to listen to. 

Lexicons

I next used lexicons to look at 20 stereotypical bro country words and see how often they show up in each sub-genre.

bro_lexicon <- c('truck', 'beer', 'girl', 'girls', 'woman', 'women', 'whiskey', 'dirt', 'road', 'drink', 'drunk', 'town', 'boys', 'family', 'mama', 'home', 'rain', 'god', 'country', 'bar')

merged_bros |>
  filter(word %in% bro_lexicon) |>
  count(word, sort = TRUE) %>% 
 knitr::kable()
word n
girl 1010
country 463
town 442
home 354
road 266
drink 256
beer 227
truck 195
whiskey 180
god 179
dirt 159
boys 149
bar 140
rain 117
drunk 108
girls 103
mama 98
family 26
women 24
woman 21
americana_lexicon <- c('truck', 'beer', 'girl', 'girls', 'woman', 'women', 'whiskey', 'dirt', 'road', 'drink', 'drunk', 'town', 'boys', 'family', 'mama', 'home', 'rain', 'god', 'country', 'bar')

merged_americana |>
  filter(word %in% bro_lexicon) |>
  count(word, sort = TRUE) %>% 
 knitr::kable()
word n
home 227
road 148
town 115
girl 103
god 101
rain 85
country 75
whiskey 58
drink 52
boys 51
woman 48
bar 41
mama 39
drunk 31
truck 18
girls 17
family 16
dirt 15
women 15
beer 9

These charts push the point that not all country music is “beer”, “trucks”, and “girls.” It does, however, make this stereotype of country music loud and clear. Looking at bro country, “girl” is used 1010 times. The next word, “country”, is only used 463 times. “Beer” and “truck” come in at 7th and 8th most used in this list with 227 and 195 mentions. An interesting point in the bro country chart is that although “girl” is first with over twice the mentions as anything else, “women” and “woman” are ranked 19th and 20th. This shows that bro country mainly refers to females as girls.

These same 20 words show up in a completely different order for Americana. “Home”, “road”, and “town” are the top three words. This places an emphasis on that nostalgic feeling when hearing this type of music. “Girl” is ranked 4th, but only is used 103 times compared to bro country’s 1010 times. It is also clear that when talking about drinking, Americana references whiskey rather than beer. “Whiskey” is ranked 8th with 58 times and “beer” is ranked 20th with only 9 times.

Bi-Grams

Lastly, I looked at bi-grams. I chose a few words to look at that have been prominent throughout the analysis. I looked at “road”, “girl”, and “time” for both sub-genres to see the differences in how they are used. I also looked at “beer” for bro country.

bryan %>% 
  full_join(FGL) %>% 
  full_join(shelton) %>% 
  full_join(rhett) %>% 
  full_join(aldean) -> merged_bros_bigrams

merged_bros_bigrams %>% 
  unnest_tokens(bigram, lyrics, token="ngrams", n=2) -> brograms

brogram_separated <- brograms %>%
  separate(bigram, c("word1", "word2"), sep = " ")

brogram_filtered <- brogram_separated %>%
  filter(!word1 %in% stop_words$word) %>%
  filter(!word2 %in% stop_words$word)

brogram_filtered %>%
  filter(word2 == "road") %>%
  count(word1, word2, sort = TRUE) %>% 
 knitr::kable()
word1 word2 n
dirt road 33
gravel road 12
moonlit road 9
county road 6
harrison road 4
lonesome road 4
lane road 3
mill road 3
oak road 3
brick road 2
contributorsdirt road 2
crooked road 2
island road 2
lot road 2
windin road 2
bad road 1
bumpy road 1
church road 1
copperhead road 1
driveway road 1
field road 1
highway road 1
hole road 1
opеn road 1
outta road 1
overgrown road 1
paved road 1
pinetucky road 1
uphill road 1
winding road 1
brogram_filtered %>%
  filter(word2 == "beer") %>%
  count(word1, word2, sort = TRUE) %>% 
 knitr::kable()
word1 word2 n
cold beer 63
drinkin beer 7
drink beer 3
pour beer 3
sip beer 3
ass beer 2
drinking beer 2
bout beer 1
buy beer 1
cheap beer 1
contributorscold beer 1
contributorsdrinkin beer 1
crankin beer 1
draft beer 1
drank beer 1
drunk beer 1
past beer 1
spilling beer 1
weird beer 1
brogram_filtered %>%
  filter(word2 == "girl") %>%
  count(word1, word2, sort = TRUE) %>% 
 knitr::kable()
word1 word2 n
hey girl 27
yeah girl 26
lyrics girl 16
country girl 14
redneck girl 14
wage girl 14
pretty girl 12
sorority girl 12
single girl 11
baby girl 10
night girl 10
body girl 9
nothin girl 8
almighty girl 7
lie girl 7
love girl 7
tonight girl 7
cadillac girl 6
eyes girl 6
goodbye girl 6
kiss girl 6
time girl 6
wrong girl 6
communicatin girl 5
head girl 5
stop girl 5
alright girl 4
crazy girl 4
fire girl 4
found girl 4
ghosts girl 4
home girl 4
lookin girl 4
perfume girl 4
shoes girl 4
stay girl 4
town girl 4
wait girl 4
addicted girl 3
bad girl 3
bar girl 3
bed girl 3
cheek girl 3
closer girl 3
comin girl 3
curve girl 3
dance girl 3
dial girl 3
eyed girl 3
fine girl 3
gonna girl 3
halo girl 3
hips girl 3
lips girl 3
list girl 3
loving girl 3
money girl 3
ooh girl 3
phone girl 3
reasons girl 3
ride girl 3
roll girl 3
shot girl 3
swore girl 3
tangled girl 3
true girl 3
world girl 3
ya girl 3
bay girl 2
belt girl 2
chance girl 2
damn girl 2
day girl 2
grown girl 2
heart girl 2
hiding girl 2
mercury girl 2
mine girl 2
rich girl 2
round girl 2
southern girl 2
air girl 1
beach girl 1
boots girl 1
cab girl 1
champagnе girl 1
chirpin girl 1
club girl 1
cold girl 1
contributorcountry girl 1
contributorredneck girl 1
contributorsa girl 1
contributorscountry girl 1
contributorsgood girl 1
contributorsgoodbye girl 1
contributorsorority girl 1
contributorssingle girl 1
contributorssorority girl 1
contributorsthe girl 1
created girl 1
crowd girl 1
dayum girl 1
deluxe girl 1
drops girl 1
easy girl 1
feet girl 1
fix girl 1
floor girl 1
fool girl 1
forever girl 1
free girl 1
gentleman girl 1
getaway girl 1
girl girl 1
goodbyes girl 1
grind girl 1
guy girl 1
hands girl 1
hat girl 1
hater girl 1
helpless girl 1
hold girl 1
hot girl 1
inspiration girl 1
koozie girl 1
lite girl 1
lyricsredneck girl 1
memory girl 1
miracle girl 1
mm girl 1
monday girl 1
nah girl 1
overthinkin girl 1
pack girl 1
perfect girl 1
prettiest girl 1
roof girl 1
saturday girl 1
shirt girl 1
shower girl 1
shy girl 1
silly girl 1
simple girl 1
sittin girl 1
slide girl 1
slow girl 1
smile girl 1
smoke girl 1
somethin girl 1
started girl 1
steaming girl 1
stereo girl 1
stick girl 1
summer girl 1
tailgate girl 1
talk girl 1
talking girl 1
tennessee girl 1
tongue girl 1
uh girl 1
walls girl 1
water girl 1
week girl 1
whiskey girl 1
woah girl 1
worries girl 1
brogram_filtered %>%
  filter(word2 == "time") %>%
  count(word1, word2, sort = TRUE) %>% 
 knitr::kable()
word1 word2 n
neon time 9
summer time 7
harvest time 6
it’s time 6
damn time 5
killing time 5
picking time 5
closin time 4
stepping time 4
sweet time 4
wasting time 4
christmas time 3
contributorsevery time 3
day time 3
killin time 3
lost time 3
love time 3
town time 3
bell time 2
bout time 2
closing time 2
goodbye time 2
hard time 2
lyrics time 2
quitting time 2
spring time 2
aka time 1
bacardi time 1
bad time 1
bright time 1
contributorsfirst time 1
contributorsgoodbye time 1
contributorsharvest time 1
contributorslong time 1
contributorsmore time 1
contributorsneon time 1
father time 1
girl time 1
guess time 1
hey time 1
letting time 1
months time 1
night time 1
past time 1
pickin time 1
quality time 1
spending time 1
sunset time 1
supper time 1
swell time 1
thirsty time 1
childers %>%
  full_join(bingham) %>%
  full_join(isbell) %>%
  full_join(jinks) %>%
  full_join(wall) -> merged_americana_bigrams

merged_americana_bigrams %>% 
  unnest_tokens(bigram, lyrics, token="ngrams", n=2) -> americanagrams

americanagram_separated <- americanagrams %>%
  separate(bigram, c("word1", "word2"), sep = " ")

americanagram_filtered <- americanagram_separated %>%
  filter(!word1 %in% stop_words$word) %>%
  filter(!word2 %in% stop_words$word)

americanagram_filtered %>%
  filter(word2 == "road") %>%
  count(word1, word2, sort = TRUE) %>% 
 knitr::kable()
word1 word2 n
hard road 4
circle road 3
harlan road 3
lonely road 3
narrow road 3
coverdale road 2
endless road 2
windin road 2
contributorsharlan road 1
contributorsthe road 1
contributorswhitehouse road 1
county road 1
dirt road 1
gravel road 1
hateful road 1
home road 1
house road 1
likethe road 1
lonesome road 1
rocky road 1
uphill road 1
americanagram_filtered %>%
  filter(word2 == "girl") %>%
  count(word1, word2, sort = TRUE) %>% 
 knitr::kable()
word1 word2 n
lover girl 15
catholic girl 12
lovin girl 4
sweet girl 4
pieces girl 3
drunk girl 2
eyed girl 2
charleston girl 1
contributorscharleston girl 1
contributorslover girl 1
darlin girl 1
haired girl 1
harlan girl 1
lyricscharleston girl 1
mamma girl 1
mountain girl 1
prettiest girl 1
renaissance girl 1
single girl 1
solitary girl 1
stone girl 1
texas girl 1
throat girl 1
wrong girl 1
americanagram_filtered %>%
  filter(word2 == "time") %>%
  count(word1, word2, sort = TRUE) %>% 
 knitr::kable()
word1 word2 n
supper time 6
winter time 6
sweet time 3
wasted time 3
borrowing time 2
closing time 2
hard time 2
it’s time 2
memories time 2
past time 2
vacation time 2
yeah time 2
christmas time 1
closin time 1
contributorsno time 1
dingess time 1
due time 1
explodе time 1
idle time 1
killing time 1
lost time 1
lyricsevery time 1
mountain time 1
ol time 1
plenty time 1
remember time 1
wise time 1

These charts continue to show the difference between the sub-genres, even when using the same words. These graphs show what word comes in front of the words I have chosen to look at. Starting with “road”, bro country mainly uses phrases such as, “dirt road”, “gravel road”, “moonlit road”, and “country road.” “Road” is used in a literal sense, whereas in Americana, the use is more metaphorical. These phrases include, “hard road”, “lonely road”, and “endless road.” This makes sense as hardship is a large theme used in Americana music. Bro country’s use of “road” in the literal sense also makes sense because dirt roads are associated with the stereotypical country way of living.

Seeing how each sub-genre uses the word “girl” shows not only how they speak to girls in songs, but also how they speak about them. Bro country mainly addresses women in their songs by using phrases such as, “hey girl” and “yeah girl.” They speak about them as “country girl”, “redneck girl”, “pretty girl”, and “sorority girl.” Americana does not address girls in their songs explicitly like bro country does. They do, however, refer to women as, “lover girl”, “catholic girl”, “sweet girl”, and “darlin’ girl”. Bro country is more aggressive when it comes to speaking to/about women, and Americana speaks about women rather than to women.

“Time” is drastically different between the two sub-genres. In bro country, the most popular phrases are, “neon time”, “summer time”, and “harvest time.” This creates vibrant imagery of neon bar signs, bright summer nights, that would sound like music that one would listen to with their windows down, driving through back-roads. Americana uses “time” for phrases such as, “supper time”, “winter time”, “sweet time”, and “wasted time.” These phrases offer a different imagery of family dinners on cold winter nights. Although these can be “sweet times,” some people associate the winter season with darkness and loneliness which could be interpreted as wasted time.

Lastly, I looked at how “beer” is used in bro country. I included this in the report because it continues to show how bro country falls into the stereotypes. “Cold beer” is ranked 1st, being used 63 times. The second phrase is “drinkin’ beer” with 7 times. I would not have expected anything else.

Conclusion

In conclusion, I would argue that this lyrical analysis not only showed the differences between bro country and Americana, but also pushed the idea of bro country creating the country music stereotype that most people think of. Although a lot of the same words are used in both sub-genres, the bi-gram section of this analysis made it clear that how each sub-genre uses these words is different to create their own separate narratives. After this analysis, I would also argue that Americana does have more depth and emotion used in its lyrical writing than bro country. Americana uses more metaphors, and writes about difficult times. This places emphasis on Americana being similar to traditional country music. Bro country does have a more upbeat, simple man, party vibe, falling into the “beer”, “trucks”, and “girls” stereotype.

Metaphorically speaking, if bro country was a person, they would drink beer, and if Americana was a person, they would drink whiskey. Beer is often drank at parties, sporting events, and in other casual settings. It is cheap and easy to find. Beer goes down quick, with a low alcohol percentage. Whiskey is more complex. It has layers of different flavors, and should be sipped slowly to appreciate it. Whiskey is more expensive, with a much higher alcohol percentage. Whiskey is a dark liquor and can be harsh if you are not expecting it.