A convenient and interactive platform designed for Digital Signal Processing (DSP) training and learning, with a strong emphasis on Audio Processing. Whether you're a beginner looking to understand the basics or an experienced developer aiming to refine your skills, this platform offers the tools and flexibility you need to explore and optimize audio effects.
- WAV File Handling: Easily select and load WAV files, which are processed and played back as NumPy ndarray streams.
- Effect Chain Management: Add, remove, and manage a chain of audio effects to modify your sound in real-time.
- Custom Effect Development: Implement your own audio effects by adhering to a predefined interface, update the effects map, and integrate your effects seamlessly into the platform.
- Iterative Optimization: Continuously edit and improve your custom effects to achieve the desired audio results.
- Spectrum Analyzer: Visualize the frequency spectrum of your audio in real-time, helping you understand the impact of your changes and optimize your effects effectively.
- Select a WAV File: Use the file selector on the main screen to choose a WAV file you wish to process.
- Play Audio: Click the play button to start streaming and listening to the audio as a NumPy ndarray.
- Add Effects: Navigate to the effects section to add desired effects to your audio chain and Use predefined effects or build your own custom effects.
- Visualize with Spectrum Analyzer: Observe the real-time frequency spectrum of your audio to understand how your effects influence the sound.
to make your own effect, first taje a look at the AudioEffect directory, it's a special directory where all the effects are written into, the program knows to read all the new files, to adjust all the system itself by only this directory!
- create new
.pyfile inside AudioEffects (lower case ane '_' between every word), for examplemy_effect.py(later will be showen in the program as "MyEffect"). - inherente from
EffectInterfaceclass -> this class represents all the requiered features needed:process()andget_effect_arguments()(!) without these functions the system wont work! - inside
AudioEffect/effect_object_map.py, add your new effet to theeffect_class_mapdict. - run the program and test your DSP creation!
- Install Python 3.10 or higher
- Install Pip
- Install Rust
- more py libs: librosa, sounddevice, matplotlib, tkinter
- run "python3 update.py" to run theupdate script (if you want to use the Rust libs)
- run "python3 app.py"

