Prototype of a Radio-On-Demand Broadcast Receiver with Real-Time Musical Genre Classification B. HAPPI TIETCHE 1 , O. ROMAIN 4 , B. DENBY 2 , L. BENAROYA 2 , F. DE DIEULEVEULT 3 , B. GRANADO 4 , G. WASSI 4 , H. KHEMIRI 5 , G. CHOLLET 5 , D. PETROVSKA 5 , R. BLOUET 6 , K. HACHICHA 1 AND S. VIATEUR 1 1. Laboratoire Informatique de Paris 6 – LIP6 – Université Pierre et Marie Curie 2. Université Pierre et Marie Curie, Laboratoire SIGMA, ESPCI-ParisTech 3. Laboratoire LIST – CEA 4. Laboratoire ETIS – Université Cergy Pontoise 5. Institut Mines Télécom 6. YACAST [email protected], [email protected], [email protected] Software Defined Radio applied to broadcast media allows to imagine digitizing an entire broadcast band, decomposing it into its component channels, demodulating these to produce parallel real-time audio streams, and applying indexing or other audio processing algorithms, all in a single programmable device. Objective Radio On Demand Speech Music Genre Song ID ctc. Word spot Speaker ID ctc. Station 1 Multimedia Database / User Interface Speech Music Genre Song ID ctc. Word spot Speaker ID ctc. Station N LNA + ADC Audio Indexing Processor Multimedia Interface Channelizer / Demodulator Antenna Audio Indexing Prototype HMI • Stratix Altera FPGA : EP2S180 - IP WOLA - Resampling - Cordic • Multi-core - GMM - HMI ALUTs 67999/143520 (45%) Registers 64950/143520 (36%) Total registers 64950 Memory in bits 2275985/9383040 (24%) DSP block 9 bit 464/768 (59%) Features Algorithms • Bandpass sampling @ 87MHz • Resampling @ 51.2MHz • 4 WOLA Filter with 128point FFT running @ 51.2MHz • // Cordic Parallel demodulator Musical Genre Classification • MFCC to extract acoustic feature • Gaussian Mixture Model Classifier • Training on GTZAN (http://marsayas.info) and French radio datase • Decision based on the maximum of the three scores • 96.3% of accuracy Classical Jazz Variety Classical 86% 4% 1% Jazz 10% 93% 0% Variety 4% 3% 99% Confusion matrix Core 2 duo Q9400@ 2.66GHz Core i7 2600@ 3.4GHz 1 vector 699ms 457ms 51 channels 35.67s 23.307s Processing time on multi- core