Presented by Michael Katic. Main Influence Most of my practices in this project were an attempt to recreate an Audio Search Algorithm developed by Shazam.

Slides:



Advertisements
Similar presentations
Matlab Intro Simple introduction to some basic Matlab syntax. Declaration of a variable [ ] Matrices or vectors Some special (useful) syntax. Control statements.
Advertisements

Introduction to Matlab
CS335 Principles of Multimedia Systems Audio Hao Jiang Computer Science Department Boston College Oct. 11, 2007.
Audio Programming With Python Copyright © Software Carpentry 2011 This work is licensed under the Creative Commons Attribution License See
SirenDetect Alerting Drivers about Emergency Vehicles Jennifer Michelstein Department of Electrical Engineering Adviser: Professor Peter Kindlmann May.
Uncertainty Quantification & the PSUADE Software
CMPS1371 Introduction to Computing for Engineers PROCESSING SOUNDS.
1 Chapter 16 Fourier Analysis with MATLAB Fourier analysis is the process of representing a function in terms of sinusoidal components. It is widely employed.
Improvement of Audio Capture in Handheld Devices through Digital Filtering Problem Microphones in handheld devices are of low quality to reduce cost. This.
Introduction The aim the project is to analyse non real time EEG (Electroencephalogram) signal using different mathematical models in Matlab to predict.
Quantization Prof. Siripong Potisuk.
XCMS Analyte Profiling Software Tutorial
Final Project of Information Retrieval and Extraction by d 吳蕙如.
FINGER PRINTING BASED AUDIO RETRIEVAL Query by example Content retrieval Srinija Vallabhaneni.
Raster Based GIS Analysis
Chapter 11 Beyond Bag of Words. Question Answering n Providing answers instead of ranked lists of documents n Older QA systems generated answers n Current.
F 鍾承道 Acoustic Features for Speech Recognition: From Mel-Frequency Cepstrum Coefficients (MFCC) to BottleNeck Features(BNF)
Classification of Music According to Genres Using Neural Networks, Genetic Algorithms and Fuzzy Systems.
Efficiency of Algorithms
DEVON BRYANT CS 525 SEMESTER PROJECT Audio Signal MIDI Transcription.
Algorithms and Efficiency of Algorithms February 4th.
Classification of Music According to Genres Using Neural Networks, Genetic Algorithms and Fuzzy Systems.
The Chinese University of Hong Kong Department of Computer Science and Engineering Lyu0202 Advanced Audio Information Retrieval System.
Main task -write me a program
Introduction To Signal Processing & Data Analysis
Introduction to machine learning
DIVINES – Speech Rec. and Intrinsic Variation W.S.May 20, 2006 Richard Rose DIVINES SRIV Workshop The Influence of Word Detection Variability on IR Performance.
Graphic Equalizer Table By Jose Lerma. Main Idea The main idea of this table is to display the frequencies of any sound or audio input, either by microphone.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Objectives Learn what a file system does
Illuminating Computer Science CCIT 4-6Sep
COMP Representing Sound in a ComputerSound Course book - pages
Simple Program Design Third Edition A Step-by-Step Approach
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
Goals of Course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices.
Preprocessing Ch2, v.5a1 Chapter 2 : Preprocessing of audio signals in time and frequency domain  Time framing  Frequency model  Fourier transform 
Vibrationdata 1 Special Topic 1 Processing Sound Files Matlab & Python The most interesting sounds are those which have sine tones.
Brainstorming Ideas – The steps. You have been given a topic from your professor. And are ready to begin brainstorming. (Keep in mind that you won’t necessarily.
Image Restoration using Iterative Wiener Filter --- ECE533 Project Report Jing Liu, Yan Wu.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
Dan Rosenbaum Nir Muchtar Yoav Yosipovich Faculty member : Prof. Daniel LehmannIndustry Representative : Music Genome.
ISV Innovation Presented by ISV Innovation Presented by Business Intelligence Fundamentals: Data Cleansing Ola Ekdahl IT Mentors 9/12/08.
Voice Recognition (Presentation 2) By: Priya Devi A. S/W Developer, Xsys technologies Bangalore.
Signals CY2G2/SE2A2 Information Theory and Signals Aims: To discuss further concepts in information theory and to introduce signal theory. Outcomes:
Vibrationdata 1 Unit 9 White Noise FFT. Vibrationdata 2 Fourier Transform, Sine Function A Fourier transform will give the exact magnitude and frequency.
General Algorithms for Common Business Problems Simple Program Design Third Edition A Step-by-Step Approach 10.
EE 113D Fall 2008 Patrick Lundquist Ryan Wong
Soundscapes James Martin. Overview Problem Statement Proposed Solution Solution Created (Modules, Model, Pics) Testing Looking Back See It in Action Q&A.
Sonia Hingorany & Liza Cyriac EE113D – Professor Rajeev Jain & TA Rick Huang– Winter 2008.
Basic Time Series Analyzing variable star data for the amateur astronomer.
Complemental Probabilities.
Feature Extractor: overview and history of recent changes Dmitry Chirkin, UW Madison Goal: Given an ATWD or FADC waveform, determine arrival times of some.
Reconfigurable FFT architecture
Automatic Equalization for Live Venue Sound Systems Damien Dooley, Final Year ECE Progress To Date, Monday 21 st January 2008.
Old Dominion University Summer Research Progress: Week 1 – Hydrology, the Fourier Transform, and Spectrograms George Fava Department of Electrical and.
User-Friendly Systems Instead of User-Friendly Front-Ends Present user interfaces are not accepted because the underlying systems are too difficult to.
Week 10 - Friday.  What did we talk about last time?  References and primitive types  Started review.
Refined Online Citation Matching and Adaptive Canonical Metadata Construction CSE 598B Course Project Report Huajing Li.
Selecting Relevant Documents Assume: –we already have a corpus of documents defined. –goal is to return a subset of those documents. –Individual documents.
Design of a Guitar Tab Player in MATLAB Summary Lecture Module 1: Modeling a Guitar Signal.
LOGO Song Identification System Team members: Nguyen Ngoc Tan Ho Vinh Thinh Nguyen Huu Duy Nguyen Hoang Diep Nguyen Trong Dai Le Thanh Tung Supervisor:
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Unit 9 White Noise FFT.
National Mathematics Day
Ch. 2 : Preprocessing of audio signals in time and frequency domain
Processing Sound Files
User Defined Functions
Digital Music Audio Processing
Lecture 2: Frequency & Time Domains presented by David Shires
Teaching machines to appreciate music
Presentation transcript:

Presented by Michael Katic

Main Influence Most of my practices in this project were an attempt to recreate an Audio Search Algorithm developed by Shazam entertainment. While I followed there general idea some parts if the documents I read were fuzzy.

Main Steps Create method to fingerprint audio files for comparison Use this method to build a library of named audio files Perform the same fingerprint method on an unknown audio file to be compared against the library and figure out if it is contained inside. Return the findings

Steps to Creating Finger Print Extract raw PCM data and Hz from WAV file. Perform FFT on PCM to generate a Spectrogram Create a scatter plot representation of the spectrogram to act as fingerprint.

PCM PCM was the easiest data to retrieve only requiring: [song, s] = wavread(file); Where s = Hz (data points per second) The following is PCM from Harry Nilsson - My Best Friend.wav

FFT (Fast Fourier Transform) FFT was another task made simple by matlab songSpectrogram = specgram(songMono, 512, s); Harry Nilsson - My Best Friend.wav with FFT

Spectrogram to Scatter Plot I first had to break spectrogram into many section to get a good coverage of all frequencies. Then I chose to use a certain number of amplitude peaks to use depending on section row.

Building a Library Libraries Created: Noise Songs Songs’ Fingerprints Songs with Noise Songs with Noises’ Fingerprints

Createing SamIple Recording To create a sample I wrote a function that takes in a regular audio file and then selects a random 15 second chunk and adds either a white noise or speech audio file on top of it to generate a realistic environment.

Matching Process freedom = ceil(.01 * maxFrequency); index = 1; for i = 1 : sampPoints for j = 1 : songPoints if (sampFreq(i) - freedom) < songFreq(j) && songFreq(j) < (sampFreq(i) + freedom) timeMatched(index) = songTime(j) - sampTime(i); index = index + 1; end [MostCommonTimeChange, modeCount] = mode(floor(timeMatched)); Return modeCount;

songLength = 300;

songLength = 3000;

Returning Data In the end when the user inputs data the program is supposed to efficiently and consistently return the correct match… Mine can at least do it sometimes.

Possible Faults in Project The largest potential for failure in this project was getting a good representation of a spectrogram with a scatter plot. This involved a lot of different variables that were chosen by me though trial and error and can diffidently use some more thought. Different factors must be considered such as spacing between points and areas of the spectrogram that require more density than others. This project was written so these variables can be played with easily and will hopefully get better over time.

addnoise AudioToScatter2 BuildSample Recordings BuildSongData CreateSample SongRecording Extreama2 FindArtist Main Recording Fingerprints ScatterMatch MainBuild Recording Song Fingerprints Songs Noise Borrowed Functions Folders

Current Output 15 second sample matched on library of 20 songs 60% match rate With song:noise ratio of 100:1 50% match rate With song:noise ratio of 50:1 30% match rate With song:noise ratio of 25:1 5% match rate (Probably luck) With song:noise ratio of 1:1

Yep…