VS10XX - Plugins Plugins VS1011/VS1002 Loudness Plugin DTMF Generator VS1003B WMA Rewind Plugin Spectrum Analzer Plugin Pitch Shifter / Tempo Change Plugin Applications Standalone Plaer / Recorder VS1003B 16/32-Button Plaer Real-Time MIDI Input 8 khz Phone/Headset Application Patches VS1002D/VS1003B MPEG2.5 Laer-3 8 khz Stereo Patch VS1003B/VS1033C Treble Patch VS1011E/VS1033B/VS1033C MPEG2.0 Laer-2 Patch Description This document shortl describes the currentl available plugins, applications, and patches for VS10XX chips. Plugins and patches co-exist with the default firmware operation, while applications take over some or all of the sstem operation. We have tried to ensure that patches and plugins do not overlap, so that several of them can be loaded and be active at the same time. Check the documentation of the desired packages for details. No VS DSP programming experience is required for using these additions. Code is loaded and started b writing into VS10XX Serial Control Interface (SCI) registers. If ou need a plugin or an application, make an inquir (mp3@vlsi.fi). There are reall man things that can be done with the VS10XX chips with a little bit of imagination, even applications not directl associated with audio! In Development VS1053 Ogg Vorbis Encoder Echo Cancellation Headset Decoder and PCM Mixer Decoder and Sound Effect Generator Mixer Rev. 1.01 2007-11-06 Page 1(9)
1 Introduction The VS10XX chips contain internal instruction RAM and some user data RAM. Thus new features and even full applications can be developed in addition to what the ROM firmware offers. Most patches and plugins co-exist, i.e. the can be active at the same time. Plugins and applications can also be loaded onl when the are needed. The following chapters give a short description of some of the applications that have been implemented for different VS10XX chips. Make an inquir (mp3@vlsi.fi) if ou need a plugin to support another chip, or if ou need a plugin or application that does not exist. For the latest available plugins and patches, see the VLSI web pages (http://www.vlsi.fi/). http://www.vlsi.fi/software/plugins/plugins.shtml http://www.vlsi.fi/vs1011/software/software.shtml http://www.vlsi.fi/vs1002/software/software.shtml http://www.vlsi.fi/vs1003/software/software.shtml http://www.vlsi.fi/vs1033/software/software.shtml http://www.vlsi.fi/vs1103/software/software.shtml http://www.vlsi.fi/plaer vs10xx proto/plaer.shtml Rev. 1.01 2007-11-06 Page 2(9)
2 Plugins Plugins enhance the normal decoder operation with extra features. If a plugin needs a lot of data processing, the extra CPU consumption must be taken into account and higher internal clock be used. VS1011/VS1002 Loudness Plugin The loudness package allows various tone controls b having twelve different frequenc enhancers. The package supports VS1011 and VS1002. Frequenc Response of Loudness Filter 4 5 0 Amplification / db 5 10 15 10 1 10 2 10 3 10 4 Frequenc / Hz Figure 1: Example of a loudness filter VS1011E, and other newer chips have both built-in bass and treble controls that can be used for tone control without this plugin. DTMF Generator With the DTMF Generator two sines can be added to the currentl plaing audio signal (or silence). The sine volume can be set, and the original volume can be decreased to prevent overflows. B recompiling ou can enable code that modulates one sine with the other. You can also configure left and right channels to have independent sine waves. Status: not et publicall released. Rev. 1.01 2007-11-06 Page 3(9)
VS1003B WMA Rewind Plugin This plugin makes WMA Rewind/Fast forward easier b implementing a resnchronization code that tries to find the ASF packet boundaries automaticall. It also has broadcast support (ignores file size) for web radio applications. The documentation also talks about how to adjust some streams slightl to make them plaable with the VS1003B ASF parser. Spectrum Analzer Plugin The spectrum analzer provides upto 23 analzer bands for implementing a graphical spectrum displa. The number of bands and the center frequencies are configurable. The analzer works for all audio file tpes. Hz 43 # 64 # 107 # 193 # 301 # 473 # 775 # 1205 # 1894 # 2756 # 4823 # 7579 # 12403 # 19982 # Currentl supported chips: VS1011B, VS1011E, VS1003B, VS1033B, VS1033C. Pitch Shifter / Tempo Change Plugin In some applications ou want to change the pitch of a song without changing the tempo (pitch shifter), or ou want to change the tempo without changing the pitch. Changing the sample rate would change the pitch, but also the tempo. A special algorithm is needed. This application implements both a pitch shifter and a tempo changer. The amount of pitch shift or tempo change can be controlled in real time through an SCI register. The pitch shift and tempo change works for all audio file tpes. Currentl supported chips: VS1002D, VS1003B, VS1033C. Rev. 1.01 2007-11-06 Page 4(9)
3 Applications Applications take over control of most of the harware, and the can not be combined with other loadable code. However, the can be loaded just when needed, and the VS11XX chip can be used in the normal decoding mode during other times. Standalone Plaer / Recorder This application implements a ver simple audio plaer with ver few additional components and without an external microcontroller. The code reads audio files from a FAT-formatted MMC/SD and decodes them with the ROM firmware. The user interface of the plaer consists of three buttons that control volume, next/previous song, pause mode, and random pla. In an alternative version an external microcontroller can command the plaer through the SCI bus. The newest version also supports high-capacit SD cards. A recorder version, in addition to plaing files, can take the microphone input, encode it into IMA ADPCM and save it on top of an existing VSRECORD.WAV file. Some features are left out compared to the plaer version to make this possible. The application is loaded from SPI EEPROM at startup, or it can be loaded through SCI b an external microcontroller. Currentl supported chips: VS1011E (no record), VS1002D, VS1003B, VS1033C. VS1003B 16/32-Button Plaer The 16/32-Button Plaer is a special version of the standalone plaer that supports upto 32 buttons. Uses line input for buttons. Currentl supported chips: VS1003B VS1103B / VS1003B / VS1033C Real-Time MIDI Input VS1003B / VS1033C can be used as a standalone real-time MIDI snthesizer that takes input from a generic MIDI keboard. A couple of components are needed to interface the UART RX pin to the MIDI OUT of the MIDI device. Also, an SPI EEPROM is required to load the boot code, or the code can be loaded through SCI b an external microcontroller. With VS1103B the Real-Time MIDI mode can be started without SPI EEPROM b having appropriate pull-up and pull-down resistors on GPIO pins after reset. See the VS1103B datasheet for details. Rev. 1.01 2007-11-06 Page 5(9)
8 khz Phone/Headset Application The Phone Application provides low-dela two-wa 8000 Hz audio with 12 MHz, 12.288 MHz, or 13 MHz input clock. The application also includes a programmable microphone monitor volume. MicVol Mic 16000Hz ^2 8000Hz buffer Data Output MonitorVol MainVol Ear 32000Hz ^2 + ^2 buffer 8000Hz Data Input Figure 2: Phone Application with 12.288 MHz Mic MicVol ^2 31250Hz ^ ^ 32 125 buffer Data Output 15625Hz 8000Hz MonitorVol MainVol Ear ^ + ^125 32 buffer Data Input 31250Hz 8000Hz Figure 3: Phone Application with 12 / 13 MHz Currentl supported chips: VS1002D, VS1003B. Rev. 1.01 2007-11-06 Page 6(9)
4 Patches Patch codes correct one or more problems in a specific firmware version. VS1002D/VS1003B MPEG2.5 Laer-3 8kHz Stereo Patch This patch corrects decoding problems with 8 khz stereo files. VS1003B/VS1033C Treble Patch This patch removes volume change disturbance when treble control is active. VS1011E/VS1033B/VS1033C MPEG2.0 Laer 2 Patch This patch is onl useful if laer I/II support (.MP1 and.mp2) is enabled. It enables the decoding of halfrate (24000Hz, 22050Hz, and 16000Hz) MP2 files. In VS1033C it also improves laer II decoding accurac. Rev. 1.01 2007-11-06 Page 7(9)
5 In Development We are also developing some interesting applications. VS1053 Ogg Vorbis Encoder The VS1053 stereo DAC with line-level inputs (or stereo MIC) begs for higherqualit, higher-frequenc, and lower-bitrate encoding than the current IMA AD- PCM encoding format can offer. VS1053 alread plas Ogg Vorbis, so encoding the data to Ogg Vorbis is an ideal solution: the qualit-to-bitrate ratio is high, and no licensing for the format is required. Two profiles will be provided at first: one for high-qualit stereo recording at a bitrate slightl above 100 kbit/s, and another for speech-qualit mono recording at a bitrate of less than 30 kbit/s. Echo Cancellation Phone Echo cancellation is an application that does not benefit ourselves, but the person on the other end. The other person s voice that is plaed on the headphones or speaker is removed from the microphone signal, so that onl our voice is sent back. Otherwise an intolerable echo keeps going back and forth, making it hard to keep up conversation. Upto 35 db attenuation can be achieved with the echo cancellation application. Decoder and PCM Mixer A separate PCM audio stream can be mixed together with decoded audio. This allows sound effects to be plaed on top of the main audio track. Decoder and Sound Effect Generator Mixer Various sound effects can be generated and mixed with decoded audio. This is intended for audible feedback of user interface events. Rev. 1.01 2007-11-06 Page 8(9)
6 Contact Information VLSI O Entrance G, 2nd floor Hermiankatu 8 FIN-33720 Tampere FINLAND Fax: +358-3-3140-8288 Phone: +358-3-3140-8200 Email: mp3@vlsi.fi URL: http://www.vlsi.fi/ Rev. 1.01 2007-11-06 Page 9(9)