Message Boards Message Boards

Bob Dylan's Nobel Prize & Infinite Universe

GROUPS:

As many of you already know, the breaking news today was Bob Dylan and his Nobel Prize in Literature. You can also take a look at New York Times announcement. Somehow, maybe because Bob conquered a global ocean of hearts and changed the mind of modern society, this sounds very exciting and calls for a celebration. So what can we do to celebrate a computational way? I challenge you, ladies and gentlemen, to come up with an idea, piece of code, visualization and more to pay our tribute to one of the greatest voices of our generation. Here is an example.

Bob Dylan Infinite Universe

Bob interacted with our culture so much his impact can hardly be measured. But we can take a look at Wikipedia data of his page connectivity to other pages. Even going just 2 levels deep and limiting 100 inter-page links per page we get the whole Universe of Bob Dylan. You can get lost by rolling over the nodes of the network. Infinitely. Well, almost. Watch animation and see if you can recognize some names. Please also look through the comments way down to observe more of the visible Universe ;-)

linksTO=WikipediaData["Bob Dylan","BacklinksRules","MaxLevelItems"->100,"MaxLevel"->2];
linksFROM=WikipediaData["Bob Dylan","LinksRules","MaxLevelItems"->100,"MaxLevel"->2];

Graph[Union[Join[linksTO, linksFROM]], 
    VertexLabels -> Placed["Name", Tooltip], VertexSize -> Scaled[.01], 
    DirectedEdges -> False, Background -> Black, 
    EdgeStyle -> Directive[White, Opacity[.5]], 
    VertexStyle -> Directive[Red, Opacity[.8]]]

enter image description here

POSTED BY: Vitaliy Kaurov
Answer
1 year ago

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
Answer
1 year ago

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
Answer
1 year ago

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
Answer
1 year ago

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
Answer
1 year ago

Group Abstract Group Abstract