64个版本
新 0.9.1 | 2024年8月21日 |
---|---|
0.9.0 | 2024年3月24日 |
0.7.11 | 2023年7月10日 |
0.7.9 | 2023年2月16日 |
0.2.11 | 2021年7月16日 |
#24 in 音频
每月192次下载
2MB
41K SLoC
使用Rust编写的终端音乐和播客播放器
免费收听音乐和播客!
自由:随着时间的推移,在线服务提供商几乎控制了我们所听的一切。复杂的版权问题使情况变得更糟。如果我的最喜欢的歌曲在网站上找不到,我可能几十年都不会听它们。
免费:您可以免费从YouTube、网易、咪咕和酷狗下载。无需注册每月付费会员。
作为GOMU的贡献者,我在开发过程中遇到了严重的问题。主要问题是数据竞争条件。因此,我重新编写了播放器,希望解决这个问题。
支持格式
以下是各种后端支持的音频格式。
如果不受支持元数据,将尝试播放文件。
格式 (feature ) |
Symphonia (rusty ) |
Mpv (mpv ) |
Gstreamer (gst ) |
元数据 |
---|---|---|---|---|
ADTS | 是 | 是 | 是 | 否 |
AIFF | 否 | 是 | 是 | 是 |
FLAC | 是 | 是 | 是 | 是 |
M4a | 是 | 是 | 是 | 是 |
MP3 | 是 | 是 | 是 | 是 |
Opus | 否 | 是 | 是 | 是 |
Ogg Vorbis | 是 | 是 | 是 | 是 |
Wav | 是 | 是 | 是 | 是 |
WebM | 是(opus不受支持) | 是 | 是 | 否 |
MKV | 是(取决于编解码器) | 是 | 是 | 否 |
默认后端: rusty
安装
要求
MSRV
您需要使用稳定的Rust工具链进行构建。最小支持的Rust版本1.77.0。
git
git
将需要用于构建软件包。
=======
后端 | 要求 |
---|---|
Symphonia | 您需要安装 ALSA 以支持Symphonia解码。 请注意,需要ALSA开发文件。这些文件在Debian和Ubuntu发行版中作为 libasound2-dev 软件包的一部分提供,在Fedora上为alsa-lib-devel 。此外,还需要 soundtouch 和clang (仅限构建)。 |
GStreamer | GStreamer |
MPV | MPV |
Protobuf
这是构建和运行termusic所必需的。对于Ubuntu:apt-get protobuf-compiler
,对于Arch:paru -S protobuf
。
Dbus
目前,use_dbus是一个配置选项,但它是编译所必需的。对于Ubuntu:apt-get libdbus-1-dev
,对于Arch:paru -S dbus
。
Yt-dlp支持
您可以选择安装yt-dlp和FFmpeg,以便从YouTube下载MP3文件。
专辑封面支持
对于kitty,专辑封面支持是默认的。对于其他终端,需要安装ueberzug/ueberzugpp,并编译cover
功能标志。
软件包
请注意,这些将使用symphonia
后端进行编译。
Arch Linux
Arch Linux用户可以使用AUR中的AUR辅助工具安装termusic
。
paru termusic
NetBSD
NetBSD用户可以从官方仓库安装termusic
。
pkgin install termusic
Nix/NixOS
在用户的环境内
nix-env --install termusic
或在/etc/nixos/configuration.nix
中声明性定义
{
environment.systemPackagess = with pkgs; [
...
termusic
];
}
Cargo
cargo install termusic termusic-server --locked
从源代码安装
git clone https://github.com/tramhao/termusic.git
cd termusic
make
然后使用以下命令安装
make install
默认情况下,termusic可以在Kitty或iTerm2(mac,未测试)上显示专辑封面。如果需要在其他终端上显示专辑封面,请安装ueberzug或ueberzugpp,然后
make full
最后,您可以运行它
~/.local/share/cargo/bin/termusic
您可以将它复制到$PATH
中的任何位置。TUI的配置文件位于~/.config/termusic/tui.toml
,服务器的配置文件位于~/.config/termusic/server.toml
(或者在macOS上,分别为~/Library/Application Support/termusic/tui.toml
和~/Library/Application Support/termusic/server.toml
)。但是,由于这是一个简约程序,您不需要编辑配置文件,几乎所有设置都可以从应用程序中进行。
待办事项
- 改进歌词时间戳调整界面。
- 评分和同步支持。
- 多个根和轻松切换。
- 保存播放列表。
- 收听RSS源/Podcasts。需要新的布局。
贡献和问题 🤝🏻
欢迎贡献、错误报告、新功能问题和疑问!😉如果您有任何疑问或担忧,或您想建议新功能,或只是想改进termusic,请随时打开一个问题或PR。
请遵循我们的贡献指南
贡献者
hasezoey
谢谢
许可证
主代码部分使用MIT许可证。在src/lyric/netease
下的NetEase API代码使用GPLv3许可证。来自netease-cloud-music-gtk。在src/podcast
下的Podcast代码使用GPLv3许可证。来自shellcaster。
依赖关系
~57–93MB
~1.5M SLoC