| SCHOOL | School of Music and Optoacoustic Technologies | ||
| ACADEMIC UNIT | Department of Music Technology and Acoustics | ||
| LEVEL OF STUDIES | Undergraduate | ||
| COURSE CODE | 0807.5.006.1 | SEMESTER | 1st |
| COURSE TITLE | Audio Application Programming | ||
|
INDEPENDENT TEACHING ACTIVITIES if credits are awarded for separate components of the course |
WEEKLY TEACHING HOURS |
CREDITS |
| 0 | 7 | |
| Total | 0 | 7 |
| COURSE TYPE general background, special background, specialised general knowledge, skills development |
|
| PREREQUISITE COURSES | None |
| LANGUAGE OF INSTRUCTION and EXAMINATIONS | English |
| OFFERED TO ERASMUS STUDENTS | Yes (in English) |
| COURSE WEBSITE (URL) | https://eclass.hmu.gr/courses/SMOT160/ |
| Learning outcomes |
The aim of the course is to provide a solid foundation in digital signal processing and the development of audio applications, with an emphasis on applications that require real-time processing. Upon successful completion of the course, students will be able to: Understand the fundamental components involved in the development of audio applications. Understand the programming practices required to access and configure audio hardware (e.g., number of channels, block size, sampling rate, etc.). Be familiar with the programming tools and platforms used for the acquisition, analysis, synthesis, playback, and processing of digital audio signals. Adapt digital signal processing methods to audio applications that require real-time processing. Develop audio applications for desktop and mobile computing platforms. |
| General Competences |
The course aims to develop the following general competencies: Ability to search for, analyze, and synthesize data and information using appropriate technologies. Ability to adapt to new situations. Ability to work independently. Ability to work effectively as a member of a team. Ability to promote free, creative, and inductive thinking. |
Theory Python Variables Lists, dictionaries, sets, and tuples Functions and classes Memory management Audio files and digital audio encoding Real-time audio C++ Variables, functions, and classes Pointers and vectors Vector processing using functions The JUCE framework Programming audio effects in C++ Developing real-time audio applications with JUCE Laboratory Exercises Python Variables and dictionaries Programming static sound generators Functions, classes, and sound generators Memory management and audio encoding Implementing simple effects for real-time audio processing C++ Variables, functions, and classes Vector operations using pointers Implementing a distortion effect Implementing sound generators with real-time parameter control Implementing a delay effect Implementing a tremolo effect Implementing a chorus effect |
| DELIVERY Face-to-face, Distance learning, etc. |
On-site | ||||
| USE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY Use of ICT in teaching, laboratory education, communication with students |
Google colab, eclass, JUCE, Microsoft Visual Studio Community Edition |
||||
| TEACHING METHODS The manner and methods of teaching are described in detail. |
|
||||
| STUDENT PERFORMANCE EVALUATION Description of the evaluation procedure |
Intermediate and final exercises. |