Tree


.gitignorecommits | blame
Cargo.lockcommits | blame
Cargo.tomlcommits | blame
LICENSEcommits | blame
README.mdcommits | blame
src/

README.md

# virittaa

A command-line tool that analyzes audio files to detect `BPM` and `Key` tags.

## Features

* Detect BPM and Key of audio files
* Write detected BPM and Key to metadata tags
* Generate CSV reports of analyzed tracks

## Building

To build the project, run:

```sh
cargo build --release
```

## Usage

```sh
./target/release/virittaa [OPTIONS] <PATH>...
```

### Arguments

*   `<PATH>...`: One or more files or directories to analyze.

### Options

*   `-w`, `--write-tags`: Write detected BPM and Key to audio file metadata.
*   `-f`, `--force`: Re-analyze files even if they already have BPM/Key tags.
*   `-j`, `--jobs <JOBS>`: Number of threads to use (0 = all cores).
*   `-r`, `--report`: Generate a CSV report with timestamped filename.
*   `-h`, `--help`: Print help information.
*   `-V`, `--version`: Print version information.

### Example

```sh
# Analyze a single file
./target/release/virittaa /path/to/track.mp3

# Analyze a directory and write metadata tags
./target/release/virittaa --write-tags /path/to/music/

# Re-analyze files that already have tags
./target/release/virittaa --force --write-tags /path/to/music/

# Limit to 4 threads
./target/release/virittaa -j 4 /path/to/music/

# Generate a CSV report
./target/release/virittaa --report /path/to/music/
```