Гид по технологиям

Как распознавать музыку на Linux с помощью SongRec

7 min read Linux Обновлено 27 Dec 2025
Распознавание музыки на Linux: SongRec (Shazam-клиент)
Распознавание музыки на Linux: SongRec (Shazam-клиент)

Что такое SongRec?

SongRec — бесплатный open-source клиент Shazam для Linux, написанный на Rust. Он отправляет аудиофрагменты на серверы Shazam для идентификации и возвращает название трека, исполнителя и альбом. Кратко о ключевых терминах:

  • Shazam — сервис распознавания музыки по аудиофрагменту.
  • Flatpak — система развёртывания приложений в изолированной песочнице.
  • CLI — интерфейс командной строки, позволяет работать через терминал.

Ключевые возможности

  • Распознавание через микрофон (с телефона или внешнего источника).
  • Распознавание «с динамиков» — запись аудио, которое воспроизводится локально.
  • Распознавание по аудиофайлу (mp3, wav и т. п.).
  • Графический интерфейс (GUI) и мощный CLI.
  • История распознаваний с экспортом в CSV.

a laptop playing songs

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-common

Arch 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
  1. В окне приложения выберите «Audio input» и выберите «default» или нужное устройство.
  2. Нажмите «Turn on microphone recognition», чтобы разрешить приложению слушать микрофон.

SongRec basic configuration

ALT: Окно настройки SongRec — выбор источника аудио и включение распознавания микрофона

1. Распознавание трека с другого устройства

Включите трек на телефоне или другом внешнем источнике и поднесите устройство ближе к динамику компьютера. SongRec прослушает фрагмент и через несколько секунд покажет результат в разделе Recognition results.

identifying song from another-device

ALT: SongRec отображает результаты распознавания трека с внешнего устройства

2. Открыть трек в YouTube

Нажмите «Search on YouTube» напротив результата — SongRec откроет найденный трек в вашем браузере.

3. Распознавание аудио, воспроизводимого на том же компьютере

В GUI поставьте галочку Recognize from my speakers instead of microphone, чтобы SongRec читал звук с локальных динамиков (через PulseAudio или PipeWire).

recognize audio from speaker

ALT: Включена опция распознавания с динамиков — фокус на выборе источника

Запустите воспроизведение локального аудиофайла — SongRec скоро выдаст результат.

4. Распознавание по аудиофайлу

Нажмите «Recognize from file», выберите файл в файловом диалоге и загрузите его — через пару секунд вы увидите информацию о треке.

5. История распознаваний

Все найденные треки сохраняются в Recognition history. Здесь вы можете просмотреть список и нажать «Wipe history», чтобы очистить его.

SongRec recognition history

ALT: История распознанных треков в интерфейсе SongRec

Как распознавать песни через CLI

CLI полезен для скриптов, для быстрого распознавания в терминале или для случаев, когда вы работаете удалённо.

  • Запуск GUI из терминала:
songrec
  • Распознавание и вывод результата в терминале (запустите и воспроизведите источник):
songrec recognize

identifying songs via CLI

ALT: Пример вывода распознавания музыки в терминале через SongRec

  • Последовательное распознавание нескольких треков в режиме прослушивания:
songrec listen

identifying songs via CLI

ALT: Терминал показывает несколько результатов распознавания подряд

Чтобы остановить режим listen, нажмите Ctrl + C.

  • Распознавание по локальному файлу:
songrec recognize file_name.mp3

identifying song on device

ALT: Результат распознавания аудиофайла в терминале

Экспорт истории SongRec в CSV

По умолчанию SongRec хранит историю распознаваний в файле song_history.csv в каталоге ~/.local/share/SongRec.

Проверьте файл так:

cd ~/.local/share/SongRec
ls -la
cat song_history.csv

export SongRec history

ALT: Содержимое файла song_history.csv, выведенное в терминал

Если вы не видите файл, откройте GUI и нажмите Export to CSV — в диалоге Text Import нажмите OK, и CSV будет сгенерирован.

export SongRec history

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 отлично подходит.

Методология тестирования и критерии приёмки

Мини-методология для валидации распознавания:

  1. Подготовьте 20 треков разных жанров (поп, рок, классика, электроника, джаз).
  2. Для каждого трека возьмите три варианта источника: телефон через микрофон (средняя громкость), воспроизведение локального файла и фрагмент с шумихой/перекрытием.
  3. Для каждого запуска фиксируйте: время распознавания, совпадение названия/исполнителя, наличие ошибки.
  4. Критерии приёмки: не менее 80% корректных совпадений для чистых записей.

Критерии приёмки

  • GUI успешно распознаёт 8 из 10 чистых треков.
  • CLI успешно распознаёт локальные файлы в 9 из 10 случаев.
  • Экспорт CSV генерируется и открывается в LibreOffice без ошибок.

Руководство по устранению неполадок

  1. SongRec не видит микрофон:
    • Проверьте, работает ли микрофон в других приложениях.
    • Если установлен Flatpak — предоставьте разрешения: flatpak override –user –talk-name=org.freedesktop.Flatpak com.github.marinm.songrec (либо используйте графические настройки Flatseal).
  2. Пустые результаты или «No match»:
    • Убедитесь, что фрагмент содержит музыку минимум 5–10 секунд.
    • Попробуйте повысить громкость или отключить шумы.
  3. 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.

Примечание: если нужно, могу подготовить компактную пошаговую инструкцию для вашей конкретной дистрибуции или шаблон тестовой матрицы для оценки качества распознавания в вашей среде.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Исправление популярных проблем Windows 7
Windows

Исправление популярных проблем Windows 7

Как открыть DMG и установить приложение на Mac
macOS

Как открыть DMG и установить приложение на Mac

Ответ на отказ в работе — образцы и стратегия
Карьера

Ответ на отказ в работе — образцы и стратегия

Исправление раздражающих проблем Windows 10
Советы

Исправление раздражающих проблем Windows 10

AFWall+ для Android: настройка брандмауэра
Безопасность

AFWall+ для Android: настройка брандмауэра

Регулировка яркости фонарика на Android и Samsung
Смартфоны

Регулировка яркости фонарика на Android и Samsung