Mixxx — свободный DJ-софт для Linux, который превращает ноутбук и MIDI-контроллер в полноценный пульт: две деки, кроссфейдер, эффекты, сэмплеры, запись сета и вещание. Программа поддерживает ALSA, JACK и PipeWire, работает с большинством популярных контроллеров и не требует подписки. В статье — установка, настройка звука с низкой задержкой, подготовка библиотеки, маппинг контроллера и диагностика.
Установка и проверка версии
sudo apt update
sudo apt install mixxx
mixxx --version
mixxx --help
В репозиториях Ubuntu и Debian версия может отставать; для свежей сборки используйте официальный PPA проекта или Flatpak org.mixxx.Mixxx. Перед установкой обновите систему: старые библиотеки Qt и SoundTouch иногда конфликтуют с новыми сборками. Запустите mixxx —help, чтобы увидеть доступные ключи командной строки.
Звуковая подсистема и права
Современные дистрибутивы используют PipeWire, который предоставляет и PulseAudio, и JACK-совместимый интерфейс. Mixxx может работать через ALSA напрямую или через PipeWire-JACK. Для задержки ниже 10 мс нужны права на реальное время и достаточный лимит блокируемой памяти.
wpctl status
aplay -l
systemctl --user status pipewire
sudo usermod -aG audio "$USER"
После добавления в группу audio перезайдите в сессию. Проверьте, что карта не занята другим приложением: браузер и мессенджеры иногда удерживают устройство в монопольном режиме.
sudo tee /etc/security/limits.d/95-mixxx.conf >/dev/null <<'EOF'
@audio - rtprio 95
@audio - memlock unlimited
EOF
ulimit -r -l
Значения rtprio и memlock должны примениться после нового входа. Если ulimit показывает старые числа, проверьте, нет ли в /etc/security/limits.d файла с более поздним именем, который переопределяет лимиты.
Настройка звука в Mixxx
Откройте Preferences → Sound Hardware. Для встроенной карты выберите ALSA или PipeWire, частоту 48 кГц и буфер 256–512 сэмплов. Меньший буфер снижает задержку, но повышает риск щелчков и xrun. Для внешнего аудиоинтерфейса используйте его драйвер, если он есть в Linux, либо JACK.
ls -la ~/.mixxx/
cp ~/.mixxx/mixxx.cfg ~/.mixxx/mixxx.cfg.bak
grep -A8 "\[Soundcard\]" ~/.mixxx/mixxx.cfg
Файл mixxx.cfg хранит выбранные устройства и маршрутизацию. Резервная копия пригодится после экспериментов: сброс настроек звука иногда проще сделать заменой файла. Не правьте конфиг при запущенной программе — при выходе она перезапишет изменения.
Библиотека и анализ треков
Preferences → Library указывает каталоги с музыкой. Mixxx читает теги и раскладывает треки по жанрам, исполнителям и плейлистам. Форматы MP3, FLAC, Ogg Vorbis, WAV и AIFF поддерживаются из коробки; для AAC и некоторых контейнеров может понадобиться дополнительный кодек.
mid3v2 -l track.mp3
metaflac --list track.flac | head -40
ffprobe -v error -show_entries format=duration,bit_rate track.flac
Анализ BPM и тональности запускается из контекстного меню библиотеки. Для электронной музыки проверяйте сетку бита вручную: алгоритм ошибается на треках с переменным темпом и на живой записи. Результат анализа хранится в базе библиотеки, поэтому после большой чистки тегов сделайте её копию.
sqlite3 ~/.mixxx/mixxxdb.sqlite ".tables"
База полезна для поиска дублей и проверки путей, но не редактируйте её вручную без копии: схема может измениться между версиями.
Контроллер и маппинг
Preferences → Controllers показывает подключённые устройства. Для распространённых моделей есть готовые маппинги, для остальных работает мастер обучения: нажмите Learn, выберите элемент интерфейса и поверните ручку на контроллере. Пользовательские файлы лежат в ~/.mixxx/controllers, системные — в /usr/share/mixxx/controllers.
ls /usr/share/mixxx/controllers | head -30
ls ~/.mixxx/controllers
mixxx --version
Если контроллер определяется, но не реагирует, проверьте, не занят ли MIDI-порт другим приложением, и включите отладочный вывод в настройках. Для сложных сценариев используется JavaScript-маппинг: он позволяет менять поведение кнопок и добавлять индикацию.
Auto DJ, запись и вещание
Auto DJ ставит треки из очереди и делает кроссфейд по заданному времени. Функция удобна для фоновой музыки, но не заменяет живой сет: следите за порядком треков и громкостью. Запись включается в Preferences → Recording; для архива выбирайте WAV или FLAC, для публикации — MP3 с достаточным битрейтом.
Вещание настраивается через Icecast или Shoutcast. Используйте только музыку, права на которую у вас есть, и не публикуйте чужой контент без разрешения. Для теста достаточно локального сервера и прослушивания потока в браузере.
Эффекты и сэмплеры
Встроенные эффекты включаются на каждую деку отдельно: фильтр, эхо, реверб, фленджер. Сэмплеры — четыре банка по шестнадцать ячеек, удобно для джинглов и вокала. Не перегружайте мастер-цепочку: обилие эффектов съедает CPU и повышает задержку.
Подготовка сета
Перед выступлением прогрейте библиотеку: проверьте, что все треки открываются, теги читаются, а анализ не запускается во время игры. Создайте плейлист на два-три часа с запасом, отметьте точки входа и выхода, проверьте громкость.
Экспорт плейлиста в M3U пригодится для резервного плеера. Держите копию сета на флешке: если ноутбук откажет, выступление не остановится. Заранее проверьте кабели и блок питания: разряженный аккумулятор — самая частая причина внезапной остановки.
Диагностика xrun и зависаний
pw-top
journalctl --user -u pipewire -b --no-pager | tail -30
cat /proc/asound/card*/pcm*/sub*/status
pw-top показывает загрузку графа PipeWire и количество xrun. Если ошибки растут, увеличьте буфер, отключите энергосбережение USB-контроллера и проверьте, не мешает ли Wi-Fi. journalctl подскажет, если PipeWire перезапускался из-за ошибки драйвера.
Резервная копия и перенос
tar -czf mixxx-backup-$(date +%F).tar.gz ~/.mixxx
du -h mixxx-backup-*.tar.gz
sha256sum mixxx-backup-*.tar.gz
Архив содержит настройки, маппинги и базу библиотеки, но не сами аудиофайлы. При переносе на другой компьютер проверьте пути: если музыка лежит в другом каталоге, библиотеку придётся пересканировать.
Типичные проблемы
- щелчки и треск — увеличьте буфер и проверьте xrun в pw-top;
- контроллер не виден — смените USB-порт и закройте приложения, занявшие MIDI;
- нет звука на наушниках — проверьте маршрутизацию выходов в Sound Hardware;
- библиотека пуста — добавьте каталог и запустите повторное сканирование.
Итог
Mixxx закрывает задачи домашнего и клубного DJ в Linux: низкая задержка при правильных правах и буфере, библиотека с анализом BPM, гибкий маппинг контроллера и запись сета. Начните с проверки звуковой карты и лимитов, затем перенесите библиотеку и настройте контроллер. Резервная копия каталога ~/.mixxx сохранит часы работы, а pw-top и journalctl помогут найти причину щелчков быстрее, чем переустановка.