-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Learning Resources
This page has some resources to learn background information that may help you contribute to Mixxx.
We recommend you review these sections of the Qt documentation to get familiar with aspects of Qt that we use heavily:
If you're not familiar with C++, The Cherno Project on YouTube has a good series dedicated to the core concepts.
As a start, we highly recommend these resources from the Xiph.org Foundation for background information on digital and analog signal processing:
- Time Waits For Nothing: brief introduction to the challenges of writing realtime code (for audio or other purposes)
-
C++ in the Audio
Industry
- one-hour talk from CppCon describing the challenges of audio software engineering.
-
Programming with Lightweight Asynchronous Messages: Some Basic
Patterns
- blog post from Ross Bencina (PortAudio author) about common audio signal processing patterns.
- Real-time 101, a two-hour talk about real-time development. Focuses on issues of real-time threads and their communication with the outside world. Part I: Investigating the real-time problem space and Part II: The real-time audio developer’s toolbox.
These resources go more in depth about signal processing. Unless you're writing effects code, you probably don't need to know this much detail to work on Mixxx.
- Ethan Winer's book The Audio Expert explains everything from decibels to digital-to-analog converters to equalizers.
- MIT OpenCourseWare lectures:
* [[https://ocw.mit.edu/resources/res-6-008-digital-signal-processing-spring-2011/index.htm|Digital Signal Processing]]: Video lecture. There's also lecture notes, proposed exercises and their solutions for each video.
- Coursera courses:
* [[https://www.coursera.org/course/audio|Audio Signal Processing for Music Applications]]
* [[https://www.coursera.org/course/dsp|Digital Signal Processing]]
- Julius O. Smith (CCRMA) online books:
* [[https://ccrma.stanford.edu/~jos/mdft/|Mathematics of the Discrete Fourier Transform (DFT)]]
* [[https://ccrma.stanford.edu/~jos/filters/|Introduction to Digital Filters]]
* [[https://ccrma.stanford.edu/~jos/pasp/|Physical Audio Signal Processing]]
* [[https://ccrma.stanford.edu/~jos/sasp/|Spectral Audio Signal Processing]]
- Do-It-Yourself Digital Signal Processing. Site with a huge list of online lectures, FAQs and other resources for learning DSP for music applications.
* [[https://diydsp.com/livesite/pages/home#DSP_Theory|DSP Theory]]
* [[https://diydsp.com/livesite/pages/home#DSP_FAQs|DSP FAQs]]
* [[https://diydsp.com/livesite/pages/home#DSP_Books|DSP Books]]
- Music DSP. Site with a huge database of DSP code.
- The Art of VA Filter Design by Vadim Zavalishin (Native Instruments)
Mixxx is a free and open-source DJ software.
Manual
Hardware Compatibility
Reporting Bugs
Getting Involved
Contribution Guidelines
Coding Guidelines
Using Git
Developer Guide
Creating Skins
Contributing Mappings
Mixxx Controls
MIDI Scripting
Components JS
HID Scripting