1 / 23

Mixed-Excitation Linear Predictive Coder - MELP

Mixed-Excitation Linear Predictive Coder - MELP. MELP codec demonstration Subject: Voice Coding Scientific Postgraduate Study of Electronics, FESB, University of Split Professor: dr. sc. Dinko Begušić Student: Zoran Sambol. Voice coding – Study Subject. Subject program Literature

nowles
Download Presentation

Mixed-Excitation Linear Predictive Coder - MELP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mixed-Excitation Linear Predictive Coder - MELP MELP codec demonstration Subject: Voice Coding Scientific Postgraduate Study of Electronics, FESB, University of Split Professor: dr. sc. Dinko Begušić Student: Zoran Sambol

  2. Voice coding – Study Subject • Subject program • Literature • Digital Telephony – J. Bellamy • Speech Coding – Tutorial Review – A. S. Spanias • E-mail Communication • Professor in Texas and student’s permanent employment • Three phases • Voice Coding overall – Contents • MELP algorithm - Seminar document • MELP demonstration – Real coding

  3. MELP web & resources • US DoD Voice Processor Consortium • DDVPC Homepage • MELP at 2.4 Kbps • Performance Measures • Sound Samples • Source Code • Non-real-time fixed and floating point versions • Real-time ‘C50 DSP version – software development • ASPI Digital – web site copy – Polycom • MELP Demo for Windows 95 • Texas Instruments • Embedded development • Noam Amir – Educational – web site copy

  4. MELP – speech compression • New 2400 bps Federal Standard • Selection test (DDVPC) • Intelligibility, Voice quality, Talker recognizability and Communicability • Hardware parameters • Processing power • Memory usage • Delay • Commercial and military use • Robust in difficult noise environments • Efficient in computational requirements…

  5. MELP – speech… • Traditional LPC parametric model includes four additional features: • Mixed-excitation • Aperiodic pulses • Pulse dispersion • Adaptive spectral Filtering • Introduction (ASPI) • Atlanta Signal Processor, Inc. • Specifications (May 28, 1998 - Draft) • Specifications for the Analog to Digital Conversion of Voice by 2,400 Bit/Second Mixed Excitation Linear Prediction • MELP at lower bit rates Lets code!

  6. Waves and formats • How to get pure samples for MELP? • Learn about wave files – understand technology • Get programming routines • Make applications • Books – Programming ‘Knowledge base’ • Petzold – Chapter 22 – Sound & Music • Waveform audio device (*.WAV) • API – low level (wave*, midi*) and high level (mci*) interfaces • MIDI, CD Audio, MCI • Leinecker, Archer – Chapter 16 - Sound • Waveform, MIDI, CD Audio • MSDN Library Audio Samples – Platform SDK - ACM • Utilities – RIFF Walk and RIFF Add

  7. Wave format & RIFF Bit digging Waveopt

  8. Files and Extensions

  9. Waveopt utility • C++ Console application • Waveform structure (RIFF) • Analysis • Synthesis • Stream I/O routines Analysis Synthesis What with binary file?

  10. Non-real time TI MELP demo • Link Texas Instruments - Self-Extracting MELP 1.2 Source Code (97KB)! • Operating system – SunOS4 – MELP Read me • My development • OSs – Win 95, Win 98SE, WinNT • Compilers & IDEs • Borland C++ for DOS – Char 8, Short & Integer 16, Long 32 • Microsoft Visual C++ – Char 8, Short 16, Integer 32, Long 32 • Hardware resources • Sound card – Creative Sound Blaster Audio PC128 • Microphone, Processor (Pentium3 450 MHz), RAM (192 MBy) • Console application – floating point – ConsoleMelp • Input and output files ConsoleMelp application

  11. What I’ve got? File which produces back playable Wave file after Analysis and Synthesis procedure Synthesized file has great number of zeros (silence) and every 54 bit is frame bit (0x80) Bit rate is 10 times least than original wave What I want to get? MELP file which bit rate is 2400 bit/s and can be used for Synthesis procedure to produce playable Wave file ConsoleMelp outputs See CCL file! CCRemover & CCInserter

  12. CCRemover utility What I get with it? • File which can be used after bit insertion (CCInserter) for Synthesis procedure to produce playable Wave file • Bit rate of generated file is 3200 bit/s which leads to conclusion that this is channel coded MELP algorithm!! • More about channel coding for 1.6 Kb/s MELP Coder For Wireless Communications See CCS file! Channel Coded Short - CCS

  13. CCInserter utility What I get with it? • CCL file which is input file for ConsoleMelp application Synthesis • After RIFF header insertion produces playable Wave file (Waveopt *.bin) Channel Coded Long - CCL

  14. My MELP at 2.4 Kbps • Little trick with digging on original source • New (real 2.4 kbps MELP) file with *.mlp extension • Inverse procedure – MELP is produced during the additional synthesis • melp_chn_read() method - accessing MELP bit buffer • Can’t be used for synthesis!

  15. Why I’m using Synthesis? Subroutine UNPACK_CODE: Unpack bit code from channel. Return 1 if erasure, otherwise 0. (melp_chn.c Line 319) There is no file for writing pure MELP! Additional code lines in melp_chn_read() method after all unpack_code() methods calls (melp_chn.c Line 154). Additional file created in main (melp.c Line 82) and synthesis procedure file (melp_syn.c)

  16. MELP flowchart Run complete MELP?

  17. MLP file for Synthesis Useful Effort? Additional Synthesis

  18. Real MELP – Processing Analysis + Synthesis 2 Analyses & Syntheses

  19. Batch – Console applications • Four different console application integrated using DOS Batch files • Waveopt, ConsoleMelp, CCRemover and CCInserter • Console applications with input and output parameters – files • ConsoleMelp –a –i dam9.bin –o dam9.ccl • Waveopt syntax: • Waveopt.exe [*.bin | *.wav] • Easy deleting, renaming, directory creating…(see notes!)

  20. Statistics – MOS, DAM, DRT measurement Database Connection – Access, MySQL Internet Connection – IP, Web based Visualization, Skins… Opening WAV and MLP (CCS) files Playing files Recording and storing waves in MELP useful format Recording CCS and MLP files Size comparison - Explorer utility Windows – MelpPlayer

  21. MelpCodec For… Education • Laboratory exercise – Voice Coding subject • Gathering measurement results • Symposium article (IEEE, SoftCOM, ELMAR, MiPRO) • Experience for some other voice and no-voice LP algorithms • Digital Signal Adaptive Processing - Subject • My Postgraduate Work Theme And

  22. Let’s think farther! Business • Cooperation FESB University of Split and Siemens d.d Croatia and Siemens AG • PSE PRO TCS RCD department • Projects – Signal Processing, Communication, Software Development • Links: • PSE Siemens d.d • Siemens AG

  23. Thanks for your attention! Contact: Zoran Sambol, Siemens d.d. Put Brodarice 6, 21000 Split Tel. +385 21 390 936 zoran.sambol@st.tel.hr, zoran.sambol@siemens.hr

More Related