#nushell-plugin #nushell #mp3 #player #file-metadata #plugin

bin+lib nu_plugin_audio_hook

nushell 插件,用于创建和播放声音

5 个版本

0.1.12 2024 年 2 月 12 日
0.1.3 2023 年 11 月 8 日
0.1.2 2023 年 11 月 7 日
0.1.1 2023 年 11 月 7 日
0.1.0 2023 年 11 月 7 日

367音频

MIT 和可能 CC-PDDC

31KB
603

nu_plugin_audio_hook

nushell 插件,用于创建和播放声音

用法

  • sound beep - 播放蜂鸣声
  • sound make - 创建给定频率和持续时间的噪声
  • sound meta - 获取音频文件的持续时间和元数据
  • sound meta set - 在音频文件上设置 id3 帧(更多关于 id3 帧
  • sound play - 播放音频文件,默认支持 flac、Wav、mp3 和 ogg 文件,通过安装带有 all-decoders 特性的插件来包含 aac 和 mp4(音频)

示例

  • 创建一个简单的噪声
~> sound make 1000 200ms
  • 创建一个简单的噪声序列
~> [ 300.0, 500.0,  1000.0, 400.0, 600.0 ] | each { |it| sound make $it 150ms }
  • 播放音频的前 3 秒
~> sound play audio.mp3 -d 3sec
  • 加载音频文件的元数据
~> sound meta audio.mp4
╭──────────────┬────────────────────────────╮
 duration     │ 4min 5sec 551ms 20µs 408ns │
 artist       │ SINGER                     │
 title        │ TITLE                      │
 album        │ ALBUM                      │
 album_artist │ SINGER                     │
 track_no     │ 1                          │
 total_tracks │ 1                          │
╰──────────────┴────────────────────────────╯
  • 要更改 id3 帧,可以使用此命令(更多关于 id3 帧
~> sound meta set audio.mp3 -k TPE1 -v new-artist
╭──────────────┬────────────────────────────╮
 duration     │ 4min 5sec 551ms 20µs 408ns │
 artist       │ new-artist                 │
 title        │ TITLE                      │
 album        │ ALBUM                      │
 album_artist │ SINGER                     │
 track_no     │ 1                          │
 total_tracks │ 1                          │
╰──────────────┴────────────────────────────╯
  • 要正确播放 mp3 音频文件,您需要首先加载其元数据,然后使用其持续时间来播放它
~> sound meta audio.mp4 | sound play audio.mp3 -d $in.duration
  • 获取所有可能的 id3 帧名称
~> sound meta list
╭────┬─────────────────────────┬────────────╮
# │       normalized        │ frame_name │
├────┼─────────────────────────┼────────────┤
│  0 │ audiolength             │ TLEN       │
│  1 │ mood                    │ TMOO       │
...
│ 58 │ track                   │ TRCK       │
├────┼─────────────────────────┼────────────┤
│  # │       normalized        │ frame_name │
╰────┴─────────────────────────┴────────────╯

安装

  • 支持的功能

    • 完整(将启用以下所有功能)
    • flac(默认)
    • vorbis(默认)
    • wav(默认)
    • minimp3
    • symphonia-all(将启用以下所有功能)
      • symphonia-aac
      • symphonia-flac
      • symphonia-isomp4
      • symphonia-mp3(默认)
      • symphonia-vorbis
      • symphonia-wav
  • 使用 nupm

git clone https://github.com/FMotalleb/nu_plugin_audio_hook.git
nupm install --path nu_plugin_audio_hook -f
  • 或手动编译
git clone https://github.com/FMotalleb/nu_plugin_audio_hook.git
cd nu_plugin_audio_hook
cargo build -r --features=all-decoders
register target/debug/nu_plugin_audio_hook 
  • 或使用 cargo
cargo install nu_plugin_audio_hook --features=all-decoders
register ~/.cargo/bin/nu_plugin_audio_hook

依赖项

~15–49MB
~778K SLoC