# @fablevision/word-timings

> Uses [Vosk](https://alphacephei.com/vosk/) to analyze audio files and generate word timings.

Latest version **0.7.6** (published 2022-06-06) · MIT license · 0 weekly downloads

## Install

```sh
npm install @fablevision/word-timings
pnpm add @fablevision/word-timings
yarn add @fablevision/word-timings
bun add @fablevision/word-timings
```

Provides the command `word-timings`.

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.7.6 |
| Published | 2022-06-06 |
| First published | 2022-02-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=12 |
| Dependencies | 7 |
| Unpacked size | 12.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Andrew Start |
| Maintainers | erinmcarvalho, nathanfv, esthert, andrewstart |

## Links

- npm: https://www.npmjs.com/package/@fablevision/word-timings
- npm.io page: https://npm.io/package/@fablevision/word-timings

## Dependencies (7)

- [vosk](https://npm.io/package/vosk.md) ^0.3.32
- [hasha](https://npm.io/package/hasha.md) ^5.2.2
- [json5](https://npm.io/package/json5.md) ^2.2.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^10.0.0
- [commander](https://npm.io/package/commander.md) ^9.0.0
- [fast-glob](https://npm.io/package/fast-glob.md) ^3.2.11
- [ffmpeg-cli](https://npm.io/package/ffmpeg-cli.md) ^2.7.5

## Recent versions

- 0.7.6 (latest) — 2022-06-06
- 0.7.5 — 2022-06-06
- 0.7.4 — 2022-06-06
- 0.7.3 — 2022-03-31
- 0.7.2 — 2022-03-31
- 0.7.1 — 2022-03-31
- 0.7.0 — 2022-03-30
- 0.6.1 — 2022-02-16
- 0.6.0 — 2022-02-08
- 0.5.1 — 2022-02-02
- 0.5.0 — 2022-02-01

## README

# Word Timings Generator
Uses [Vosk](https://alphacephei.com/vosk/) to analyze audio files and generate word timings.

## Usage
`npx word-timings -c ./path/to/my-config.json`

Uses a configuration file in the format:
```javascript
{
    "model": "path/to/model", // Path to the model you've downloaded and unzipped.
    "cache": "path/to/.cachefile", // Optional, name a cache file to use instead of the default. This speeds up later runs.
    "pretty": true, // Optional - if true, pretty prints the output
    "outputs": [
        {
            "file": "path/to/output.json", // path for the output for this group of files
            "globs": ["path/to/*.wav"] // globs of files to batch together into this output
        }
    ]
}
```
Audio files must be mono PCM .wav files, and are suggested to run in 16khz (although higher sample rates seem to work okay).

## Output
Output will be a JSON dictionary of filenames (no path or extension) to arrays of time data.
```javascript
{
    "myfile": [[0.1, 0.3], 0.4, 0.5, 0.6, [0.8, 1.2]]
}
```
Time data is an array, where every element is either a tuple representing the start & end time of that word, or a number representing the end time of the word with the start time being the previous word's end time. All times are in seconds.

---
_Source: https://npm.io/package/@fablevision/word-timings · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
