Fetching the latest programs, projects, and workspace data.

DJ Mixing App With Powerful Features For All DJs
Showing 5 of 13 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Priyanshuwu
Currently, Mixxx uses PortAudio as a high level abstraction over audio APIs across all supported platforms, which only exposes the common subset of all those APIs, missing Linux specific features and conventions. This implementation will add Pipewire audio API support to Mixxx for Linux, listen for PipeWire events to support soundcard hotplug and update routing UI according to changes made in an external patchbay. It will also allow Mixxx to route audio to and from any source/sink. This proposal also attempts to achieve ALSA comparable latency with the PipeWire backend.
Mentors: Student: Ayush Sah
This project will rebuild the LateNight skin as a 100% native QML interface, serving as an act of architectural liberation for the Mixxx codebase. By unwiring decades of complex, hardcoded C++ widget logic, the skin will be migrated to a dynamic, GPU-accelerated declarative ecosystem. This involves writing a dedicated C++ QmlThemeProvider bridge to manage dynamic JSON color palettes and assets, converting legacy WidgetStacks to fluid QML state machines, and assembling the deck structure using scalable DelegateChooser layouts. This deep structural re-engineering ensures the LateNight skin remains performant, responsive, and infinitely customizable for community derivatives on modern and portable hardware.
Mentors: Student: Swarnadip Kar
DJ software today has no reliable way to confirm that two audio files are the same specific mastering of a track. AcoustID uses only the first 120 seconds of audio for identification, returning a confidence percentage rather than a definitive match — meaning different masterings of the same recording end up grouped under the same MusicBrainz ID. This makes it impossible to safely share DJ metadata (beat grids, cue points, BPM shift points) between users. This project builds the Mixxx-side foundation for the Canonical Master Release Track (CMRT) system: a new database table storing complete Chromaprint fingerprints, an AnalyzerChromaprint pipeline step that fingerprints entire tracks, mastering duplicate detection in the library, pregap offset calculation between files of the same mastering, and scaffolding for future MusicBrainz sharing. The CMRT — the highest-quality local copy of a mastering — becomes the anchor for all shared metadata, enabling the larger DJ-Intelligence vision of exchanging accurate BPM, key, and POI data between DJs worldwide.
Mentors: Student: Antonio Giordano
Mixxx currently allows assigning a single free-text genre to each track, which often leads to inconsistencies such as duplicate or fragmented categories (e.g., "Hip-Hop", "Hip Hop", "Hiphop"). This project proposes a complete rework of genre metadata handling, introducing three key features: local genre autocompletion with fuzzy matching, support for assigning multiple genres to a single track, and optional online genre suggestions using MusicBrainz and Discogs APIs. As a long-term extension, the project also explores a customizable genre mapping layer, enabling users to define how external genres are grouped or renamed according to personal preferences. Deliverables include: a redesigned genre database schema, enhanced UI for editing and filtering genres, API integration for genre lookups, and internal tools for mapping and translation of genre labels.
Mentors: Student: Armaan_Chowfin
Mixxx uses a linear interpolation when scratching. This is blazing fast, but the sound can be improved by providing more accurate resampling techniques. This project involves a review of the currently used resample libraries RubberBand and Soundtouch and a comparison with other candidates. The one with the best Sound/CPU load trade off shall be selected. Another key requirement is supporting on the fly changing of the sample rate without artefacts. This project may also involve contributing a missing feature to an existing resample library. https://github.com/mixxxdj/mixxx/issues/9328