Beat Spy


Beat Spy

 

Team

 

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:

 

 

Tools, Platforms and APIs Used

Twython (Twitter API for Python)

Open Sound Control

Dan Ellis Beat Tracking Algorithm

Max/MSP

Lame