veket官方网站论坛

veket

 找回密码
 要注册
搜索
查看: 149|回复: 3

[分享] 告别花里胡哨的音乐客户端,实现在终端中听音乐

[复制链接]
发表于 2025-2-7 08:28 | 显示全部楼层 |阅读模式
告别花里胡哨电脑听音乐最简单的方法
告别花里胡哨的音乐客户端,实现在终端中听音乐。All in Terminal想法,同时可以减少电脑上的窗口数量和内存占用。

探索音乐的无限可能:mpg123,你的命令行音乐伙伴

命令行客户端,它融合了优雅的界面设计与强大的功能性,让你在终端环境中也能享受流畅的音乐体验。
出色的音频播放质量以及较低的系统资源消耗

mpg123是一个简单的命令行MP3播放器,你可以使用它来播放MP3文件。

优势
轻量级,占用系统资源少。
简单易用,不需要复杂的配置即可播放MP3文件。
支持多种音频格式转换(虽然主要用于播放,但也具备一定的格式处理能力)。

mpg123 -z *.mp3
这样随机播放目录下所有的歌曲

mpg123 *.mp3
播放目录下所有的歌曲


  1. 终端控制键
  2. [s]中断/重新开始播放(即'暂停')
  3. [f]下一首歌曲
  4. [d]之前的曲目
  5. [b]回到赛道的开始
  6. [p]暂停当前声音块的循环
  7. [。]向前
  8. [,]倒带
  9. [:]快进
  10. [;]快退
  11. [>]前进
  12. [<]倒带
  13. [+]音量增加
  14. [-]音量减小
  15. [R] RVA开关
  16. [v]详细切换
  17. [l]列出当前播放列表,指示当前的曲目
  18. [t]显示标签信息(再次)
  19. [m]打印MPEG标题信息(再次)
  20. [h]这个帮助
  21. [Q]退出

  22. Mpg123是一款高效且跨平台的MPEG音频播放器与解码器,它支持MPEG 1.0/2.0/2.5标准下的Layer 1、Layer 2及Layer 3音频编码格式。因其出色的音频播放质量以及较低的系统资源消耗,Mpg123受到了广泛的好评。
  23. Mpg123概述
  24. 1.1 Mpg123的历史与发展
  25. Mpg123 的开发始于 1998 年,由 Thomas Becker 创立并维护。自问世以来,它迅速成为了一款备受推崇的音频播放器和解码器。随着时间的推移,Mpg123 不断地吸收了用户的反馈和建议,进行了多次更新迭代,以满足不断变化的技术需求和用户期望。
  26. 最初,Mpg123 被设计为一个简单的命令行工具,用于播放和解码 MPEG 音频文件。然而,随着技术的进步和用户需求的增长,Mpg123 的功能得到了显著扩展。它不仅支持多种操作系统,包括 Linux、Windows 和 macOS 等,还提供了丰富的命令行选项,使得用户可以根据具体需求定制播放体验。
  27. Mpg123 的发展过程中,特别注重性能优化和兼容性改进。开发者团队持续努力降低软件对系统资源的需求,同时确保其能够处理各种不同的音频文件格式。这些改进不仅提升了用户体验,也使得 Mpg123 成为了众多音频爱好者和专业人士的首选工具之一。
  28. 1.2 Mpg123支持的标准与格式
  29. Mpg123 支持 MPEG 1.0/2.0/2.5 标准下的 Layer 1、Layer 2 和 Layer 3 音频编码格式。这意味着它可以处理广泛的音频文件类型,包括但不限于 MP3、MP2 和 MP1 文件。这种广泛的兼容性使得 Mpg123 成为了一个非常实用的工具,适用于多种应用场景。
  30. MPEG 1.0/2.0/2.5:这些标准定义了音频压缩的不同版本,其中 MPEG 1.0 和 2.0 是最常用的版本,而 MPEG 2.5 是一种扩展版本,主要用于低比特率的应用场景。
  31. Layer 1、Layer 2 和 Layer 3:这三种编码方式分别代表了不同的压缩技术和音质水平。Layer 3(即 MP3)是最常见的格式,因其较高的压缩比和良好的音质而被广泛采用。
  32. Mpg123 在处理这些不同标准和层时表现出色,能够确保音频文件的高质量播放。此外,它还支持多种流媒体协议,如 HTTP 和 FTP,允许用户直接从网络上播放音频文件,无需下载到本地。这种灵活性使得 Mpg123 成为了一个强大且多功能的音频解决方案。
  33. 二、Mpg123的核心功能
  34. 2.1 音频播放原理
  35. 2.1.1 数字音频的基本概念
  36. 在深入了解 Mpg123 如何播放音频之前,有必要先理解数字音频的基本概念。数字音频是通过将模拟声音信号转换成一系列数字值来表示的声音。这一过程通常涉及两个关键步骤:采样和量化。
  37. 采样:采样是指以固定的时间间隔从连续的模拟信号中提取离散的样本值。采样频率决定了每秒采集样本的数量,通常用赫兹 (Hz) 表示。例如,CD 音质的标准采样率为 44.1 kHz,意味着每秒采集 44,100 个样本。
  38. 量化:量化是指将每个样本值转换为一个数字表示的过程。量化位深度决定了每个样本可以表示的不同级别的数量。常见的量化位深度有 8 位和 16 位,分别对应 256 和 65,536 个可能的级别。
  39. 2.1.2 音频压缩技术
  40. 由于原始的数字音频文件往往体积庞大,因此需要使用压缩技术来减小文件大小而不显著影响音质。MPEG 标准就是一种广泛使用的音频压缩技术,它通过去除人耳不易察觉的信息来实现高效的压缩。
  41. MPEG 压缩原理:MPEG 压缩利用了心理声学模型,该模型基于人类听觉系统的特性来确定哪些音频信息可以被安全地丢弃。例如,当存在一个响亮的声音时,人耳可能无法听到同时发生的较弱声音。MPEG 压缩会利用这一点来减少数据量。
  42. Layer 1、Layer 2 和 Layer 3:MPEG 标准定义了三种不同的压缩层,它们在压缩效率和音质之间取得了不同的平衡。Layer 3(即 MP3)是最高效的压缩层,也是最常用的一种。
  43. 2.1.3 Mpg123 的播放流程
  44. Mpg123 在播放音频文件时,首先会对文件进行解码,将压缩的音频数据还原成原始的 PCM 数据。随后,这些 PCM 数据会被发送到音频输出设备进行播放。这一过程涉及到多个步骤:
  45. 读取文件:Mpg123 读取指定的音频文件。
  46. 解码:解码器将压缩的音频数据转换为 PCM 数据。
  47. 混音:如果需要,Mpg123 还可以进行混音处理,以适应不同的输出设备。
  48. 输出:最终的 PCM 数据被发送到音频输出设备进行播放。
  49. 2.2 解码器的工作机制
  50. 2.2.1 解码器的角色
  51. 解码器是 Mpg123 中的核心组件之一,负责将压缩的音频数据转换回原始的 PCM 数据。这一过程对于播放高质量音频至关重要。
  52. 2.2.2 解码过程详解
  53. 解码过程大致可以分为以下几个步骤:
  54. 初始化:解码器首先初始化所需的内部状态,包括设置解码参数等。
  55. 读取帧头:解码器读取音频文件中的帧头信息,以确定当前帧的解码参数。
  56. 解码帧:根据帧头信息,解码器开始解码当前帧的数据。
  57. 后处理:解码后的数据可能会经过一些后处理步骤,以进一步改善音质。
  58. 输出 PCM 数据:解码器将解码后的 PCM 数据输出给播放引擎。
  59. 配置与优化技巧
  60. 3.2.1 基本配置选项
  61. Mpg123 提供了一系列命令行选项,用于调整播放行为和输出格式。以下是一些常用的配置选项:
  62. -q:静默模式,减少输出信息。
  63. -v:详细模式,增加输出信息。
  64. -o <device>:指定输出设备。
  65. -R <rate>:设置输出采样率。
  66. -C <channels>:设置输出声道数。
  67. -b <bits>:设置输出位深度。
  68. 例如,要以 48 kHz 的采样率和双声道播放音频文件,可以使用以下命令:
  69. mpg123 -R 48000 -C 2 audiofile.mp3
  70. 3.2.2 性能优化
  71. 为了获得最佳的播放性能,可以采取以下措施:
  72. 减少缓冲区大小:通过减少缓冲区大小,可以降低延迟,但可能会增加 CPU 使用率。
  73. 使用硬件加速:如果可用,启用硬件加速可以显著提高播放性能。
  74. 禁用不必要的功能:关闭不需要的功能,如均衡器或混音,可以减少 CPU 负担。

复制代码

告别花里胡哨的音乐客户端,实现在终端中听音乐
https://www.bilibili.com/video/BV1x1N4eREz7
 楼主| 发表于 2025-2-7 08:38 | 显示全部楼层
mpg123 *.mp3
播放目录下所有的歌曲

[f]下一首歌曲

我常用就这二个
发表于 2025-2-14 08:45 | 显示全部楼层
支持了
发表于 2025-2-14 20:06 来自手机 | 显示全部楼层
这个不错

评分

2

查看全部评分

您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛 ( 粤ICP备 11052856 )

GMT+8, 2025-5-1 19:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表