Transform audio files into BBCode-formatted spectrograms effortlessly with `spectro`. This Bash script supports a wide array of audio formats such as Ogg, MP3, FLAC, AAC, and more.
{{ full_width_image(src="img/spectrogram.webp", alt="Spectrogram of Jardin du Sommeil Chant d'Amour Sur La Nuit Grandissante, by Tourette") }}
#### [View on GitHub](https://github.com/welpo/spectro) {.centered-text}
## Features
- **Versatile Format Support**: Ogg, MP3, FLAC, AAC, ape, WMA, MP4, and WAV.
- **BBCode Output**: Automatically generates BBCode for forums or websites.
- **Batch Processing**: Can handle entire directories or specific files.
- **Extensible**: Options for customisation including local storage and imgur uploading.
## Quick Start
1. Download `spectro` to a directory within your PATH, for example, `~/bin`.
2. Grant execute permissions: `chmod +x spectro`.
For a complete installation guide, [read the full documentation](https://github.com/welpo/spectro#install).
## Usage
**Generate BBCode for an Entire Directory:**
```bash
spectro Path/To/Directory/
```
Output:
```
[hide=Spectrograms][size=3]
[url=https://i.imgur.com/ClzzbP8.png]01. Jardin Du Sommeil.flac[/url]
[/size][/hide]
```
**Generate BBCode for Specific Files:**
```bash
spectro file1.flac file2.mp3
```
Additional options and configurations are available. See `spectro --help`:
{% wide_container() %}
```
Usage: spectro [options] <audio_files>
Generate BBCode-formatted spectrograms from audio files.
Options:
-c, --compare Create a .gif comparison of spectrograms (requires ImageMagick)
-d, --double Create both zoomed and full spectrograms