开源音乐播放器!

news2024/10/1 15:01:30
导读音乐是生活的一部分。维基百科关于音乐发展历史的文章有这样一段不错的描述说:“全世界所有的人们,包括哪怕是最孤立、与世隔绝的部落,都会有自己的特色音乐……”好吧,我们开源人就构成了一个部落。我建议我们的“音乐形式”应该包括开源音乐播放器。

在过去几年里,我已经使用体验过不少我能接触到的音乐播放器;2016 年 12 月份我根据这六个标准来总结概括了我使用开源音乐播放器的感受:

  1. 必须是能够通过设置让音乐一成不变地转换到 ALSA。(最高分 5分)
  2. 应该有一个不错的“智能播放列表”。(1 分)
  3. 不应该强迫用户只能通过播放列表来进行交互。(1 分)
  4. 应该能够提供一个简单的方法来显示歌曲的封面图片——使用内嵌的封面图或使用在音乐目录里面 cover.jpg(或者 .png)文件替代。
  5. 应该能够在音乐播放的时候显示信号级别和实际比特率。(1 分)
  6. 能够呈现出不错的整体组织,结构布局和执行性能。(1 分)

热心的读者让告诉我有三个播放器是在我的资源仓库里没有的:Aqualung、Lollypop 和 GogglesMM。我并不想在我办公用的电脑里面安装那些来自外面的软件,我承诺过我会配置一个“试验台”来测试这三个音乐播放器,并给出测试的细节。

Aqualung

Aqualung 有一个写的清晰明了的网站来解释它众多的特点。其上提供的说明中我发现其中一点特别有趣:

“你能够(也应该)将你的所有音乐按照艺术家/档案/声轨这样组织成一个树型结构,这样比生成一个一体化的 Winamp/XMMS 播放列表更舒服。”

这点让我有些困惑,因为我总是把我的音乐按照艺术家、专辑和声轨这样组织成树状。但这就可能解释了为什么我有时发现 XMMS 流派的播放器在浏览音乐时有一点古怪。

根据 Aqualung 官网的下载页面说明,官方发布的只有源代码。但是文档上的说明暗示了绝大多数主流的 Linux 发行版本都包括一份 Aqualung 的构建副本,但我当前用的办公电脑所使用的 Linux 发行版 Ubuntu 16.10 并不在此范围内。Launchpad.net 提供有 PPA,但那些软件看起来都有些过时了,所以为什么不试试编译源码安装软件呢?
我根据官网上编译文档的建议和配置脚本的提示安装了 pkgconf 以及 libasound、libflac、libmp3lame、libvorbis、libxml2、libglib2.0 和 libgtk+-2.0 的开发库。接下来,我就能够干净利索的进行 configure 然后进行 make 和 make install。最终我可以执行 /usr/local/bin/aqualung 了。

开源音乐播放器!开源音乐播放器!

Aqualung,不能切换音乐播放的码率。

一旦 Aqualung 启动运行,我就能看到相当简洁直接的两窗口界面:播放器本身和“音乐商店”。我通过右键点击播放器的音乐面板打开参数设置查看这些可设置的参数,看是否能找到 AudioQuest DragonFly 这个数模转换器,但我没有找到任何相关的迹象。然而,站点上的说明指出可以通过命令行指定输出设备。最终我用 plughw 设备才让 Aqualung 启动起来。

在那个时候,真正让我对 Aqualung 感到失望的是 Aqualung 似乎是需要一个固定的输出采样频率。我能够用 Aqualung 播放器的默认设置来正常播放我的 44.1 Khz 文件,但是同样的采样频率播放 96 Khz 的音乐文件时,我不得不关闭软件并重新启动。也正是因为这一点,我不会再继续对 Aqualung 进行使用测评。

无评分。

Lollypop

开源音乐播放器!开源音乐播放器!

优美的 Lollypop 用户界面。

Lollypop 有一个华丽的网站。尽管它不在我办公专用的电脑的软件仓库里面,但是有一个“针对 Ubuntu/Debian 用户的下载”链接带你跳转到 launchpad.net 站点提供的最新的 PPA。这个站点还提供针对 Flatpak、Arch Linux、Fedora 和 OpenSUSE 这些系统的 Lollypop 软件包的下载。我看了下 Fedora COPR 上针对各个 Fedora 版本的 Lollypop 下载链接,看起来 Lollypop 更新的比较及时而且从 Fedora 版本的 23 到 26 都有对应的软件包提供下载安装。
一天内做一次源码编译就足够了,所以我决定试试从 PPA 安装这款软件。我通过命令行来执行 Lollypop 软件。设置菜单能够在 Lollypop 界面的右上方很显眼地看见。更新完我的音乐后,我开始找电脑的输出设备设置,但是在一番查看后,我不知道该怎么选择合适的输出设备。即便我在命令行通过 -help 也找不到有用的帮助信息。

经过一番网上搜索后我找到一个 Lollypop 的开发者的提示才知道我需要 gstreamer libav 来让 Lollypop 工作。通过这个说明我决定停止,因为这可能需要一个 gstreamer 相关配置才有能工作,但是我不太想继续尝试了。

Lollypop 有一个优美的用户交互界面和它的优美的网站相得益彰,但是我现在不会进一步对它进行测评,否则我就又多了一个进一步去学习了解 gstreamer 的理由。

无评分。

GogglesMM

Goggles Music Manager 也有一个在 launchpad.net 及时更新的 PPA;安装流程简单明了,我现在可以在命令行执行 gogglesmm 了。

GogglesMM,非常容易上手使用,看上去和 Rhythmbox 有点像。我在 GogglesMM 的设置里面的参数设置中找到了音频选项设置,能够让我选择 ALSA 和设置音频输出设备。通过查看 /proc/asound/DragonFly/stream0 文件和 DragonFly 自己的 LED 颜色,我确定我能够用 GogglesMM 播放 44.1-KHz/21-bit 和 96-KHz/24-bit 这两种规格的 mp3;因此,就凭 “rate/depth passthrough” 我给 GogglesMM 打 5 分。

开源音乐播放器!开源音乐播放器!

GogglesMM

*GogglesMM 在播放 96/24 这种规格的音乐,显示音频输出设备选择。 *
GogglesMM 的说明文档并没有大量的细节介绍,但是我尽可能说明的是,开发者们使用了过滤器来实现类似“智能播放列表”的功能。我在我的测试环境下使用三张专辑来尽我所能检测过滤功能,当我使用“智能播放列表”功能的时候尽管我喜欢我看到的通过过滤筛选出来的歌曲(特别是能够基于广泛的标准来针对歌曲定义筛选条件),但这并不是我认为的“智能播放列表”,对我来说我认为“智能播放列表”应该是这样的,通过借助一些社区数据库来推荐提供和你近期播放的歌曲类似的曲目。或者我该把这个叫作“自动的 DJ”而不是“智能播放列表”,但是通过测试我最终能够确定的是,这个特性并不会在近期版本的 GogglesMM 中出现,所以我给它这个所谓的“智能播放列表”打 0 分。

至于播放列表队列的操作,这款应用能够支持播放你选中的音乐,也能够随机播放音乐或者把一些音乐整合到一个播放列表里面,所以我因为“播放列表的队列选项”给它打 1 分。

同样的,它看起来也能够很好地不需要额外的干预来管理我的音乐艺术封面(每个专辑都包含一张合适的艺术封面, GogglesMM 可以自动识别),所以为“内嵌的艺术封面或者封面图片”打 1 分。

我找不到任何方法来让 GogglesMM 显示信号级别或者实际的比特率。我也不能找到显示比特率和位深度的方法;尽管这款应用能够显示一个“格式”列,但是在我的音乐栏里面除了显示音乐格式不会显示其他的信息了,所以为 GogglesMM 的“信号级别和有效比特率”打 0 分。

至于 GogglesMM 的整体结构,它的所有按钮选项都正好完全符合我的使用习惯。我能够在播放队列里面看到歌曲的时间和歌曲当前已播放的时间所占歌曲总体时间的比例,专辑封面,歌曲名,专辑名和歌唱者。可用的播放栏列表看起来相当大而有用,比如也包括了作曲者。最后,一个真正让我眼前一亮的特点是,音量控制竟然包含了 ALSA 音量。也就是如果我启动 alsamixer 的话,然后不管是在 alsamixer 还是在 GogglesMM 里面调整音量,另一个音量控制也会做相应的音量调整。这个出乎我意外之外的功能相当的酷而且这个功能在其他的音乐播放器上也不常见,因此为它的整体架构给 GogglesMM 加 1 分。

最终 GogglesMM 的这些优点共计得分 8。所表现出来的特点确实很优秀。

评分:8

到目前为止所给出的评分

我之前所提到的这几个开源音乐播放器中,我最喜欢的还是 Guayadeque,根据我制定的标准来进行排名的话,我给 Guayadeque 打满分 10 分。来看下我对这三个开源音乐播放器的评分总结吧(N/R 代表“无评分”,因为我不确定如何配置这些播放器来让它们以完美的码率和贯穿模式工作,以便我的数模信号转换器在相应源的码率和位深度接收 PCM 数据):

开源音乐播放器!开源音乐播放器!

Open source audio players

请注意下我用的这个排名方法并不适合每个人。特别是很多人并不清楚高品质音乐的价值,他们更喜欢专有格式的音乐能够给他们带来更好的音乐品质。
与此同时,我会继续评测一些之前向大家承诺的音乐播放器一些和评测评分无关的特性。我特别喜欢 Lollypop 的外观,我也觉得待揭秘的 gstreamer 有一种神秘的魅力,它能让基于 gstreamer 的音乐播放器不用通过转换就能传输它们的数据。

关于音乐的部分……

我还在保持继续购买唱片的习惯,对于唱片的购买我有些不错的推荐。

第一个就是 Nils Frahm 的专辑 Felt,这是我女儿送我的一份非常贴心的礼物。我真的真的很喜欢这张专辑,它的绝大部分歌曲都是在深夜用电麦录制的非常接近钢琴的弦乐,而且也有不少有趣的钢琴演奏的背景音乐,真的是很棒的音乐。至于 Nils Frahm 其他的音乐,这些唱片提供的下载链接允许你下载质量高达 96-KHz,24-bit FLAC 格式的音乐。

第二个就是 Massive Attack 的专辑 Protection 的 Mad Professor 的重混版,专辑名是 No Protection。你可以在这里了解这份专辑,并且如果你想要尝试这份专辑最原始的版本,这里是它的所有汇总信息。该专辑最初发布于 20 世纪 90 年代,这份专辑刻录在唱片上面而且听起来非常奇幻。遗憾的是,不提供下载链接。

第三个就是 Bayonne 的 Primitives。这是专辑要表达的想法。Guardian 报社把这份专辑称作是“新式无聊”。那么这种类型的音乐到底怎么样呢?如果这些音乐真的是非常令人乏味的,或许是时候来换份工作了,无论如何你可以试试听这些音乐;或许你会觉得它确实很乏味或者你会像我一样喜欢上这份音乐。

(图片来源:互联网档案馆书中的图片;由 Opensource.com 编辑发布。遵循 CC BY-SA 4.0 协议。)

作者简介:

Chris Hermansen - 自 1978 年毕业于 British Columbia 大学后一直从事计算机相关工作,2005 年之前是 Solaris、SunOS、UNIX System V 的忠实用户,之后是 Linux 的忠实用户。在技术方面,我的职业生涯大部分时间都是在做数据分析;特别是空间数据分析。拥有丰富的和数据分析相关的编程经验,用过的编程语言有 awk,Python、PostgreSQL、 PostGIS 和 最新的 Groovy。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1072295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

halcon 算子shape_trans

shape_trans 函数原型:shape_trans(Region : RegionTrans : Type : ) 函数作用:变换区域的形状 参数列表: Region(in):被变换的区域 RegionTrans(out):变换后的区域…

【SmartApi】内网局域网API调试开发工具下载使用说明-v1.0.1

最近的一些年经常在内网环境下进行开发工作,尤其是比较敏感的单位或者组织是有严格规定不能使用哪些软件或者是不能访问外网的。 但开发工作需要的各种软件工具又因为一些营销策略而要联网激活,这就和组织单位的要求相悖了。于是就萌发了开发内网局域网软…

Ajax跨域访问,访问成功但一直走error不走success的的问题解决

Ajax跨域访问,访问成功但一直走error不走success的的问题解决 通过搜索各种资料,终于解决啦,废话不多说了,还是老规矩直接上代码: 我这里用了jsonp,有想了解的点击 : jsonp 前端代码: $.ajax({type:post…

无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同

“/”应用程序中的服务器错误。 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Se…

第二证券:汽车产业链股活跃,恒勃股份、博俊科技“20cm”涨停

轿车产业链股9日盘中走势活跃,截至发稿,恒勃股份、博俊科技“20cm”涨停,德迈仕涨超17%,上声电子涨超14%,川环科技涨超10%,圣龙股份、科华控股、沪光股份、上海沿浦、日盈电子、赛力斯等均涨停。 工作方面…

Linux 部署 MinIO 分布式对象存储 配置为 typora 图床

前言 MinIO 是一款高性能的对象存储系统,它可以用于大规模的 AI/ML、数据湖和数据库工作负载。它的 API 与Amazon S3 云存储服务完全兼容,可以在任何云或本地基础设施上运行。MinIO 是开源软件,也提供商业许可和支持 MinIO 的特点有&#x…

30分钟快速搭建并部署一个免费的个人博客

1前言 现如今网上有许多完善的博客平台,如博客园、掘金、思否、知乎等。有人会说为什么现在网上有这么多成熟的博客平台,你还要浪费时间搭建一个自己的博客系统呢?首先我相信每一个程序员都会想要拥有一个属于自己的博客系统,其次…

算法备案一定要抓紧了!独立开发者群体观察笔记;关于大模型的36句内幕和真话;电子书-人工智能原理揭秘 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🔥 提个醒!算法备案的事情,要抓紧提上日程,以后审批会越来越紧 节前国内AI网站倒了一批又一批&#x…

一文读懂Base64

这几天在和第三方交互的时候,对方返回的数据是base64格式的数据,所以这两天又彻底捋了下Base64的来龙去脉。之前看过一篇文章说的非常好(再找到给加上链接),我在这不详细说明了,只说转换过程。 还是使用中…

ClickHouse进阶(二十二):clickhouse管理与运维-服务监控

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Kerberos安全认证-CSDN博客 📌订阅:拥抱独家专题,你的订阅将点燃我的创作热情! 👍点赞:赞同优秀创作,你的点赞是对我创…

平凡工作也能创造奇迹:学习公文的写作逻辑和技巧

引言 如何把平凡的工作写出光环 📜 很多初入职场的人在撰写个人先进事迹材料时面临的最大问题是:他们认为自己做的工作都是琐碎且普通的,没有任何惊天动地的成就或值得称赞的成绩。因此,他们感到非常困惑,不知道该如何…

动态代理初步了解

准备案例 需求 模拟某企业用户管理业务,需包含用户登录,用户删除,用户查询功能,并要统计每个功能的耗时。 分析与实现 定义一个UserService表示用户业务接口,规定必须完成用户登录,用户删除&#xff0c…

自然语言处理(NLP)的开发框架

自然语言处理(NLP)领域有许多开源的框架和库,用于处理文本数据和构建NLP应用程序。以下是一些常见的NLP开源框架及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合…

CSS 布局案例: 2行、多行每行格数不定,最后一列对齐

布局期望的效果如下&#xff1a; 第二行最后一格与第一行最后一格对齐。每行格数不定。自动拉伸填充整个宽度 实现&#xff1a; 一开始打算用display:flex&#xff0c; 自动分散&#xff0c;但是第二行对齐第一行最后一格控制不了。 使用grid fr均分单位控制。 <!DOCTYPE…

word重复上次操作的快捷键的F4没效果了

word重复上次操作的快捷键的F4没效果了 word编辑文档的时候&#xff0c;以前都是用F4快捷键解决重复上次操作的&#xff0c;或者ctrly&#xff0c;现在没效果了&#xff0c;在哪里设置回去呢&#xff1f;也没开什么软件不存在快捷键冲突的&#xff0c;F4键也没坏。咋弄哦&…

MPP和hadoop

同样都可以处理大规模数据的MPP数据库架构与Hadoop体系架构属于不同的技术体系&#xff0c;二者没有直接的相关性&#xff0c;却常常被放在一起进行比较。特别是在企业数据仓库建设中&#xff0c;MPP架构与Hadoop架构代表两类典型的技术路线选型&#xff0c;事实上&#xff0c;…

质因子拆贡献+朴素容斥:1007T3

http://cplusoj.com/d/senior/p/SS231007C 考虑枚举gcd&#xff0c;然后容斥&#xff0c;恰好转至少。 g g g 表示gcd恰好为 d d d&#xff0c; f f f 表示至少为 d d d 显然有 f ( d ) ∑ d ∣ n g ( n ) f(d)\sum_{d|n}g(n) f(d)∑d∣n​g(n)&#xff0c;可以直接莫反成…

[python 刷题] 76 Minimum Window Substring

[python 刷题] 76 Minimum Window Substring 题目&#xff1a; Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window. If there is no …

抖音品牌如何传播,达人投放规划

面对达人的强大带动和种草能力&#xff0c;没有哪个品牌能够坚定的说“不”。但是想要与达人合作&#xff0c;你真的准备好了吗&#xff0c;今天来分享下抖音品牌如何传播&#xff0c;达人投放规划&#xff01; 一、制定投放规划的前期准备 从规划到实施执行并不是一蹴而就的&a…

uniapp物理键/右滑多次退出应用,再次进入显示白屏的问题

复现方式&#xff1a;安卓多次使用物理返回键或右滑退出应用后&#xff0c; 再次进入有很大机率显示白屏。但是手动杀进程的方式不会出现白屏和后台驻留的方式也不会出现白屏 解决思路&#xff1a;利用后台驻留的方式进行假退出应用&#xff0c;把应用隐藏至后台&#xff0c;这…