SongRec Ваш персональный Shazam для Linux

Когда услышал крутой трек, но не знаешь его название
Знакомо чувство, когда в кафе или в чужой машине звучит потрясающая мелодия, а спросить название не у кого? Коммерческие сервисы вроде Shazam решают эту проблему, но что делать, если вы пользователь Linux и хотите открытую альтернативу? На помощь приходит SongRec — клиент Shazam с открытым исходным кодом, написанный на Rust.
Что это за проект?
SongRec — это:
- Настольное приложение для Linux с GUI интерфейсом
- Консольная утилита для интеграции в скрипты
- Альтернатива проприетарным сервисам распознавания музыки
- Открытая реализация алгоритма Shazam
Проект особенно понравится:
- Любителям музыки, которые хотят сохранять историю распознанных треков
- Разработчикам, интересующимся обработкой аудио
- Пользователям Linux, ценящим открытые решения
Главные возможности
-
Распознавание из любого источника
- С микрофона в реальном времени
- Из аудиофайлов (MP3, FLAC, WAV, OGG)
- Прямо с колонок (через PulseAudio)
-
Двойной интерфейс
- Графический интерфейс с историей распознаваний
- Консольная версия для автоматизации
-
Гибкость использования
- Экспорт истории в CSV
- Выбор аудиоустройства
- Разные режимы работы (однократное/непрерывное распознавание)
-
Технические преимущества
- Написано на Rust (быстро и безопасно)
- Минимальная передача данных (отправляются только аудиоотпечатки)
- Поддержка FFmpeg для работы с разными форматами
Как это работает?
SongRec использует тот же принцип, что и оригинальный Shazam:
- Создается спектрограмма звука (график частот во времени)
- Выделяются характерные частотные пики
- Эти «отпечатки» сравниваются с базой Shazam
Интересно, что отправляется не сам звук, а только его цифровой «слепок» — последовательность пар (частота, время). Это обеспечивает конфиденциальность — нельзя восстановить оригинальный звук из этих данных.
Установка за 5 минут
Для пользователей Arch Linux:
sudo pacman -S songrec
Для Ubuntu/Debian:
sudo apt-add-repository ppa:marin-m/songrec
sudo apt install songrec
Или через Cargo (для всех дистрибутивов):
cargo install songrec --no-default-features -F gui,ffmpeg,pulse,mpris
Примеры использования
Через графический интерфейс:
songrec gui
Из командной строки:
# Распознать файл
songrec recognize sound.mp3
# Непрерывное распознавание с микрофона
songrec listen
Экспорт истории в CSV:
songrec history-to-csv > my_songs.csv
Почему это круто?
- Контроль над данными — история хранится локально
- Гибкость — можно интегрировать в свои скрипты
- Производительность — Rust обеспечивает быстрое выполнение
- Прозрачность — открытый код вместо «чёрного ящика»
Кому стоит попробовать?
- Меломанам, которые хотят вести каталог услышанных треков
- Разработчикам, изучающим обработку аудиосигналов
- Всем, кто ищет open-source альтернативу коммерческим сервисам
SongRec — отличный пример того, как открытое ПО может повторять функционал проприетарных решений, давая пользователям свободу и контроль. Если вы давно хотели «Shazam для Linux», теперь он у вас есть!
