Beat Spy
Team
- Phil Popp
- Music Information Retrieval and Analysis
- Audio Research Engineer, Gracenote
- email: popp.phillip at gmail dot com
- Aaron McLeran
- Generative Music Composer and Sound Designer
- Audio Software Engineer, Activision
- email: amcleran at gmail dot com
Big Ideas
1. Using real-time social networks and social network data to create and interface with music.
2. Create distributed, continuous real-time interaction between large numbers of people anywhere in the world on a single piece of music.
Description
Beat Spy is a music system prototype which uses a Twitter interface to control musical parameters based on the popularity of specified Twitter queries. Beat Spy creates beats by slicing user supplied music and using those slices in the music system.
Anybody in the world can participate in the musical output of the system by using a simple tweet grammar.
The Twitter Grammar
#beatspy <phrase>
#beatspy track <n>
#beatspy note <query>
#beatspy beat <query>
<phrase> -> Creates a unique seed for the music system based on a hash of the supplied phrase.
track <n> -> Chooses new source material for beats.
note/beat <query> -> Recent popularity of the supplied <query> is mapped to musical events.
Seeding the music system
By specifying a phrase without a prefix (track/note/beat), the music system is seeded with a hash of the query. In this way, a unique musical state is created for the specified phrase. The music system can use this single seed for a wide range of musical parameters and structure. For the prototype, it simply is re-used to produce repeatable beat patterns.
Picking new tracks
Since the actual samples used in the rhythms are remixed slices of pre-existing music (sliced using beat tracking software), the track parameter allows for users to specify which particular track the music system should be used. Currently the playlist is only 10 tracks but in the future, a web interface will allow users to upload tracks to the playlist in real-time and choose which tracks to play.
Mapping Popularity
"Popularity" is defined as the number of tweets which contain the query. The number is between 0 and a tunable "max popularity" number and normalized [0..1]. If the popularity is greater than 0, it is passed to the music system via Open Sound Control. The parameter can then be mapped to any number of musical parameters.
If the query is prefixed by "note", it is simply mapped to note-value; the more popular the query, the higher the note. More complex note-based or synthesis based parameters could be mapped in the future.
If the query is prefixed by "beat", it modifies beat probability distribution functions; a higher popularity produces more complex beats, whilst a lower popularity produces less complex beats. After a short time delay, the music system returns to it's default low-energy state (groove).
Website
The demo for Hackday consists of a proof of concept of the interface and the feasibility of creating music based on twitter searches. The full project will be broader in scope and exist as an interactive socially-networked website.
BeatSpy's Website will have the following features:
- Live audio stream of the current performance state
- Upload new source material to be sliced
- Playlist of available material
- Real-time feedback (and visualization) of recent tweets
- Musical visualization
Tools, Platforms and APIs Used
Twython (Twitter API for Python)
Open Sound Control
Dan Ellis Beat Tracking Algorithm
Max/MSP
Lame
Comments (0)
You don't have permission to comment on this page.