Showing posts with label iTunes. Show all posts
Showing posts with label iTunes. Show all posts

Sunday, August 16, 2009

I do actually listen to non-swing music...

...in case you were wondering. Just for kicks, I'd thought I'd give you an idea of the other sorts of music I listen to. I created the list below by sorting my iTunes library by "Last Played" and then going genre by genre, grabbing some of the most recent tracks I've played. Admittedly, I cherry-picked a bit, mostly to give a more representative collection of artists, rather than listing five tracks by the same band. Some of the genres are in heavier rotation than others too (I think the last time I listened to most of the tracks under Hip-Hop/Rap was some time in 2007). Right now I'm into country music.

I hate having a messy iTunes library, so I always categorize tracks into one of the nine categories below, or into jazz. I also like to arrange things so that all tracks by a given artist fall within one genre. Outside of jazz though, I don't really think too hard about how an artist gets classified, so what you think of as Country, I might call Rock/Pop, what you call Blues, I call Folk, etc. Labels are arbitrary, we get the point. Here goes:

Blues
  • You Do Me Any Old Way - Big Bill Broonzy - In Chicago 1932/1937
  • Joshua Fit The Battle Of Jericho - Josh White - Josh White Vol. 5 (1944)
  • Cornbread, Peas And Black Molasses - Sonny Terry & Brownie McGhee - An Introduction To Sonny Terry & Brownie McGhee
  • Whiskey Makes Me Mean - Gerry Hundt - Since Way Back (We're friends with Gerry and his wife, who's a swing dancer. Gerry's an awesome musician in the Chicago area. Here's his MySpace page.)
  • Sweet Mama Tree Top Tall - The Deep River Boys - London Harmony
  • The Blues Ain't Nothin' But - Georgia White - Georgia White Vol. 3 1937-1939 (Great vocal, GREAT lyrics.)
  • Your Average Kind of Guy - Dr. John - Dr John Plays Mac Rebennack, The Legendary Sessions
Classical
  • Suite for viola and orchestra - Yuri Gandelsman, Slovak Radio Orchestra - Bloch: Israel Symphony; Suite For Viola and Orchestra
  • Symphony No. 9 in E minor From The New World, Op. 95 - Czech Philharmonic Orchestra - Dvorak: Symphonies Nos 7-9
  • Symphony No. 2 in D major op.43 - Philadelphia Orchestra - Sibelius: Symphonies No. 2 & No.7
  • Beethoven: Cello Sonata #3 In A, Op. 69 - Lynn Harrell, Vladimir Ashkenazy - Beethoven: Cello Sonatas
  • IV. Allegro - Pablo Casals - Brahms: Sextet No. 1, Piano Trio No. 1
Country
  • My Window Faces the South - The Time Jumpers - Jumpin' Time (I heard this band in Nashville, at the Station Inn. They play classic western swing.)
  • Struck It Rich - Town Mountain - Heroes And Heretics (Heard these guys in Nashville too. They play bluegrass, including many original songs.)
  • Move It On Over - Hank Williams - Lovesick Blues
  • San Antonio Girl - Lyle Lovett - Anthology Volume One
  • Miss Molly - Bob Wills & His Texas Playboys - The Essential Bob Wills & His Texas Playboys
  • Let's Chase Each Other Around The Room - Merle Haggard - The Essential Merle Haggard
  • Maybe Sparrow - Neko Case - Live from Austin, Texas
  • Just A Closer Walk With Thee - Patsy Cline - Golden Hits
Folk
  • The Littlest Birds - Be Good Tanyas - Blue Horse
  • That'll Be A Better Day - The Old Crow Medicine Show - Eutaw
  • Blue Moon Of Kentucky - Bill Monroe - Smithsonian Folkways American Roots Collection
  • Wagon Wheel - The Old Crow Medicine Show - O.C.M.S. (We love singing along to Old Crow Medicine Show on car rides.)
Gospel (I like listening/singing along to Gospel music. Not for swing dancing though.)
  • When The Saints Go Marching In - Wycliffe Gordon - In The Cross
  • Didn't It Rain - Lavern Baker - Precious Memories / LaVern Sings Bessie Smith
  • Jesus Hits Like The Atom Bomb - The Soul Stirrers - Shine On Me
  • Move Somewhere - The Swan Silvertones - Singin' In My Soul / Blessed Assurance
  • Come To Jesus - Mahalia Jackson - Oh, My Lord
Hip-Hop/Rap
  • No Diggity - Blackstreet & Dr. Dre - Another Level
  • You Don't See Us - The Roots - Things Fall Apart (Yes, I was in college, and bought a Roots album once.)
  • Bowtie (Featuring Sleepy Brown & Jazze Pha) - Outkast - Speakerboxxx
R&B/Soul
  • Who's Making Love - Johnnie Taylor - Stax Gold
  • Here I Am (Come and Take Me) - Al Green - Greatest Hits
  • You Beat Me To The Punch - Mary Wells - Motown: The Classic Years
  • Good Good Loving - The Simms Twins - Sam Cooke's SAR Records Story: 1959 - 1965 (Disc 2)
  • (Mama)-He Treats Your Daughter Mean - Ruth Brown - Rockin' In Rhythm - Best Of
  • How Do I Let a Good Man Down - Sharon Jones & the Dap Kings - Naturally
Rock/Pop
  • Youth Culture Killed My Dog - They Might Be Giants - They Might Be Giants
  • Before You Accuse Me - Creedence Clearwater Revival - Creedence Country
  • Thunder Road - Bruce Springsteen - Born To Run
  • Nothing Matters When We're Dancing - The Magnetic Fields - 69 Love Songs
  • Rain King - Counting Crows - August & Everything After
  • Peggy Day - Bob Dylan - Nashville Skyline
  • Hotel Yorba - The White Stripes - White Blood Cells
  • Hold On - Tom Waits - Mule Variations
World/Latin
  • Tristeza, Separacion - Astor Piazzolla - Astor Piazzolla Key Works 1984-1989
  • Mami Me Gusto - Ibrahim Ferrer - Buena Vista Social Club Presents Ibrahim Ferrer
  • Miyaabele - Baaba Maal - Missing You (Mi Yeewnii)
  • Jigi Jigi Isapa - King Sunny Ade - Odu (My uncle gave me a KSA tape back in the '80's, and I've been a fan since.)
  • Youth And Pleasure Polka - Vrazel - Golden Sounds (This is from my polka-dancing grandma.)

Monday, January 26, 2009

Disco XT to iTunes: another nifty little AppleScript

Here's yet another AppleScript that swing DJs might find useful. Disco XT is a software program (now available for Mac and PC) that I, and from what I hear, many other swing DJs, use to play our sets. It's my first choice because it:
  • reads my iTunes library,
  • works with dual audio output, so I can preview songs in my headphones while playing a different tune over the main speakers, and
  • automatically loads songs from a cue and transitions between songs.
It also keeps a log of every song played. I like to save all my DJ sets as iTunes playlists, so I wrote an AppleScript that will pull a Disco XT playlist back in to iTunes. The program is a little bit kluggy because you can't copy directly from a Disco XT log file--you have to export it as text first. So to use the script, you need to do the following in order:
  1. Play a set using Disco XT.
  2. When you're done, export your log to a text file.
  3. Open that file.
  4. Highlight the songs that you want to copy into iTunes and hit apple-C to copy.
  5. Open your iTunes and run this script.
  6. A new playlist called "Disco XT playlist" will be generated. Since Disco only allows you to export the title and artist of the tracks that you played, there is no way to uniquely identify a track if you happen to have multiple versions (for instance, your 6 different recordings of the Basie band playing One O'Clock Jump). The script pulls all of them, so you'll need to look through the playlist and delete the tracks that you didn't actually play.
If anyone has suggestions for improving the AppleScript code below, please feel free to share. Or if you have a better way of doing the same task that doesn't use an AppleScript at all, I'd love to hear it.

Here's the code:
tell application "Finder" to set theClipboard to the clipboard
set saveD to AppleScript's text item delimiters
set AppleScript's text item delimiters to return
set tempList to every text item of theClipboard
set theImportList to {}
repeat with lineItem in tempList
set AppleScript's text item delimiters to {" - "}
copy every text item of lineItem to end of theImportList
end repeat
set AppleScript's text item delimiters to saveD


tell application "iTunes"
-- create a new playlist
make new user playlist with properties {name:"Disco XT playlist"}
set newPlaylist to playlist "Disco XT playlist"
set the view of the front browser window to newPlaylist

-- add tracks to new playlist
repeat with trackItem in theImportList
set copy_these to (get every track of library playlist 1 whose artist is (first item of trackItem) and name is (second item of trackItem))
repeat with thisTrack in copy_these
duplicate thisTrack to newPlaylist
end repeat
end repeat
end tell

beep

Wednesday, January 21, 2009

Nifty little AppleScript to chart the BPM of your set

Here's another AppleScript that might be useful to Swing DJs out there. This one will pull the BPM of an iTune playlist and graph it two ways:
  • as a line chart, so you can see how your BPM flowed over the course of the night
  • as a frequency distribution, so you can see how you covered the tempo range

AppleScript doesn't make it all that easy to crunch numbers, so the code is a bit clunky. I use the Google Chart API to turn the data into graphics, which is a nifty tool though it has some quirks of its own.

I'd love to have a couple more tools like this, things that I could use for post-game analytics. It'd be great to have one that would tell me how often I spin the songs in my set (e.g., half my set is stuff that I've played 10 times in the past six months, 4 songs I'd never spun before, etc.). But it's tricky to get that info out of iTunes. What else would be useful to see as a chart?

Just like the last script, I make no warranty that this little program will actually work for you. Here's the code:
set frequency_dist to {}
set bpm_over_time to {}

tell application "iTunes"
set thePlaylist to the front window's view

set playlistName to ""
set nTracks to count of tracks of thePlaylist
set p to name of thePlaylist
repeat with w in every word of p
set playlistName to playlistName & "+" & w as text
end repeat
set playlistName to text 2 through (length of playlistName) of playlistName

repeat with i from 1 to nTracks
set end of bpm_over_time to bpm of track i of thePlaylist
set track_bpm to round (((bpm of track i of thePlaylist) - 1) / 10)
if track_bpm > (count of frequency_dist) then
repeat with j from ((count of frequency_dist) + 1) to track_
bpm
set end of frequency_dist to 0
end repeat
end if
if track_
bpm = 0 then
set track_
bpm to 1
end if
set (item track_
bpm of frequency_dist) to (item track_bpm of frequency_dist) + 1
end repeat
end tell

set first_non_zero to 1
repeat while item first_non_zero of frequency_dist is 0
set first_non_zero to first_non_zero + 1
end repeat

set
bpm_data_string to first item of bpm_over_time as text
repeat with i in items 2
thru (count of bpm_over_time) of bpm_over_time
if i <> max then
set max to f
end if
end repeat
set max to 3 * (round (max / 3) rounding up)

set vert_size to 50 + 28 * ((count of frequency_dist) - first_non_zero + 1)

set horiz_size to 15 * nTracks
if horiz_size > 600 then
set
horiz_size to 600
end if


set range to first_non_zero * 10 & "," & (count of frequency_dist) * 10
set line_chart_string to "http://chart.apis.google.com/chart?cht=ls&
chxt=y&chxs=0,555555,12,0,t&chs=" & horiz_size & "x200&chd=t:" & bpm_data_string & "&chds=" & range & "&chxr=0," & range & "&chtt=BPM+by+song|" & playlistName

set freq_dist_string to "http://chart.apis.google.com/chart?cht=bhs&
chxt=x,y&chxs=0,555555,12,0,t|1,555555,12,-1,t&chd=t:" & freq_data_string & "&chds=0," & max & "&chs=300x" & vert_size & "&chxr=0,0," & max & "|1," & range & "&chtt=BPM+Frequency+Distribution|" & playlistName

tell application "Finder"
open location line_chart_string
open location freq_dist_string
end tell

Friday, January 16, 2009

Nifty little AppleScript to publish a playlist

Those of you with copy-editorial leanings may have noticed that I recently changed how I publish my set lists on the blog.

A few weeks ago I wrote a little AppleScript that will take an iTunes playlist and copy the artist, title, album, length, and bpm of each track to the clipboard, in a format specified by the user. I just run this apple script on one of my set lists and wham-bam I can paste it into my blog.

If you're running a Mac, you can use it too. Open the Script editor to create a new script, then copy the code below into the file. Save the file under Library\iTunes\Scripts. The script should now be accessible from iTunes, from the little script drop-down menu (between Window and Help).

Here's the code:
set dialogResult to display dialog "Enter delimiter and click OK" default answer " - "
if button returned of dialogResult is "OK" then
set delimiter_character to text returned of dialogResult
tell application "iTunes"
set thePlaylist to the front window's view
set playlist_data to {}
tell thePlaylist
repeat with i from 1 to the count of tracks
tell track i
set the end of the playlist_data to {name, delimiter_character, artist, delimiter_character, album, delimiter_character, time as string, delimiter_character, bpm, return}
end tell
end repeat
end tell
end tell
tell application "Finder"
activate
display dialog "The playlist information has been copied to the clipboard"
set the clipboard to (playlist_data) as text
end tell
end if
FYI, this code is pretty rough-and-tumble--there's no error handling or anything like that, so it may not work for you. But it should be easy to modify, especially since the language is so easy to follow, almost English. I think the designers meant it to be the Apple equivalent of VBasic.

AppleScripts are pretty nifty. Don't know why I've never played with them before. I've got a few more in the works, so stay tuned.

Friday, November 28, 2008

Music via the interwebs, Part 1: iTunes

I acquire by going to record stores like Jazz Record Mart (a wondrous place, but dangerous for the wallet--I can never get out of there without spending about $75), plus every once in a long while a treat from a specialty shop like Mosaic Records. Lately I've also been buying a lot more music online. Initially, I would look for mp3s when I knew of a particular track I wanted, but didn't want to buy the whole album (or couldn't find the album). For instance, if I heard a tune at a dance and asked the DJ what the title was, it's easy to go home and look it up. Lately I've spent more time just exploring online music, as oppose to only making specific, targeted acquisitions.

My three main sources, as you can tell from the links I list in my "One Track Mind"posts, are iTunes, EMusic, and Amazon mp3. Over the next couple posts, I offer my opinion on each of these sites.

Starting with iTunes...

iTunes seriously annoys me, in many ways, but chiefly for their online store. For a long while, the mp3 files sold in the iTunes Online Store had digital rights management (DRM) protection on them, so that you couldn't freely share the files with your friends. Piracy issues aside, it also means that I can't play those files in most other music players other than iTunes.

I've been gradually going through and getting rid of all the DRM'ed AAC files that I've accumulated through iTunes, replacing them with mp3's or whatever the current standard is. I think some (maybe most) of iTunes is now DRM-free, but still their whole scheme really annoys me.

The main attraction of iTunes is convenience (assuming that you too are deeply caught in Apple's web of personal music products). Since I use iTunes to organize my collection, it's easy to pop over into the store and grab a track, and it shows up in my library with no added fiddling. They also have a very large collection of music, and a good search interface. Since it's all integrated into iTunes, it feels more like you're browsing through a database than clicking through web pages. I like how the album reviews and user reviews are integrated into the page, so you can read them and browse through tracks at the same time.

The biggest drawback to iTunes is cost. It's the most expensive source out there, so it's easy to quickly run up a decent sized bill. Other drawbacks were the DRM and the low bit-rate on the files, but I think those are getting to be less of an issue.