Как распознавать музыку на Linux с помощью SongRec
Что такое SongRec?
SongRec — бесплатный open-source клиент Shazam для Linux, написанный на Rust. Он отправляет аудиофрагменты на серверы Shazam для идентификации и возвращает название трека, исполнителя и альбом. Кратко о ключевых терминах:
- Shazam — сервис распознавания музыки по аудиофрагменту.
- Flatpak — система развёртывания приложений в изолированной песочнице.
- CLI — интерфейс командной строки, позволяет работать через терминал.
Ключевые возможности
- Распознавание через микрофон (с телефона или внешнего источника).
- Распознавание «с динамиков» — запись аудио, которое воспроизводится локально.
- Распознавание по аудиофайлу (mp3, wav и т. п.).
- Графический интерфейс (GUI) и мощный CLI.
- История распознаваний с экспортом в CSV.

ALT: Ноутбук, на котором воспроизводится музыка — иллюстрация использования SongRec для распознавания треков
Установка SongRec на Linux
Важно: способ установки зависит от вашей дистрибуции. Ниже — инструкции для популярных дистрибуций и универсальный вариант через Flatpak.
Debian / Ubuntu
Откройте терминал и выполните команды:
sudo apt-add-repository ppa:marin-m/songrec
sudo apt update
sudo apt install songrecЕсли вы не уверены, что команда apt-add-repository доступна, установите пакет software-properties-common:
sudo apt install software-properties-commonArch Linux
В Arch-based системах (включая Manjaro) используйте pacman:
sudo pacman -Syu songrecЛюбая дистрибуция через Flatpak
Flatpak удобен, если пакет отсутствует в репозитории вашей системы. Сначала проверьте, установлен ли Flatpak:
flatpak --versionЕсли команда вернула номер версии — продолжайте. Если нет, установите Flatpak по инструкции для вашего дистрибутива.
Далее установите SongRec из Flathub:
flatpak install flathub com.github.marinm.songrecПримечание: Flatpak запускает приложения в песочнице. Некоторые функции CLI (например, прямой доступ к устройствам записи) могут быть ограничены.
Быстрые рекомендации после установки
- Перезапустите сеанс (выход/вход) после установки через Flatpak, чтобы меню приложений обновилось.
- Если SongRec не видит микрофон или «звуковую карту», проверьте разрешения Flatpak или PulseAudio/ PipeWire настройки.
Как распознавать песни через GUI
Запустите SongRec через меню приложений или из терминала командой:
songrec- В окне приложения выберите «Audio input» и выберите «default» или нужное устройство.
- Нажмите «Turn on microphone recognition», чтобы разрешить приложению слушать микрофон.
ALT: Окно настройки SongRec — выбор источника аудио и включение распознавания микрофона
1. Распознавание трека с другого устройства
Включите трек на телефоне или другом внешнем источнике и поднесите устройство ближе к динамику компьютера. SongRec прослушает фрагмент и через несколько секунд покажет результат в разделе Recognition results.
ALT: SongRec отображает результаты распознавания трека с внешнего устройства
2. Открыть трек в YouTube
Нажмите «Search on YouTube» напротив результата — SongRec откроет найденный трек в вашем браузере.
3. Распознавание аудио, воспроизводимого на том же компьютере
В GUI поставьте галочку Recognize from my speakers instead of microphone, чтобы SongRec читал звук с локальных динамиков (через PulseAudio или PipeWire).
ALT: Включена опция распознавания с динамиков — фокус на выборе источника
Запустите воспроизведение локального аудиофайла — SongRec скоро выдаст результат.
4. Распознавание по аудиофайлу
Нажмите «Recognize from file», выберите файл в файловом диалоге и загрузите его — через пару секунд вы увидите информацию о треке.
5. История распознаваний
Все найденные треки сохраняются в Recognition history. Здесь вы можете просмотреть список и нажать «Wipe history», чтобы очистить его.
ALT: История распознанных треков в интерфейсе SongRec
Как распознавать песни через CLI
CLI полезен для скриптов, для быстрого распознавания в терминале или для случаев, когда вы работаете удалённо.
- Запуск GUI из терминала:
songrec- Распознавание и вывод результата в терминале (запустите и воспроизведите источник):
songrec recognizeALT: Пример вывода распознавания музыки в терминале через SongRec
- Последовательное распознавание нескольких треков в режиме прослушивания:
songrec listenALT: Терминал показывает несколько результатов распознавания подряд
Чтобы остановить режим listen, нажмите Ctrl + C.
- Распознавание по локальному файлу:
songrec recognize file_name.mp3ALT: Результат распознавания аудиофайла в терминале
Экспорт истории SongRec в CSV
По умолчанию SongRec хранит историю распознаваний в файле song_history.csv в каталоге ~/.local/share/SongRec.
Проверьте файл так:
cd ~/.local/share/SongRec
ls -la
cat song_history.csvALT: Содержимое файла song_history.csv, выведенное в терминал
Если вы не видите файл, откройте GUI и нажмите Export to CSV — в диалоге Text Import нажмите OK, и CSV будет сгенерирован.
ALT: Кнопка экспорта истории распознаваний в CSV в интерфейсе SongRec
Совет: CSV можно открыть в LibreOffice Calc, Excel или загрузить в аналитику для дальнейшей обработки.
Когда SongRec может ошибаться
Важно понимать ограничения:
- Шумы и эхо ухудшают результаты. SongRec точнее при чистом и коротком фрагменте (~5–10 секунд).
- Ремиксы, кавер-версии и живые записи иногда не совпадают с эталонной записью Shazam.
- Очень редкие или локальные релизы могут отсутствовать в базе Shazam.
- Если звук слишком тихий или перекрыт голосами, идентификация может не сработать.
Примеры неудач: распознавание фрагмента со сценического выступления в сочетании с аплодисментами или отрывок из дорожного радио с сильными вставками дикторов.
Альтернативные инструменты и подходы
- AudD — API для распознавания музыки (коммерческий сервис).
- ACRCloud — облачное распознавание аудио, часто используется в профессиональных интеграциях.
- AcoustID/Chromaprint — распознавание через акустические отпечатки (alternative matching), не всегда совпадает с Shazam.
- Онлайн-сервисы и мобильные приложения (SoundHound и т. п.).
Выбор зависит от целей: если нужно интегрировать распознавание в своё приложение — смотрите коммерческие API с поддержкой SLA. Если нужна простая локальная утилита — SongRec отлично подходит.
Методология тестирования и критерии приёмки
Мини-методология для валидации распознавания:
- Подготовьте 20 треков разных жанров (поп, рок, классика, электроника, джаз).
- Для каждого трека возьмите три варианта источника: телефон через микрофон (средняя громкость), воспроизведение локального файла и фрагмент с шумихой/перекрытием.
- Для каждого запуска фиксируйте: время распознавания, совпадение названия/исполнителя, наличие ошибки.
- Критерии приёмки: не менее 80% корректных совпадений для чистых записей.
Критерии приёмки
- GUI успешно распознаёт 8 из 10 чистых треков.
- CLI успешно распознаёт локальные файлы в 9 из 10 случаев.
- Экспорт CSV генерируется и открывается в LibreOffice без ошибок.
Руководство по устранению неполадок
- SongRec не видит микрофон:
- Проверьте, работает ли микрофон в других приложениях.
- Если установлен Flatpak — предоставьте разрешения: flatpak override –user –talk-name=org.freedesktop.Flatpak com.github.marinm.songrec (либо используйте графические настройки Flatseal).
- Пустые результаты или «No match»:
- Убедитесь, что фрагмент содержит музыку минимум 5–10 секунд.
- Попробуйте повысить громкость или отключить шумы.
- CLI не запускается:
- Проверьте путь до исполняемого файла: which songrec
- Убедитесь, что пакет установлен и обновлён.
Конфиденциальность и данные
SongRec отправляет отпечатки аудио на серверы Shazam для распознавания. Это означает:
- Аудио-отпечатки обрабатываются сторонней службой (Shazam).
- Если для вас критична локальная обработка без отправки данных в облако — SongRec не подходит.
- Для корпоративного использования уточняйте политику конфиденциальности Shazam и соответствие требованиям вашей компании и регуляторов.
Совместимость и миграция
- SongRec работает на современных дистрибутивах Linux. Старые системы с устаревшими библиотеками могут требовать сборки из исходников.
- При смене машины: скопируйте файл ~/.local/share/SongRec/song_history.csv, чтобы перенести историю распознаваний.
Безопасность и рекомендации
- Запускайте приложения из доверенных репозиториев или Flatpak из Flathub.
- Не предоставляйте лишние права Flatpak без необходимости. Для тонкой настройки используйте Flatseal.
- При работе в shared-environment (например, публичные терминалы) очищайте историю распознаваний.
Чек-листы для ролей
Пользователь:
- Установить SongRec через пакетный менеджер или Flatpak.
- Провести тест распознавания с телефоном.
- Экспортировать историю в CSV при необходимости.
Системный администратор:
- Проверить зависимости, кодеки и доступ к PulseAudio/PipeWire.
- Настроить разрешения Flatpak и политические правила безопасности.
Разработчик:
- Проверить работу CLI в автоматизированных сценариях.
- Добавить логирование и мониторинг ошибок распознавания.
Короткое объявление (анонс, 100–200 слов)
SongRec — простой и мощный клиент Shazam для Linux. Он распознаёт музыку через микрофон, «с динамиков» и по аудиофайлам. Доступен в репозиториях Debian/Ubuntu и Arch, а также через Flatpak. SongRec поддерживает графический интерфейс и удобный CLI для скриптов и автоматизации. Историю распознаваний можно экспортировать в CSV. Это отличное решение для тех, кто хочет быстро идентифицировать треки на Linux без использования мобильного телефона или сторонних платных API.
Краткий словарь
- GUI — графический интерфейс программы.
- CLI — командная строка (терминал).
- CSV — текстовый формат для табличных данных.
- Flatpak — система развёртывания приложений в изолированной среде.
Итог
SongRec даёт простую и надёжную возможность распознавать музыку на Linux как в GUI, так и в терминале. Для большинства пользователей это самый удобный бесплатный способ получить информацию о треке без необходимости пользоваться мобильным приложением. Помните об ограничениях: шум и редкие записи могут мешать идентификации, а при необходимости локальной приватной обработки ищите офлайн-решения или коммерческие API с соответствующими контрактами.
Важно: если вы используете Flatpak-версию и сталкиваетесь с ограничениями микрофона или доступом к файлам, проверьте настройки разрешений Flatpak и PulseAudio/PipeWire.
Примечание: если нужно, могу подготовить компактную пошаговую инструкцию для вашей конкретной дистрибуции или шаблон тестовой матрицы для оценки качества распознавания в вашей среде.
Похожие материалы
Исправление популярных проблем Windows 7
Как открыть DMG и установить приложение на Mac
Ответ на отказ в работе — образцы и стратегия
Исправление раздражающих проблем Windows 10
AFWall+ для Android: настройка брандмауэра