Audisen Music Player
ISEN CIR 3 - 2024
Role
Developer / Welder
Duration and Result
3 Weeks - 16,8/20
Team
2 people
Links
Overview
The Audisen Music Player project aimed to develop a system that allows users to compose, play, and listen to melodies by combining digital and analog technologies. Divided into three parts— computing, microcontroller, and analog —this project enables users to create playlists from digitized audio files. The first step involves transforming a simplified musical score into a set of instructions, which are then formatted into a specific file (.ams).
The .ams files are then grouped into playlists in (.amp) format and sent to a microcontroller via a USB connection. This microcontroller plays a crucial role in managing the selection and execution of melodies. With a user interface featuring an LCD screen and push buttons, users can easily navigate through the available melodies.
Finally, an analog board processes the audio signal, adding effects such as enhancement and distortion. These processes enrich the listening experience while maintaining sound quality. DSysComp1_22
Goal
Designing an audio player
The primary objective was to develop a music player capable of reading .ams files and converting them into audio signals. The project aimed to bring together skills in computing, digital electronics (STM32), and analog electronics while applying concepts of C programming, microcontroller management, and circuit soldering.
The final system was to offer a simple and efficient interface for loading tracks, navigating between them, and playing them with integrated sound effects, all while maintaining optimal sound quality through the analog component.
Context
Educational framework
This project is part of the common core curriculum in the third year at ISEN. It spanned three weeks, with more than 100 hours of work for each pair of students. Supervision was provided by teachers specializing in electronics and computer science.
The project was carried out in pairs, allowing for an equitable distribution of tasks. Each member's skills were utilized to ensure the project's success, whether in design, component soldering, or software implementation.
Process and Methodology
Development organization
The project was divided into several stages:
Initial study and design: This phase involved analyzing requirements, defining the system architecture, and preparing mock-ups for the user interface and the analog circuit.
Software development: Writing the program in C for managing audio files, playlists, and communication between the PC and the STM32 board via USB. The user interface (IHM) was developed to enable navigation between tracks.
Electronic design and soldering: This phase included soldering electronic components onto the board and establishing connections between the different parts of the system. The analog signal processing was particularly important to ensure correct sound quality.
Testing and validation: Each module was individually tested and then integrated to form a complete system capable of reading audio files and applying sound effects in real-time.
Challenges Faced and Solutions
Technical difficulties and adjustments made
Converting musical scores into .ams files required optimization of the format to allow easy manipulation by the microcontroller. We had to implement a file segmentation system in 'ticks' to ensure note synchronization.
Soldering components required great precision, particularly to avoid short circuits. The connection between the digital and analog parts of the system also required special care to ensure audio signals were processed correctly.
Results
Final deliverable
The final system allows for:
Composing and playing melodies using files in .ams and .amp format.
Easily navigating between tracks via the LCD interface.
Applying real-time audio effects through the analog board, thereby enhancing the listening experience.
The project was evaluated with an average score of 16.8/20 (18.44/20 in C, 15.32/20 in Analog Electronics, and 16.70/20 in STM32), highlighting the quality of implementation and effective management of the different components of the project, whether digital or analog.
Lessons Learned and Skills Gained
Final feedback
This project allowed me to strengthen my skills in several areas:
C programming for microcontrollers: Development of embedded software for managing audio files and communication with external devices.
Electronic design and soldering: I gained practical experience in assembling and soldering electronic components to create a functional circuit.
Audio signal processing: Implementing filters and sound effects via an analog circuit.