VS1000 Code Applications

These are examples of complete VS1000 based products. Use these as part of your own application or simply choose one that has the closest features you need. All examples are self contained.

VS1000 Audio Book

This example implements an audio book application for VS1000 Developer Board with display and a menu system. The menu can also be browsed while playing. Bookmarks, backlight timer, and volume settings are saved to FLASH. Keylock is also available.

Audio to be played is selected from the menu, in book, chapter, or section level. When audio is played, the current section name is displayed. Books, chapters and sections can be indexed in millisecond resolution. Multiple books can be in the same .ogg file to reduce the Ogg Vorbis header overhead.

Updated: 31.10.2008
Download: VS1000book092.zip
Download: vs1000book.pdf
Download: vs1000booksrc092b.zip (updated 28.4.2009)

Nand Firmware 1.11  Ogg Vorbis Player Extensions

A generic software for VS1000 that can be compiled to use different extra features. These features include saving the position and volume setting at power-off and, connecting MMC/SD cards, adding a matrix keyboard to support upto 16 keys, and using a RC5 remote controller to control the player. Also contains the VS1000 developer library. See source code and attached documentation for details.

Updated: 12.9.2008
Download: nandfirmware111.zip
Download: nandfirmware.pdf

USB flash drive and Ogg player using SPI flash

This example code implements a custom logical disk mapper interface, that is capable of implementing a USB flash disk using SPI NOR flash such as the Winbond 25X16 in 4 kilobyte segments. The software supports reading, erasing and programming the SPI flash.  When VS1000 device is detached from the USB, it switches from USB flash disk to player and starts to play Ogg Vorbis files from the serial flash.

Tested with VS1000B, Winbond 25X16 and Windows XP Professional. Measured performance: 1 megabyte file was written in 55 seconds when the eeprom was blank (no need to erase). When writing over already written data, writing the same file took 1 minute 35 seconds.

See code documentation for FAT12 subdirectory limitations.
Note 28.10.2008: FAT12 limitations do not apply to VS1000D devices.

For further information, see the TinyPlayer Support Page.

Updated: 31.1.2008
Download: spiusb.c, source code (without subdirectory support).
Download: vs1000b_25X16_spiflash_usb_player.img, example EEPROM image (with limited subdirectory support).

USB Speakers + Flash Disk + Ogg Player using Nand Flash

This example implements USB Audio (USB Speakers) and USB Mass Storage (USB Flash "memory stick") functions at the same time so you can listen to music while copying files to the nand flash. When detached from the USB, it will play Ogg Vorbis songs from the Nand Flash.

This example is designed to use Single Level Cell Nand Flash for the memory.

See mkformat and mkformat documentation for instructions on how to burn the software image to the nand flash.
This example works with VS1000 Developer Board hardware.

Updated: 28.10.2008

Download: usbspk.c - C source (compilable with vskit 1.34)
Download: nf_usbspk.img - compiled boot image for nand flash booting

 

USB Speakers + SD Card Reader/Writer + Ogg Player using MMC or SD card

This example implements USB Audio (USB Speakers) and USB Mass Storage (MMC/SD Card Reader/Writer) functions at the same time so you can listen to music while copying files to the SD Card. When detached from the USB, it will play Ogg Vorbis songs from the SD Card.

Contact VLSI Audio Solution Support for information on which pins to use for the SD card connection.

Updated: 29.10.2008

Download: mmci.c - C source (compilable with vskit 1.34 using libraries from nandfirmware)

 

USB Recorder : USB Speakers + Microphone + SD Card Reader/Writer + USB Audio Recorder + Microphone Recorder + OGG/WAV Player using VS1000 and SD Card

This example implements a multi-function USB Audio (USB Speakers + USB Microphone) + USB Mass Storage (MMC/SD Card Reader/Writer) device with many integrated functions. For example it is possible to record USB audio in lossless CD quality to the SD Card or use it as a voice memo recorder.

Compiles with vskit 1.34 with new libraries. Source code : Beta version available

Download: USB Recorder Presentation
Download: Schematics, BOM, Source Code

Updated: 13.3.2009

 

Single File Ogg Vorbis Player with Seamless Looping

A small example project that overwrites the player loop and declares a new version of PlayCurrentFile() which loops the played Ogg Vorbis file seamlessly over and over again without missing any samples. The example is for VS1000B / VS1000C and a 128KB...16MB serial SPI flash (24 bit address), but the playloop and PlayCurrentFile() function can be extracted to be used with any storage medium.

Updated: 5.11.2007
Download: loop_spi.c, source code.
Download: sine-1second-256KB-spiflash.img, eeprommable example file that loops a 1-second sine .ogg file.
Created with VS1000 Pre-programmed Player Image Generator v0.31.