Speech2Speech 0.0.1-alpha.0.1

This is a prerelease version of Speech2Speech.
dotnet add package Speech2Speech --version 0.0.1-alpha.0.1
                    
NuGet\Install-Package Speech2Speech -Version 0.0.1-alpha.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Speech2Speech" Version="0.0.1-alpha.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Speech2Speech" Version="0.0.1-alpha.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Speech2Speech" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Speech2Speech --version 0.0.1-alpha.0.1
                    
#r "nuget: Speech2Speech, 0.0.1-alpha.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Speech2Speech@0.0.1-alpha.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Speech2Speech&version=0.0.1-alpha.0.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Speech2Speech&version=0.0.1-alpha.0.1&prerelease
                    
Install as a Cake Tool

Speech2Speech.Net

Documentation map

Guide Contents
Getting started Prerequisites, model layout, restore, build, and first validation (developer setup)
UserDemo quick start Install and test the Speech2Speech NuGet package as a consumer, with Whisper.net.Runtime guidance
Architecture Project boundaries, pipeline flow, messages, events, cancellation, and lifecycle
Core reference Queues, handlers, conversation state, realtime contracts, and configuration
LLM reference Chat Completions, streaming, prompts, output processing, compaction, and tools
Audio reference Silero VAD, Whisper STT, Kokoro TTS, remote TTS, formats, and native dependencies
Voice loop sample End-to-end microphone sample, options, output, shutdown, and troubleshooting
Development and testing Solution layout, smoke harness, extension points, conventions, and diagnostics

Scope and status

The solution targets .NET 9 and contains five libraries, one interactive sample, and one executable smoke-test harness.

Project Role
SpeechToSpeech.Core Pipeline contracts, queues, conversation state, realtime session models, cancellation, and utilities
SpeechToSpeech.Vad Streaming Silero voice activity detection
SpeechToSpeech.Stt Local Whisper ONNX transcription
SpeechToSpeech.Llm OpenAI-compatible Chat Completions and LLM output routing
SpeechToSpeech.Tts Local Kokoro and OpenAI-compatible speech synthesis
SpeechToSpeech.Pipeline Config-driven assembly of the full loop, plus an optional microphone/speaker host
VoiceLoopDemo NAudio speech-to-speech demonstration, uses core libraries
VoicePipelineDemo The same loop driven entirely from voice-pipeline.json
SpeechToSpeech.Tests xUnit unit and regression tests

The C# solution is a library and local sample implementation. Types for realtime sessions and transports exist in Core so a host can be built around the pipeline.

Quick commands

From the repository root:

dotnet restore .\SpeechToSpeech.sln
dotnet build .\SpeechToSpeech.sln --configuration Release
dotnet test .\SpeechToSpeech.sln --configuration Release

Run the interactive sample from the repository root so its default models/... paths resolve correctly:

dotnet run --project .\samples\VoiceLoopDemo\VoiceLoopDemo.csproj -- `
	--llm-url http://127.0.0.1:39839/v1 `
	--model qwen2.5-1.5b-instruct-openvino-npu:5 `
	--verbose

The config-driven sample reads samples/VoicePipelineDemo/voice-pipeline.json, where models, voice, language, persona, system instructions and every tuning parameter live. Command-line flags override only the settings worth changing between two runs; --help lists them.

dotnet run --project .\samples\VoicePipelineDemo\VoicePipelineDemo.csproj -- `
	--config .\samples\VoicePipelineDemo\voice-pipeline.json `
	--llm-url http://127.0.0.1:39839/v1

The documented test profile uses Foundry Local CLI with qwen2.5-1.5b-instruct-openvino-npu:5 on an Intel NPU. See Getting started before running the sample because it also requires .NET 9, model files, Foundry Local, compatible Intel NPU drivers, and Windows audio input/output.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.1-alpha.0.1 67 8/19/2026