English · 简体中文
fish-speech is the open side of Fish Audio: its S2 Pro model, running on your own machine, speaking in any voice you give it a short recording of. The plugin's Fish Speech section is for it, and lists every voice on it in the player under a Fish Speech entry of the first dropdown, by its name. Sentences are highlighted, not words: the server reports no word timings.
git clone https://github.com/fishaudio/fish-speech.git
cd fish-speech
pip install -U huggingface_hub
hf download fishaudio/s2-pro --local-dir checkpoints/s2-pro
COMPILE=1 docker compose --profile server upCOMPILE=1 matters. Without it the server speaks at a fifth of
real time even on a data-center GPU — a sentence takes 20 to 30
seconds, the player's sample button gives up after 15, and reading
stalls. With it, a sentence takes about 5 seconds. The price is the
first start: a few minutes to load the model and about three more to
compile, before the server answers at all.API_PORT=9000 docker compose … for
another).checkpoints/ and references/ folders of the repository are
shared with the container, so the model and the voices stay across
restarts.BACKEND=cpu docker compose --profile server up —
reading will stall between sentences; see below.--api-key), another address (--listen) — are in Fish Audio's
install guide.The server offers the voices in its references/ folder: one folder per
voice, named as the voice will be, holding a recording of 10–30 seconds
of clean speech and, beside it, a text file with the same name and the
.lab extension that holds exactly what is said in the recording. The
server adds one for you from a WAV file, into that folder:
curl -X POST http://localhost:8080/v1/references/add \
-F id=myvoice -F audio=@sample.wav -F text="the words spoken in sample.wav"The name — myvoice here — is what the player shows; letters, digits,
spaces, - and _ only.
http://localhost:8080 for a server on this
machine; on another machine of your LAN, its name or IP address in
place of localhost.--api-key: put Authorization: Bearer <the key> into Extra headers.