# Thorsten-Voice: a CC0 German speech dataset you can train a TTS model on

> A donated voice recording, published as a set of Zenodo datasets with DOIs, an LJSpeech layout and per-file recording quality metadata, so a team can train a German text to speech model offline without a licensing negotiation. It is a dataset and a set of models, not an application.

**thorstenMueller/Thorsten-Voice** — Thorsten-Voice: A free to use, offline working, high quality german TTS voice should be available for every project without any license struggling.

- Repository: https://github.com/thorstenMueller/Thorsten-Voice
- Website: http://www.thorsten-voice.de
- Stars: 741 · Forks: 60
- Language: Python
- License: CC0-1.0
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/thorstenmueller-thorsten-voice

## A voice donated to remove the licensing bottleneck

The motivation is stated in one line and it explains the whole shape of the project: a free to use, offline working, high quality German TTS voice should be available for every project without any license struggling.

That is a licensing problem first and a speech synthesis problem second. For most teams the hard part of putting a German voice into a product is not the model, it is the negotiation with a voice actor or a commercial voice provider, and the answer from this project is to skip that by publishing the recordings under CC0-1.0.

The personal note from Thorsten Müller explains the motivation behind that decision in his own words. He contributes his voice as a person believing in a world where all people are equal, no matter of gender, sexual orientation, religion, skin color and geocoordinates of birth location, with the aim that open and free knowledge and education is available to everyone. He also states plainly that he is no professional voice talent, just a normal guy sharing his voice with the world.

That second sentence matters for anyone building a product around it. This is a donated, non professional recording, which means the acoustic quality is what a careful hobbyist setup produces rather than what a studio produces, and the recorded content is one speaker rather than a cast.

The project home is thorsten-voice.de, and the primary language of the repository is Python, with a docker directory, a helperScripts directory and a docs directory in the tree.

## Four datasets on Zenodo, each with its own DOI

All the Thorsten-Voice datasets are listed and downloadable on Zenodo, and quotation is described as highly appreciated if you use them in your projects, products or papers. Each dataset carries a DOI, which is what makes it citable and what makes a dataset a first class research artefact rather than a folder of wav files on a personal site.

The four entries in the table are Thorsten-Voice Dataset 2021.02 (Neutral) with DOI 10.5281/zenodo.5525342, Thorsten-Voice Dataset 2021.06 (Emotional) with DOI 10.5281/zenodo.5525023, Thorsten-Voice Dataset 2022.10 (Neutral) with DOI 10.5281/zenodo.7265581, and Thorsten-Voice Dataset 2023.09 (Hessisch) with DOI 10.5281/zenodo.10511260. The table of contents also lists a Thorsten-Voice Dataset FULL 44kHz entry.

The citation format is a BibTeX dataset entry, for example for the 2021.02 neutral release:

```yaml
@dataset{muller_2021_5525342,
  author       = {Müller, Thorsten and
                  Kreutz, Dominik},
  title        = {Thorsten-Voice Dataset 2021.02},
```

Two details are worth noticing in that entry. The publisher is Zenodo, and the author list is not just Thorsten Müller. Dominik Kreutz is credited as the second author on the datasets, which matches the dataset summaries where recording and optimisation are attributed separately: recorded by Thorsten Müller, optimized by Dominik Kreutz.

The repository also carries a CITATION.cff file, and the datasets are mirrored on a Huggingface organisation under the name ThorstenVoice, so the material is reachable through more than one channel.

## The neutral dataset is 22668 phrases at 22050 Hz

The dataset summary for the 2021.02 neutral release is where the engineering detail lives, and it reads like a specification sheet.

Recorded by Thorsten Müller and optimized by Dominik Kreutz, it has 22.668 recorded phrases as wav files and more than 23 hours of pure audio. The sample rate is 22.050Hz, mono, normalized to -24dB. There is no silence at the beginning or ending of a file. Phrase length runs from 2 to 52 to 180 characters as minimum, average and maximum, and the average spoken characters per second is 14. Sentences with a question mark number 2.780 and sentences with an exclamation mark 1.840.

The file and directory structure is LJSpeech. That single fact is the most important technical detail for anyone building a pipeline, because LJSpeech is the layout used by a large number of open text to speech projects, so tooling and recipes written for it apply without modification.

The normalization to -24dB and the absence of leading and trailing silence are the two details that save work. Loudness consistency removes the need for a per-file gain pass, and trimmed silence means the audio starts and ends where the speech does, which avoids artefacts in training and in concatenation.

The dataset evolution is documented in a PDF in the repository, EvolutionOfThorstenDataset.pdf, and it describes three recording phases. Phase 1 was recorded with a cheap USB microphone and is low quality. Phase 2 used a good microphone. Phase 3 used the same good microphone but with longer phrases of more than 100 characters.

That means the 2021.02 neutral dataset mixes microphone qualities in one directory. If you want to train on a subset, the repository includes RecordingQuality.csv, which tells you which files belong to which recording phase, so you can exclude the low quality phase 1 material without guessing.

## The emotional set is 300 sentences multiplied by 8 emotions

The 2021.06 dataset takes a different approach and a much smaller corpus.

It contains 300 sentences times 8 emotions, so 2.400 recordings. It is mono at 22.050Hz, normalized to -24dB, with no silence at beginning or ending, and sentence lengths between 59 and 148 characters. The BibTeX entry records version 2.0.

The method behind it is the interesting part, and it comes from the recordist's own description. All emotional recordings were recorded by himself, and he tried to feel and pronounce that emotion even if the phrase context does not match that emotion. He gives a concrete example: he pronounced the sleepy recordings in the tone he has shortly before falling asleep.

That is a deliberately honest approach to a hard problem. A sentence like a number or a date has no emotional content, so the performance has to come from vocal delivery rather than from meaning, which is a skill that does not transfer automatically from reading aloud to acting. The trade is consistency of intent across 2400 recordings, which is what a model trained on this needs, and the cost is a smaller corpus than the neutral set.

The repository also ships a samples directory with a thorsten-21.06-emotional folder, so you can listen to a subset before downloading the full set, and the project has a youtube channel alongside the datasets, which is where the public talks and conference speaker material is also published.

## What you cannot get from this repository

The limits here are worth stating before anyone plans a product around it.

The first is that it is data and models, not a service. There is no text to speech API to call and no runtime that ships with the repository. The tree contains a docker directory and helperScripts, but the readme does not document a synthesis server or an inference command, so if you want a service you are assembling it yourself from a model and a runtime.

The second is the single speaker. Every dataset here is one person. That is fine for a German voice model, and it is not fine if your product needs a cast, multiple accents, or a voice that matches a specific person. The Hessisch dataset adds a regional variety for German, which is a nice piece of coverage, but it is still one speaker.

The third is the quality ceiling implied by the personal note and by the recording phases. Phase 1 of the neutral dataset was recorded with a cheap USB microphone. Even with Dominik Kreutz's optimisation work, the acoustic character of that subset is different from the rest, which means either you exclude those files using RecordingQuality.csv, or you accept a noisier training set.

The fourth is the corpus scale. 22.668 phrases is respectable for a single speaker and small for a modern general purpose model. The emotional set is smaller still. Those are fine numbers for many use cases and tight for others.

And the fifth is the state of the project. The repository is not archived and the last push was on 2026-08-04, and there are no GitHub releases, so the datasets live on Zenodo with their own version numbers and DOIs rather than in a tagged release history here. The datasets themselves are the stable artefact, which is the correct place for them to be, but it does mean the repository is not where you track changes.

## Against a commercial voice API, and against the alternative of paying a voice actor

Two comparisons make the choice concrete.

The first is against a hosted text to speech API. The difference in approach is where the audio is produced and what it costs per character. A hosted service gives you synthesis without a GPU, without a model, without a training pipeline, and without a dataset to manage, and it bills you for what you send it. A dataset like this one gives you a model you run yourself, which means the audio never leaves your infrastructure, the marginal cost of a word is a GPU minute rather than a per character charge, and the voice is one you can adjust and fine tune on your own data. What you give up is the zero operational burden and the quality of a studio produced voice.

The offline working part of the motivation is the deciding factor for a lot of teams. A product that must not send user text to a third party cannot use a hosted voice service at all, and a dataset under CC0 sidesteps the question of whether your own deployment counts as use of someone else's service.

The second comparison is against paying a voice actor directly, which is the route this project is explicitly positioned against. A professional voice session buys you better audio, a defined recording quality, and a contract that says what you may do with the result. The recording quality is the real gap. A trained actor can deliver consistent emotion, consistent pacing and consistent mic presence across a large script, which the readme itself attributes as the difference between a professional voice talent and the person who recorded these datasets.

So the trade is quality and legal certainty against cost, speed and the absence of a negotiation. For an open source project, a research dataset, an accessibility tool, a hobbyist product, or anything that needs the voice to be free and redistributable, that trade usually lands in favour of Thorsten-Voice. For a commercial product where voice quality is the product, it probably does not.

## Conclusion

Adopt Thorsten-Voice if you need German training data for a text to speech model and want to avoid a voice licence negotiation, since the datasets are CC0 and carry DOIs for citation. Skip it if you need a ready-to-run synthesis service, because this repository distributes data and models rather than an application to call. Verify first which dataset version fits your pipeline, since the neutral dataset comes in a 2021.02 release and later ones, and check the recording quality metadata before training on every file, because the neutral dataset was captured across three phases with different microphones.

## FAQ

### What licence applies to the Thorsten-Voice datasets?

The repository is licensed under CC0-1.0, and the project's stated goal is a free to use, offline working German TTS voice available for every project without any license struggling. The datasets are published on Zenodo with DOIs so that use can be cited.

### Where can I download the Thorsten-Voice datasets?

All the datasets are listed and downloadable on Zenodo. The four listed with DOIs are 2021.02 Neutral, 2021.06 Emotional, 2022.10 Neutral and 2023.09 Hessisch, and the recordings are also mirrored on the ThorstenVoice organisation on Huggingface.

### What format is the Thorsten-Voice 2021.02 neutral dataset in?

It uses the LJSpeech file and directory structure, with 22.668 wav files, more than 23 hours of audio, a sample rate of 22.050Hz, mono, normalized to -24dB, and no silence at the beginning or ending of a file.

### How do I know which recordings are good quality in the Thorsten-Voice dataset?

The 2021.02 neutral dataset was recorded over three phases, the first with a cheap USB microphone. The repository includes RecordingQuality.csv, which shows which files belong to which recording phase, and EvolutionOfThorstenDataset.pdf describes the phases in detail.

### How does the Thorsten-Voice emotional dataset work?

It contains 300 sentences times 8 emotions, so 2.400 recordings, mono at 22.050Hz and normalized to -24dB. The recordist describes performing each emotion even where the sentence context does not match it, for example pronouncing the sleepy recordings in the tone he has shortly before falling asleep.

### Is there an application or API in the Thorsten-Voice repository?

The repository distributes datasets, samples, helper scripts and models, along with a docker directory, rather than a synthesis service with a documented API. The last push was on 2026-08-04 and there are no GitHub releases, with the datasets themselves versioned on Zenodo.

## Sources

- [Issues](https://github.com/thorstenMueller/Thorsten-Voice/issues)
- [License: CC0-1.0](https://github.com/thorstenMueller/Thorsten-Voice/blob/master/LICENSE)
- [Project website](http://www.thorsten-voice.de)
- [README](https://github.com/thorstenMueller/Thorsten-Voice/blob/master/README.md)
- [thorstenMueller/Thorsten-Voice on GitHub](https://github.com/thorstenMueller/Thorsten-Voice)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/thorstenmueller-thorsten-voice
