Presentation is loading. Please wait.

Presentation is loading. Please wait.

Embedded Ogg Vorbis Audio Player Team Members: Trang Pham Luke Reisner Jason Winchell Advisor: Advisor: Prof. Dongming Zhao University of Michigan-Dearborn.

Similar presentations


Presentation on theme: "Embedded Ogg Vorbis Audio Player Team Members: Trang Pham Luke Reisner Jason Winchell Advisor: Advisor: Prof. Dongming Zhao University of Michigan-Dearborn."— Presentation transcript:

1 Embedded Ogg Vorbis Audio Player Team Members: Trang Pham Luke Reisner Jason Winchell Advisor: Advisor: Prof. Dongming Zhao University of Michigan-Dearborn

2 Introduction to Ogg Vorbis Ogg Vorbis is an audio compression format, similar to MP3 (MPEG-1 Layer 3 audio)Ogg Vorbis is an audio compression format, similar to MP3 (MPEG-1 Layer 3 audio) Ogg Vorbis audio has two primary advantages over MP3 audio:Ogg Vorbis audio has two primary advantages over MP3 audio: 1)The Ogg Vorbis audio format is free and open source, whereas MP3 software must be licensed 2)The Ogg Vorbis format is more efficient than MP3, producing higher quality audio at equivalent file sizes Introduction to Ogg Vorbis

3 Player Features The goal was to design and implement an embedded digital audio player that supports Ogg VorbisThe goal was to design and implement an embedded digital audio player that supports Ogg Vorbis Audio files are read from CompactFlash memory cardsAudio files are read from CompactFlash memory cards The user interface consists of an LCD display and several push buttonsThe user interface consists of an LCD display and several push buttons Audio is outputted through a 2.5 mm jackAudio is outputted through a 2.5 mm jack Open source software was used to implement the playerOpen source software was used to implement the player

4 Player Requirements Support playback of all common formats of Ogg Vorbis audioSupport playback of all common formats of Ogg Vorbis audio Be able to read files from CompactFlash cards with a directory structureBe able to read files from CompactFlash cards with a directory structure Handle dynamic swapping of memory cardsHandle dynamic swapping of memory cards Provide a fast and accurate response to the userProvide a fast and accurate response to the user Support common play modes and custom playlistsSupport common play modes and custom playlists Enable the user to control various aspects of audio playbackEnable the user to control various aspects of audio playback Have memory usage suitable for an embedded systemHave memory usage suitable for an embedded system

5 Technical Specifications Audio formats: 8 or 16-bit, mono/stereo, 11-44 kHz, and 32- 192 kbpsAudio formats: 8 or 16-bit, mono/stereo, 11-44 kHz, and 32- 192 kbps Memory card file system: FAT16 with directory and long file name support, at least 64 MB in sizeMemory card file system: FAT16 with directory and long file name support, at least 64 MB in size Memory card detection: insert or eject at any timeMemory card detection: insert or eject at any time Player response time: 0.25 seconds or lessPlayer response time: 0.25 seconds or less Play modes: once, repeat, sequential, randomPlay modes: once, repeat, sequential, random Playlists: user-created, unlimited number of songsPlaylists: user-created, unlimited number of songs Audio control: volume, equalization, stop, pause, seekAudio control: volume, equalization, stop, pause, seek Memory usage: 4 MB ROM, 16 MB RAMMemory usage: 4 MB ROM, 16 MB RAM

6 Subsystems Linux kernel development (Luke)Linux kernel development (Luke)  Audio device driver  PCMCIA  CompactFlash memory card driver Audio player application (Trang and Jason)Audio player application (Trang and Jason) –User interface (Trang)  LCD output  Pushbutton input –Low level control (Jason)  Audio playback  Memory card management

7 Design Constraints High cost of development hardware limited the choice of the microcontrollerHigh cost of development hardware limited the choice of the microcontroller Lack of time and resources, as well as the physical size of the development board, prevented the implementation of a portable designLack of time and resources, as well as the physical size of the development board, prevented the implementation of a portable design High cost of graphic LCDs led to the use of an LCD that requires a separate controller and doesn’t have touch-screen supportHigh cost of graphic LCDs led to the use of an LCD that requires a separate controller and doesn’t have touch-screen support

8 Design Choices Operating system (open source, commercial, or custom)Operating system (open source, commercial, or custom) –Linux was chosen due to its lack of licensing fees, completely open source code, and large user base Audio playback (interrupt-driven or DMA-based)Audio playback (interrupt-driven or DMA-based) –Interrupt-driven was selected because it was simpler to develop and provided acceptable performance Player application (single-threaded or multi-threaded)Player application (single-threaded or multi-threaded) –Multi-threaded implementation was used to increase responsiveness and simplify the coding of parallel tasks

9 Hardware Block Diagram

10 Software Block Diagram

11 Test Results Plays 8 or 16-bit, mono or stereo, 8-48 kHz, and 32-192 kbps audioPlays 8 or 16-bit, mono or stereo, 8-48 kHz, and 32-192 kbps audio Handles directory navigation and long file namesHandles directory navigation and long file names Supports memory cards up to 64 MB (in theory 128 TB)Supports memory cards up to 64 MB (in theory 128 TB) Memory cards can be swapped, except while bufferingMemory cards can be swapped, except while buffering All audio operations occur in less than 0.5 secondsAll audio operations occur in less than 0.5 seconds Handles once, repeat, sequential, and random play modesHandles once, repeat, sequential, and random play modes Supports volume control, stopping, pausing, and seekingSupports volume control, stopping, pausing, and seeking Requires less than 3 MB of ROM and 24 MB of RAMRequires less than 3 MB of ROM and 24 MB of RAM No support for custom playlists or audio equalizationNo support for custom playlists or audio equalization

12 Conclusions and Future Work Implementation of the audio player was mostly successfulImplementation of the audio player was mostly successful –Majority of the desired features were implemented, although a portable hardware solution wasn’t completed The player should help the spread of Ogg Vorbis and open-source softwareThe player should help the spread of Ogg Vorbis and open-source software –Full source code will be made available to the public In the future, the following extensions could be made:In the future, the following extensions could be made:  Adapt the design to work as a small, portable audio player  Add player features, such as custom playlist support and audio equalization, or even PDA functions

13 Acknowledgements Acknowledgements Academic AdvisorAcademic Advisor –Prof. Dongming Zhao Course InstructorsCourse Instructors –Prof. Malayappan Shridhar –Prof. Paul Watta Software ConsultationSoftware Consultation –Prof. Natarajan Narasimhamurthi Hitachi SemiconductorHitachi Semiconductor –Robin Blanton MontaVista SoftwareMontaVista Software –John Waldron Creative ControlsCreative Controls –Heather Young Dearborn GroupDearborn Group –Mark Zachos

14 Feedback Any questions, comments, or suggestions?


Download ppt "Embedded Ogg Vorbis Audio Player Team Members: Trang Pham Luke Reisner Jason Winchell Advisor: Advisor: Prof. Dongming Zhao University of Michigan-Dearborn."

Similar presentations


Ads by Google