如何使用 SongRec:在 Linux 上识别歌曲的最佳 Shazam 客户端

当您想到音乐识别时,Shazam 可能是您首先想到的服务。 它完全免费使用,可用于移动设备上的 Android 和 iOS,以及桌面端的 macOS 和 Windows。 不幸的是,Linux 没有桌面客户端。

那么如何在 Linux 上识别音乐呢? 好吧,事实证明,有一个非官方的 Shazam 客户端可以帮助您在 Linux 上识别音乐。 它被称为 SongRec,它可以做的比官方 Shazam 服务更多。

跟随我们演示它在 Linux 上的使用。

什么是 SongRec?

SongRec 是一个免费和开源的 沙赞 Linux 客户端。 它是用 Rust 编写的,可以通过多种方式帮助您识别歌曲。 除了允许您通过麦克风/扬声器识别音频(大多数歌曲识别服务都会这样做)之外,SongRec 还允许您通过存储在计算机上的音频文件识别歌曲。

SongRec 历史记录下提供了所有已识别歌曲的列表。 此外,您甚至可以选择将其导出为 CSV 文件,以便在切换设备时记录您的 Shazam 歌曲。

SongRec 的突出功能之一是能够通过 CLI 识别歌曲,这是您在大多数音乐识别服务上看不到的,包括 Shazam(在 Mac 和 Windows 上)。

如何在 Linux 上安装 SongRec

SongRec 可通过存储库和 Flatpak 获得。 根据您在计算机上使用的 Linux 发行版,请按照以下说明安装 SongRec:

在 Debian/Ubuntu 上,打开终端并运行以下命令:

sudo apt-add-repository ppa:marin-m/songrec
sudo apt install songrec

要在 Arch Linux 上安装它,请使用:

sudo pacman -S songrec

在其他 Linux 发行版上,您可以通过 Flatpak 安装 SongRec。 为此,首先,通过打开终端并运行以下命令来确保您的系统具有 Flatpak:

flatpak --version

如果这返回一个版本号,例如 Flatpak 1.6.5,这意味着您的系统上存在 Flatpak,您可以继续安装 SongRec。 但是,如果没有,您必须先安装 Flatpak。 按照我们的 Flatpak 指南了解如何执行此操作。

安装 Flatpak 后,返回终端并运行以下命令来安装 SongRec:

flatpak install flathub com.github.marinm.songrec

由于 Flatpak 包在沙箱中运行,如果您通过 Flatpak 安装它,您将无法使用 SongRec 的某些 CLI 功能。

如何使用 SongRec GUI 识别歌曲

SongRec 支持 GUI 和 CLI 在 Linux 上识别音频。 因此,根据您希望如何识别机器上的歌曲,请按照以下部分中的说明进行操作。

无论您使用哪种安装方法在您的机器上安装 SongRec,您都将在“应用程序”菜单中获得快速访问快捷方式。 继续运行它以启动 SongRec。

SongRec GUI 启动后,执行以下操作:

  1. 点击 音频输入 下拉并选择 默认.
  2. 点击 开启麦克风识别 按钮启用麦克风。

1. 识别在另一台设备上播放的歌曲

如果您的手机或其他设备上有您想要识别的歌曲,请开始播放它并将设备靠近运行 SongRec 的 Linux 桌面。 等待几秒,SongRec 会在下面返回歌曲名称、艺术家和专辑 识别结果.

2.听一首完整的歌曲

如果您想听一首刚刚确定的歌曲,请单击 搜索 YouTube 搜索结果中的按钮,SongRec 将打开歌曲 YouTube 在您的默认网络浏览器中。

3. 识别在同一设备上播放的歌曲

与识别在其他设备上播放的歌曲类似,如果桌面上有您想要识别的音频片段,SongRec 也可以帮助您。

为此,打开 SongRec 并勾选 从我的扬声器而不是麦克风识别 复选框以允许 SongRec 收听您的扬声器。

现在,转到包含您要识别和播放的音频文件的目录。 给 SongRec 几秒钟,它会返回所有歌曲的详细信息。

4.通过音频文件识别歌曲

除了识别在后台播放的歌曲外,SongRec 还使您能够通过音频文件确定歌曲。 为此,请单击 从文件中识别 SongRec 主屏幕上的按钮,然后使用文件资源管理器选择音频文件以将其上传到 SongRec。 很快,您将在应用程序上看到有关该歌曲的所有详细信息。

5.查看歌曲历史

随着时间的推移,当您使用 SongRec 时,您会积累一个包含所有已识别歌曲的列表。 SongRec 将其保存供您将来参考,您可以在下面找到它 认可历史 在右侧。

要清除识别历史,点击 擦除历史 按钮。

使用 CLI 使用 SongRec 识别歌曲

虽然 SongRec 的图形界面非常直观且运行良好,但如果您更喜欢在终端中工作,您可以使用 SongRec 的 CLI 来识别歌曲。

在 SongRec 中识别歌曲的一种快速方法是从终端启动其 GUI,如下所示:

songrec

这样做将以图形方式运行 SongRec 并开始识别在另一台设备或同一台机器上播放的歌曲。 但是,如果您想在终端本身中查看输出,请在其他设备或同一台机器上播放音频并使用以下命令:

songrec recognize

输出:

同样,您还可以在终端内连续识别多首歌曲。 为此,请运行以下命令,SongRec 将开始识别音乐:

songrec listen

输出:

要停止识别,请点击 Ctrl + C.

最后,如果您想从系统上存在的音频文件中识别歌曲,您可以从终端轻松完成。 为此,首先,使用 cd 和 ls 命令导航到包含音频文件的目录,然后运行此命令来识别其音频:

songrec recognize file_name.mp3

输出:

将 SongRec 历史记录导出为 CSV

SongRec 默认将您识别的歌曲保存在 CSV 文件中。 要找到它,请打开终端并 cd 进入 ~/.local/share/SongRec. 接下来,输入 ls 命令列出所有文件和目录。 在这里,您应该会看到一个名为 song_history.csv. 要查看其内容,请输入:

cat song_history.csv

输出:

如果由于某种原因在 SongRec 下找不到 CSV 文件,请打开 GUI 并点击 导出为 CSV 按钮。 这将打开一个 文本导入 对话框。 点击 好的 生成 CSV,并将其加载到 LibreOffice Calc 等 CSV 阅读器中。

准确识别 Linux 计算机上的音乐

SongRec 使在 Linux 上识别歌曲变得异常容易。 它完美无瑕,可以识别各种流派的歌曲。

尽管还有其他 Linux 音乐识别工具,但 SongRec 的性能远胜于它们,因为它依赖 Shazam 的服务器进行识别,这使得它在识别歌曲方面非常准确。

我们希望本指南为您提供一个良好的开端并帮助您导航 SongRec,以便您可以识别 Linux 机器上的歌曲。

此外,如果您有兴趣了解 Shazam 的工作原理,我们也会为您提供这方面的服务。