Last Friday I finished writing my first large work for orchestra, entitled Pluto. Those of you familiar with both the ongoing debate as to Pluto’s planet-hood (fyi, it’s not) and “The Planets”, an orchestral suite by Gustav Holst, may get what this piece’s title is getting at.
Although the truth is I didn’t compose the piece with Holst in mind. In fact, I had a hard time titling this piece because it changes feel so many times. I think the piece is best described as being heavily thematic, following the somewhat-recent trend of Hollywood film music to use a lietmotif, or “recurring theme” which holds the piece together. Overall, the piece has heavy influences of film composers John Williams and John Powell, 20th-century American composers such as Aaron Copland, and touches of Jazz.
The main theme is comprised of the notes C, F, G or scale degrees 1, 4, and 5 (1C 2d 3e 4F 5G) played in ascending order. Originally the theme is presented in a major key. In the middle of the piece, the theme is presented in a minor key. The piece finishes in a major key.
Seeqpod is a great website for finding free music on the web quickly. They offer an API which allows web developers (like me) to create websites and applications which access Seeqpod’s database. I recently created a website, called Freemusic, which allows users to access Seeqpod’s music in a much more user friendly way. Users can share direct links to playlists they’ve created using the site. And all of the music can easily be downloaded from the original source that Seeqpod found it in.
Here’s a screenshot of the site:
Lastly, I feel like it needs to be said that the site itself stores no music files or indexes of the locations of music files on the internet. It merely is an engine for querying the Seeqpod database. If a user finds a song in Seeqpod’s database which has been uploaded to the internet without permission of the copyright holder, then this user should not download or listen to this song.
<nerd talk>
The site uses the following technologies: javascript, ajax, php, seeqpod api, and the jw flash player.
</nerd talk>
Tonight I’ve been hard at work on a new music page. The new site utilizes two really cool javascript libraries which are brand spankin’ new.
One is called SoundManger (which has just released a much anticipated version 2), and the other is called Smartlook (from the guys over at ISSUU).
SoundManager is a javascript library which makes playing sounds on a web page really easy. I used it on my new site to turn a simple list of mp3 files into a cool-looking audio playlist.
Smartlook is a javascript library which works in conjunction with an ISSUU account. ISSUU is a great site for publishing your documents (.pdf,.doc,.xls,.ppt,etc.) online. It features a really clean flash player and uses top-notch document conversion tools. Smartlook is their newest service. After generating a key based on your ISSUU account id (you can do this by logging into ISSUU and going here) and including the smartlook.js library in you website, all of your .pdfs, .docs, .ppts, and other supported documents that your website links to become links to the issuu flash document viewer for that document.
Basically, the code allows you to skip the step of having to upload your documents to ISSUU before you embed them in your page. Smartlook automatically uploads your documents to ISSUU using you account, and redirects all of your links to documents automatically. It’s pretty sweet. Check out how I used it to display pdfs of musical scores I published here.
Screenshot of http://polymath.mit.edu/music/player
A few weeks ago I set out to design a new website to showcase some of the music I’ve composed and had performed over the last two years. As with any website, I wanted to make sure it would be easily update-able. So I decided to use the very popular JW (Jeroen Wijering) Flash Media Player in order to take advantage of its ability to play XSPF (XML (Extensible Markup Language) Shareable Playlist Format) playlists. (Don’t you just love it when acronyms get compounded!) I’ve used the JW Flash player before for the Vi / deo site I made last summer. However, since a new version of the player had just been released, rather than use a similar implementation to the one over at Vi / deo, I decided instead to start from scratch, in order to take advantage of three key new features in the player.
I designed my own skin, based on the Modieus (or “Stylish”) skin from Jeroen. The main improvements I made to the skin were customizing the look of the playlist items, so that each would not take up much vertical space. This makes the skin more suitable for music playlists. (It was originally intended more for video playlists.) The skin I made is available at Jeroen’s site here. You can also grab it here, just be aware of the license information found at Jeroen’s new site, Longtail Video.
The way I used this will be apparent in the site itself. The main feature I use is the ability to change the page’s content (the stuff displayed on the right-hand side) based on the current song being played by the player.
I do this by adding an event listener to the player’s ITEM event.
<script type="text/javascript">
var player;
function playerReady(obj) {
player = document.getElementById(obj['id']);
player.addControllerListener('ITEM','onPlaylistItemChange');
};
function onPlaylistItemChange(event) {
//handle event
}
</script>
The xspf playlist which drives the site is here.
The Modieus_Slim skin that I made can be found here. (zip folder containing .fla, .swf, and other supporting files)