explaingit

nibor1896/horus.f5tts.onnx

Analysis updated 2026-05-18

8C#Audience · developerComplexity · 3/5Setup · moderate

TLDR

A .NET library that clones a voice from a short clip and generates new speech in that voice using ONNX, no Python needed.

Mindmap

mindmap
  root((Horus.F5Tts.Onnx))
    What it does
      Voice cloning
      Text to speech
      Long text streaming
    Tech stack
      C#
      .NET
      ONNX Runtime
    Use cases
      Voice cloning apps
      Narration tools
    Audience
      Developers
      .NET developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add voice cloning and text-to-speech to a .NET application without depending on Python.

USE CASE 2

Generate narration for long text with streaming audio output for faster playback start.

USE CASE 3

Build a German or English speech app using the author's pre-exported ONNX model checkpoints.

What is it built with?

C#.NETONNX RuntimeDirectMLCUDA

How does it compare?

nibor1896/horus.f5tts.onnxautofac/autofac.extras.fakeiteasyjihadkhawaja/mem0sharp
Stars888
LanguageC#C#C#
Last pushed2026-07-09
MaintenanceActive
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires downloading separate ONNX model files (not bundled) and optionally a GPU runtime package.

No license information is provided in the README.

In plain English

This is a .NET library for cloning a voice from a short audio clip and using it to speak new text, based on an AI model called F5-TTS. Normally running F5-TTS requires Python and PyTorch, but this library runs the same model using ONNX Runtime, a way of running trained AI models directly, so a C# or .NET application can use it without any Python installed. It can run on a regular CPU or on a GPU, including AMD, Intel, and Nvidia graphics cards through DirectX or CUDA. To use it, you give the library a short reference recording of a voice along with a transcript of what is said in that clip, plus the new text you want spoken. It returns 24 kHz audio in that cloned voice. The model files themselves are not included in the package and need to be downloaded separately, either from ready-made German and English exports the author provides, or exported yourself for other languages using a separate tool. The voice you hear comes from the reference clip you provide, while the language and accent come from which model checkpoint you load, so an English checkpoint given German text will not sound right. The library includes handling for longer pieces of text, which the underlying model cannot generate well in a single pass past about 22 seconds combined with the reference clip. It automatically splits long text into sentence-sized pieces, generates each one, and stitches them together smoothly. There is also a streaming mode that returns each sentence's audio as soon as it is ready, so playback can start after the first sentence instead of waiting for the whole paragraph, while still producing audio identical to the non-streaming version. The library itself does not play audio, since it is meant to stay lightweight, so a separate audio library like NAudio is needed to actually hear the output, though raw audio samples are also available for feeding into any custom audio pipeline.

Copy-paste prompts

Prompt 1
Help me install Horus.F5Tts.Onnx in my .NET project and load the required ONNX model files.
Prompt 2
Explain the difference between SynthesizeAsync, SynthesizeLongAsync, and SynthesizeStreamAsync in this library.
Prompt 3
Show me how to clone a voice from a reference WAV file and generate new speech with this library.
Prompt 4
Walk me through choosing between the German and English ONNX checkpoints for this library.

Frequently asked questions

What is horus.f5tts.onnx?

A .NET library that clones a voice from a short clip and generates new speech in that voice using ONNX, no Python needed.

What language is horus.f5tts.onnx written in?

Mainly C#. The stack also includes C#, .NET, ONNX Runtime.

What license does horus.f5tts.onnx use?

No license information is provided in the README.

How hard is horus.f5tts.onnx to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is horus.f5tts.onnx for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.