如何使用SongRec:最好的Shazam客户端用于识别Linux上的歌曲
如果您发现自己听到一首不知道名字的歌曲,SongRec 可以满足您的需求。下面介绍如何在 Linux 上使用 SongRec 识别歌曲。
当您想到音乐识别时,您首先想到的可能是 Shazam。它完全免费,适用于移动设备上的 Android 和 iOS,以及桌面设备上的 macOS 和 Windows。不幸的是,Linux 没有桌面客户端。
那么如何在 Linux 上识别音乐呢?事实证明,有一个非官方的 Shazam 客户端可以帮助您在 Linux 上识别音乐。它叫做 SongRec,它的功能比官方 Shazam 服务多得多。
请跟随我们演示它在 Linux 上的用法。
什么是 SongRec?
SongRec 是一款适用于 Linux 的免费开源 Shazam 客户端。它是用 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. 识别在另一台设备上播放的歌曲
如果您的手机或其他设备上有一首想要识别的歌曲,请开始播放该歌曲并将该设备靠近运行 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 文件中。要找到它,请打开终端并进入 ~/.local/share/SongRec。接下来,输入 ls 命令列出所有文件和目录。在这里,您应该看到一个名为 song_history.csv 的文件。要查看其内容,请输入:
cat song_history.csv
输出 :
如果由于某种原因,您在 SongRec 下找不到 CSV 文件,请打开 GUI 并点击导出为 CSV 按钮。这将打开一个文本导入对话框。单击确定生成 CSV,并将其加载到 CSV 阅读器(例如 LibreOffice Calc)中。
准确识别 Linux 计算机上的音乐
SongRec 使在 Linux 上识别歌曲变得异常简单。它工作完美,可以识别各种流派的歌曲。
尽管还有其他 Linux 音乐识别工具,但 SongRec 的性能远远优于它们,因为它依赖 Shazam 的服务器进行识别,这使得它在识别歌曲方面相当准确。
我们希望本指南能让您抢占先机,并帮助您导航 SongRec,以便您可以在 Linux 计算机上识别歌曲。
此外,如果您有兴趣了解 Shazam 的工作原理,我们也为您提供了这方面的信息。