Prepare v0.0.2 pre-release
This commit is contained in:
@@ -13,6 +13,10 @@ It follows an EverQuest log, gives NPC dialogue a Kokoro-FastAPI voice, and
|
||||
remembers the chosen voice for each NPC. It is entirely local: your log,
|
||||
speaker mappings, generated audio, and TTS endpoint stay on your computer.
|
||||
|
||||
<video controls preload="metadata" width="960" src="docs/mudmouth-demo-01.mp4">
|
||||
Your browser does not support HTML5 video.
|
||||
</video>
|
||||
|
||||
## What it does
|
||||
|
||||
- Watches an EverQuest log without replaying historical lines on startup.
|
||||
@@ -34,8 +38,9 @@ speaker mappings, generated audio, and TTS endpoint stay on your computer.
|
||||
- Rust stable (edition 2024)
|
||||
- A terminal with ANSI support: Windows Terminal, iTerm2, Terminal.app, GNOME
|
||||
Terminal, and similar terminals work well.
|
||||
- A reachable [Kokoro-FastAPI](docs/kokoro-fastapi.json) instance. The default
|
||||
is `http://127.0.0.1:8880`.
|
||||
- A reachable [Kokoro-FastAPI](docs/kokoro-fastapi.json) instance. Install and
|
||||
run it using the upstream [Kokoro-FastAPI instructions](https://github.com/remsky/Kokoro-FastAPI);
|
||||
Mudmouth uses `http://127.0.0.1:8880` by default.
|
||||
- An EverQuest log with `/log on`.
|
||||
|
||||
No `ffplay`, `mpv`, PipeWire command, or other external audio player is
|
||||
@@ -43,36 +48,8 @@ required; Mudmouth plays returned WAV audio itself.
|
||||
|
||||
## Build and run
|
||||
|
||||
On NixOS, enter the included development shell. It provides the ALSA
|
||||
development metadata required by the native Linux audio backend:
|
||||
|
||||
```bash
|
||||
doas systemctl start podman-kokoro-fastapi.service
|
||||
nix-shell --run 'cargo run --release -- --log "$HOME/Games/EverQuestLegends/Logs/eqlog_Pleb_oggok.txt"'
|
||||
```
|
||||
|
||||
On other platforms, or when Rust and the native audio development packages are
|
||||
already installed:
|
||||
|
||||
```bash
|
||||
cargo run --release -- --log "$HOME/Games/EverQuestLegends/Logs/eqlog_Pleb_oggok.txt"
|
||||
```
|
||||
|
||||
Or persist the paths through the app:
|
||||
|
||||
```bash
|
||||
cargo run --release
|
||||
```
|
||||
|
||||
Press `s`, select **EverQuest log**, and enter the file path. Change the
|
||||
Kokoro endpoint from the same screen. Mudmouth validates the endpoint in the
|
||||
background and the header reads `CONNECTED`, `CHECKING`, or `UNREACHABLE`.
|
||||
Changing a log path starts watching the new file immediately. A command-line
|
||||
endpoint override is also available:
|
||||
|
||||
```bash
|
||||
cargo run --release -- --kokoro-url http://127.0.0.1:8880
|
||||
```
|
||||
See [development and build notes](docs/development.md) for local setup,
|
||||
running Mudmouth, validation, and multi-platform release packaging.
|
||||
|
||||
## TUI controls
|
||||
|
||||
@@ -80,6 +57,8 @@ cargo run --release -- --kokoro-url http://127.0.0.1:8880
|
||||
| --- | --- |
|
||||
| `d` | Dashboard / live tavern scroll |
|
||||
| `s` | Settings |
|
||||
| `p` | Choose EverQuest game folder during first-time setup |
|
||||
| `r` | Rescan for character logs during first-time setup |
|
||||
| `v` | NPC voice manager |
|
||||
| `?` | Help |
|
||||
| `q` | Quit |
|
||||
@@ -109,16 +88,3 @@ repeat_window_seconds = 15
|
||||
repeat_second_speed = 1.5
|
||||
repeat_third_plus_speed = 2.0
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
cargo fmt --check
|
||||
cargo clippy --all-targets -- -D warnings
|
||||
cargo test
|
||||
cargo build --release
|
||||
```
|
||||
|
||||
The parser tests cover the observed log formats, including NPC dialogue,
|
||||
channel-chat exclusion, zone events, normalization, persistent/random speaker
|
||||
voice policies, and log truncation.
|
||||
|
||||
Reference in New Issue
Block a user