Text-to-Speech
Transformers
Safetensors
GGUF
Danish
llama
text-generation
tts
danish
dansk
text-generation-inference
Instructions to use syvai/plapre-pico with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use syvai/plapre-pico with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-to-speech", model="syvai/plapre-pico")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("syvai/plapre-pico") model = AutoModelForCausalLM.from_pretrained("syvai/plapre-pico", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use syvai/plapre-pico with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf syvai/plapre-pico:Q4_K_M # Run inference directly in the terminal: llama cli -hf syvai/plapre-pico:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf syvai/plapre-pico:Q4_K_M # Run inference directly in the terminal: llama cli -hf syvai/plapre-pico:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf syvai/plapre-pico:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf syvai/plapre-pico:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf syvai/plapre-pico:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf syvai/plapre-pico:Q4_K_M
Use Docker
docker model run hf.co/syvai/plapre-pico:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use syvai/plapre-pico with Ollama:
ollama run hf.co/syvai/plapre-pico:Q4_K_M
- Unsloth Desktop
- Docker Model Runner
How to use syvai/plapre-pico with Docker Model Runner:
docker model run hf.co/syvai/plapre-pico:Q4_K_M
- Lemonade
How to use syvai/plapre-pico with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull syvai/plapre-pico:Q4_K_M
Run and chat with the model
lemonade run user.plapre-pico-Q4_K_M
List all available models
lemonade list
- Atomic Chat
|
Download README.md from syvai/plapre-pico: direct link, hf CLI and curl.
- Browser
- Download file 4.04 kB
-
https://huggingface.co/syvai/plapre-pico/resolve/main/README.md
- Command line
-
hf download hf://syvai/plapre-pico/README.md
-
curl -L -H "Authorization: Bearer $HF_TOKEN" -o README.md https://huggingface.co/syvai/plapre-pico/resolve/main/README.md
4.04 kB
| language: | |
| - da | |
| base_model: | |
| - HuggingFaceTB/SmolLM2-135M | |
| pipeline_tag: text-to-speech | |
| tags: | |
| - text-to-speech | |
| - tts | |
| - danish | |
| - dansk | |
| library_name: transformers | |
| license: cc-by-4.0 | |
| # Plapre Pico - Dansk Tekst-til-Tale | |
| Dansk TTS-model med talerkonditionering og stemmekloningssupport. Genererer 24kHz lyd fra dansk tekst ved hjælp af autoregressiv lydtoken-prædiktion. | |
| ## Modeldetaljer | |
| | | | | |
| |---|---| | |
| | **Arkitektur** | LLaMA-baseret (30 lag, hidden_size=576) | | |
| | **Parametre** | ~118M (base) + 74K (talerprojektion) | | |
| | **Vocab-størrelse** | 20.802 (BPE + lydtokens + separatorer) | | |
| | **Lydtokenizer** | [Kanade](https://huggingface.co/frothywater/kanade-25hz-clean) (25 tokens/sek, 12.800 codebook) | | |
| | **Samplerate** | 24kHz | | |
| | **Præcision** | bfloat16 | | |
| ## Sådan virker det | |
| Modellen tager dansk tekst, konverterer den til BPE-tokens, og genererer autoregressivt Kanade-lydtokens, som afkodes til en lydbølge. | |
| **Sekvensformat:** | |
| ``` | |
| [speaker_embedding] <text> BPE tokens <audio> audio tokens <eos> | |
| ``` | |
| **Talerkonditionering:** En indlært lineær projektion (`nn.Linear(128, 576)`) mapper en 128-dimensionel Kanade-talerembedding til modellens skjulte dimension. Denne indsættes som det første token i sekvensen, så modellen kan konditionere på taleridentitet via attention. Til stemmekloning udtrækkes talerembeddingen fra et referenceaudioklip via Kanade-encoderen. | |
| ## Filer | |
| | Fil | Beskrivelse | | |
| |------|-------------| | |
| | `model.safetensors` | Base model-vægte (bfloat16) | | |
| | `speaker_proj.pt` | Talerprojektionslag (`nn.Linear(128, 576)`) | | |
| | `speakers.json` | Indbyggede talerembeddings | | |
| | `tokenizer.json` | Tokenizer | | |
| | `tokenizer_config.json` | Tokenizer-konfiguration | | |
| | `config.json` | Modelkonfiguration | | |
| | `gguf/plapre-pico.f16.gguf` | GGUF f16 (227 MB) | | |
| | `gguf/plapre-pico.q8_0.gguf` | GGUF q8_0 (121 MB) | | |
| | `gguf/plapre-pico.q6_k.gguf` | GGUF q6_k (115 MB) | | |
| | `gguf/plapre-pico.q4_k_m.gguf` | GGUF q4_k_m (83 MB) | | |
| | `gguf/plapre-pico.q4_0.gguf` | GGUF q4_0 (70 MB) | | |
| ## Installation | |
| ```bash | |
| uv add git+https://github.com/syv-ai/plapre.git | |
| ``` | |
| ## Inferens | |
| ### Grundlæggende brug | |
| ```python | |
| from plapre import Plapre | |
| tts = Plapre("syvai/plapre-pico") | |
| tts.speak("Hej, hvordan har du det?", output="output.wav") | |
| ``` | |
| ### Vis tilgængelige talere | |
| ```python | |
| print(tts.list_speakers()) | |
| # ['tor', 'ida', 'liv', 'ask', 'kaj'] | |
| ``` | |
| ### Vælg en taler | |
| ```python | |
| tts.speak("Hej med dig.", output="output.wav", speaker="ida") | |
| ``` | |
| ### Stemmekloning | |
| ```python | |
| tts.speak("Hej med dig.", output="cloned.wav", speaker_wav="reference.wav") | |
| ``` | |
| ### Lange tekster med sætningsopdeling | |
| ```python | |
| tts.speak( | |
| "Første sætning. Anden sætning. Tredje sætning!", | |
| output="long.wav", | |
| split_sentences=True, | |
| ) | |
| ``` | |
| ### Genereringsparametre | |
| ```python | |
| tts.speak( | |
| "Hej verden.", | |
| output="output.wav", | |
| temperature=0.8, # sampling-temperatur (standard: 0.8) | |
| top_p=0.95, # nucleus sampling (standard: 0.95) | |
| top_k=50, # top-k sampling (standard: 50) | |
| max_tokens=500, # maks lydtokens at generere (standard: 500) | |
| ) | |
| ``` | |
| ### Udtræk en talerembedding | |
| Udtræk en 128-dim talerembedding fra en wav-fil og genbrug den på tværs af flere genereringer: | |
| ```python | |
| speaker_emb = tts.extract_speaker("reference.wav") | |
| tts.speak("Hej.", output="a.wav", speaker_emb=speaker_emb) | |
| tts.speak("Farvel.", output="b.wav", speaker_emb=speaker_emb) | |
| ``` | |
| ### Returværdi | |
| `speak()` returnerer lyden som et numpy-array (24 kHz, float32) ud over at gemme filen: | |
| ```python | |
| audio = tts.speak("Hej.", output="output.wav") | |
| print(f"Varighed: {len(audio) / 24000:.2f}s") | |
| ``` | |
| ## API-server | |
| ```bash | |
| uv add "plapre[serve] @ git+https://github.com/syv-ai/plapre.git" | |
| plapre-serve --model plapre-pico-q8_0 --port 8000 | |
| ``` | |
| ```bash | |
| curl -X POST http://localhost:8000/v1/audio/speech \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"text": "Hej, hvordan har du det?", "speaker": "tor"}' \ | |
| --output output.pcm | |
| ffmpeg -f s16le -ar 24000 -ac 1 -i output.pcm output.wav | |
| ``` |