Skip to content

0xastro/Additive-Synthesizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Additive-Synthesier

This project is a real-time emulation of an additive synthesizer (the classical Mini Moog). In this system we relay on the \textbf{pthread} library for multi-threading programming. The system is responsible for the generation of the following wave-forms (sine, triangle and square) as described in the model below. Each with a specific frequency notes decided by users and then they are added/integrated together after they are passing through a dedicated Band Pass Filter (BPF).

System Model

Task Set

The following periodic task sets have been managed using SCHED_RR scheduling policy

  1. TASK Graphics: allocated for rendering the graphics.
  2. TASK Keyboard: Actively poll the keyboard to trigger and control the frequency notes of each wave
  3. TASK Wave-forms: each waveform has an independent periodic tasks.
  4. TASK Audio handles the Integration of the wave-forms and passing the generated buffer through the audio card driver.

To compile

mkdir build && cd build
cmake ..
make

P.S: Must be copied to Allegro5 repo: https://github.com/liballeg/allegro5 and compiled from there.

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy