11
EzDJ By Todd Alexander An easy DJ Mixing Solution

EzDJ By Todd Alexander An easy DJ Mixing Solution

Embed Size (px)

Citation preview

Page 1: EzDJ By Todd Alexander An easy DJ Mixing Solution

EzDJ

By Todd Alexander

An easy DJ Mixing Solution

Page 2: EzDJ By Todd Alexander An easy DJ Mixing Solution

General Overview

The EzDJ program allows common DJ functions to be accomplished using the EzKit Lite

This provides for a cheap alternative to very expensive DJ hardware

Page 3: EzDJ By Todd Alexander An easy DJ Mixing Solution

Features

Input level monitors Sound effects available for mixing Two versions of cross-fading with beat

matching and fade status

Page 4: EzDJ By Todd Alexander An easy DJ Mixing Solution

Problems

As indicated in the first slide Disk Jockeys usually work with two input sources, allowing them to switch between songs

Normally while a current input source is being played a DJ would queue another song on the other input channel.

Even if a song is queued it is very difficult to tell when to start playing it so that the beats are in sync.

Why should the beats be in sync? Whenever playing two input sources at the same time with beats that are not synchronized. The result is considered noise by most listeners. [sample]

In order to solve this problem beat matching is used.

Page 5: EzDJ By Todd Alexander An easy DJ Mixing Solution

Beat Matching Algorithms

There are a few approaches to matching beats. Mostly differing in the way the beats are detected

One of the methods I looked at was identifying the beats by their IDs according to a paper at Microsoft research

In short they determined the peak then stored an ID of it

Page 6: EzDJ By Todd Alexander An easy DJ Mixing Solution

EzDJ’s Algorithm

First I thought that: 1. A DJ would never try to mix two songs with a largely varied beat count. In fact it is desirable to have songs of similar beat counts; hence, assume the beat counts are similar

Next the input peak levels can be setup to fall within a certain range. The input will be amplified to determine the output thus not adversely affecting the output.

Having control of the input we can then detect the beats, match the beats then perform the cross-fade after successfully matching the beat. Further explanation in subsequent code.

Bearing in mind that the music is of good quality and does not contain noise at the peaks the average value at the peak was ignored to improve the algorithm’s performance

Page 7: EzDJ By Todd Alexander An easy DJ Mixing Solution

Code Details

Presented in source code documents

Page 8: EzDJ By Todd Alexander An easy DJ Mixing Solution

Graph of Type 1 Fade

0 5 10 15 20 25 300

1

2

3

4

5

6

7

8

9

10

Page 9: EzDJ By Todd Alexander An easy DJ Mixing Solution

Graph of Type 2 Fade

0 10 20 30 40 50 600

1

2

3

4

5

6

7

8

9

10

Page 10: EzDJ By Todd Alexander An easy DJ Mixing Solution

Improvements

Monitor feature Tempo changing to match beat Dynamic level adjustment

Page 11: EzDJ By Todd Alexander An easy DJ Mixing Solution

Credits

• Cover image – www.ftw-design.com• Code adapted from Analog Devices EzKit Lite examples• Dr. Kepuska’s Lectures and Slides• Darko Kirovski and Hagai Attias, Beat-ID: Identifying

Music via Beat Analysis, Microsoft Research• Beat This, A Beat Synchronization Project

http://www.owlnet.rice.edu/~elec301/Projects01/beat_sync/beatalgo.html

• ECE3551 is the best !