Group Abstract Group Abstract

Message Boards Message Boards

Bob Dylan's Nobel Prize & Infinite Universe

Posted 10 years ago
POSTED BY: Vitaliy Kaurov
4 Replies

So I decided to learn to write code, with the encouragement of my son, Jesse. I started on Thursday 20 Oct. on p.1 of the copy of the Elementary Introduction to the Wolfram Language Jesse had given me, and on Friday 21 Oct. I entered the Wolfram Technology Conference One-Liner Competition, and earned an Honorable Mention. I made a Word Cloud of Bob Dylan Song Titles In The Shape Of An Acoustic Guitar, as my contribution to the nascent discipline of Bob Dylan Data Analytics. I am honored to share it here.

WordCloud[Import ["http://www.angelfire.com/on/dylan/songlist.html"], 
Binarize[Import["http://bit.ly/2eq3A4r"]]]

Word Cloud Dylan Song Titles

POSTED BY: Amy Friedman

One more from me: Pick from a list of other musical acts associated with songs recorded by Dylan; highlight the artist and songs on a graph of connections between artists and songs, and view a list of song titles.

ActsByWork = 
  EntityClass["MusicWork", 
    "AssociatedMusicActs" -> 
     Entity["MusicAct", "BobDylan::p5236"]][{"Entity", 
    "AssociatedMusicActs"}];

workRules = 
  DeleteDuplicates[
   Flatten[Cases[
     ActsByWork, {work_, 
       acts_} :> (# \[DirectedEdge] work & /@ acts)]]];

Manipulate[
 With[{works = EdgeList[workRules, act \[DirectedEdge] _][[All, 2]]}, 
  Labeled[Graph[
    EdgeList[workRules, 
     Except[Entity["MusicAct", "BobDylan::p5236"]] \[DirectedEdge] _],
     VertexLabels -> Placed["Name", Tooltip], 
    VertexStyle -> Flatten[{act -> Red, (# -> Green) & /@ works}]], 
   Panel[Multicolumn[CommonName[works], 2]], Right]], {act, 
  Keys[Reverse[
    Sort[KeyDrop[Counts[EdgeList[workRules][[All, 1]]], 
      Entity["MusicAct", "BobDylan::p5236"]]]]]}, 
 ControlType -> PopupMenu]

enter image description here

P.S. Note that some of the connections are a little goofy, since the most-connected songs here are not Dylan originals, but other popular songs that Dylan also recorded at some point:

In[229]:= KeyMap[CommonName, 
 TakeLargest[Counts[EdgeList[workRules][[All, 2]]], 5]]

Out[229]= <|"Have Yourself a Merry Little Christmas" -> 89, 
 "The Christmas Song" -> 76, "Carol of the Drum" -> 54, 
 "I'll Be Home for Christmas" -> 27, "Blue Moon" -> 26|>
POSTED BY: Alan Joyce

Another take on timeline plot of albums, this time with icons of album covers. I'd like to get the tooltip to show the album names rather than the DateObject:

(*Ctrl+="bob dylan albums"*)
albumList=EntityClass["MusicAlbum",{EntityProperty["MusicAlbum","MusicActs"]->
    Entity["MusicAct","BobDylan::p5236"]}];

imglist=EntityValue[albumList,{EntityProperty["MusicAlbum","Image"]
    ,EntityProperty["MusicAlbum","CanonicalReleaseDate"]}];

TimelinePlot[AssociationThread@@Thread@imglist,AspectRatio->1/2,
    ImageSize->1200,PlotLayout->"Packed"]

enter image description here

POSTED BY: Jason Biggs

The simplest thing is to check related info in Wolfram|Alpha. For example album comparison:

blonde on blonde vs blood on the tracks

will give, among other things, some beautiful album lyrics word clouds:

enter image description here

We can also get a timeline plot of albums:

Quiet@TimelinePlot[Rule @@@ DeleteCases[
    EntityValue[Entity["MusicAct", "BobDylan::p5236"]["Albums"], 
        {"CanonicalReleaseDate", "Name"}], {_Missing, _}], PlotLayout -> "Packed"]

enter image description here

Median lengths of song recordings by year:

recordings = EntityClass["MusicWorkRecording", 
    "RecordingMusicAct" -> Entity["MusicAct", "BobDylan::p5236"]][{"RecordingDate", "Length"}];

grouped = GroupBy[DeleteCases[
     recordings, {_, _Missing} | {_Missing, _}], #[[1]]["Year"] &][[All, All, 2]];

ListPlot[Median /@ grouped, PlotTheme -> "Marketing"]

enter image description here

A graph — this one tacks back up from specific music recordings (on specific album releases) to the more abstract songs… and then shows what other albums have featured some recording of those songs. So you get a view of other artists covering Dylan, what Dylan songs have showed up on the most compilation albums (that blob hanging off the right end of the topmost graph is a thicket of Christmas compilation albums)

WorksByAlbum=EntityClass["MusicWork","AssociatedMusicActs"->
    Entity["MusicAct","BobDylan::p5236"]][{"Entity","AssociatedMusicAlbums"}];

worksRules=Cases[WorksByAlbum,x_:>(#\[DirectedEdge]x[[1]]&/@x[[2]])];

Graph[Flatten[worksRules],VertexLabels->Placed["Name",Tooltip],VertexStyle->Red,EdgeStyle->White,Background->Black]

enter image description here

POSTED BY: Alan Joyce
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard