13 unstable releases (4 breaking)
| 0.105.1 | Jun 12, 2025 |
|---|---|
| 0.103.0 | Mar 20, 2025 |
| 0.102.0 | Feb 10, 2025 |
| 0.2.8 | Dec 23, 2024 |
| 0.1.3 | Nov 8, 2023 |
#586 in Audio
750 downloads per month
29KB
605 lines
๐ต nu_plugin_audio_hook
A Nushell plugin for generating and playing sounds. Supports beeping, tone generation, metadata manipulation, and playback for multiple audio formats.
โจ Features
sound beepโ Play a simple beep sound.sound makeโ Generate a noise with a given frequency and duration.sound metaโ Retrieve metadata (duration, artist, album, etc.) from an audio file.sound meta setโ Modify ID3 metadata frames in an audio file. More about ID3.sound playโ Play an audio file. By default, supports FLAC, WAV, MP3, and OGG. Use theall-decodersfeature to enable AAC and MP4 playback.
๐ Usage
Generate a simple noise
sound make 1000 200ms
Generate a noise sequence
[ 300.0, 500.0, 1000.0, 400.0, 600.0 ] | each { |it| sound make $it 150ms }
Play an audio file (first 3 seconds only)
sound play audio.mp3 -d 3sec
Retrieve metadata from an audio file
sound meta audio.mp4
Example Output:
โญโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ duration โ 4min 5sec 551ms 20ยตs 408ns โ
โ artist โ SINGER โ
โ title โ TITLE โ
โ album โ ALBUM โ
โ album_artist โ SINGER โ
โ track_no โ 1 โ
โ total_tracks โ 1 โ
โฐโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Modify ID3 metadata (change the artist tag)
sound meta set audio.mp3 -k TPE1 -v new-artist
Play an MP3 file using its metadata duration
sound meta audio.mp4 | sound play audio.mp3 -d $in.duration
List all available ID3 frame names
sound meta list
๐ง Installation
๐ Recommended: Using nupm
git clone https://github.com/FMotalleb/nu_plugin_audio_hook.git
nupm install --path nu_plugin_audio_hook -f
๐ ๏ธ Manual Compilation
git clone https://github.com/FMotalleb/nu_plugin_audio_hook.git
cd nu_plugin_audio_hook
cargo build -r --features=all-decoders
plugin add target/release/nu_plugin_audio_hook
๐ฆ Install via Cargo (using git)
cargo install --git https://github.com/FMotalleb/nu_plugin_audio_hook.git --features=all-decoders
plugin add ~/.cargo/bin/nu_plugin_audio_hook
๐ฆ Install via Cargo (crates.io) Not Recommended
Since I live in Iran and crates.io often restricts package updates, the version there might be outdated.
cargo install nu_plugin_audio_hook --features=all-decoders
plugin add ~/.cargo/bin/nu_plugin_audio_hook
๐ Supported Features
You can enable specific features when compiling or installing:
fullโ Enables all features below.flac(default) โ FLAC format support.vorbis(default) โ OGG Vorbis support.wav(default) โ WAV format support.minimp3โ MP3 decoding.symphonia-allโ Enables all Symphonia-based decoders:symphonia-aacโ AAC decoding.symphonia-flacโ FLAC decoding.symphonia-isomp4โ MP4 (audio) decoding.symphonia-mp3(default) โ MP3 decoding.symphonia-vorbisโ OGG Vorbis decoding.symphonia-wavโ WAV decoding.
Dependencies
~27โ64MB
~1M SLoC