peSHIr.Speech
0.0.3-alpha
Prefix Reserved
dotnet add package peSHIr.Speech --version 0.0.3-alpha
NuGet\Install-Package peSHIr.Speech -Version 0.0.3-alpha
<PackageReference Include="peSHIr.Speech" Version="0.0.3-alpha" />
<PackageVersion Include="peSHIr.Speech" Version="0.0.3-alpha" />
<PackageReference Include="peSHIr.Speech" />
paket add peSHIr.Speech --version 0.0.3-alpha
#r "nuget: peSHIr.Speech, 0.0.3-alpha"
#addin nuget:?package=peSHIr.Speech&version=0.0.3-alpha&prerelease
#tool nuget:?package=peSHIr.Speech&version=0.0.3-alpha&prerelease
About
What's this?
This library contains some utility code to easily use speech synthesis in Windows Forms using either Dutch or English text, while optionally showing text spoken through a NotifyIcon
control.
It uses a bit of prompt building internally, so it can do the following:
- both
Speak()
andShout()
texts, with a slight difference in intonation, - spell some known abbreviations (later I'll let you add more of these if you need them),
- say my name correctly by having an IPA phonetic description of it (later you'll be able to add these yourself as well).
- silence asynchronous speech that hasn't finished yet, by quickly saying first that previous speech has been interrupted.
Who created this?
My name is Jarno Peschier. I started programming on a Commodore 64 in high school, got a masters degree in Computer Science at Utrecht University at the end of the last century, specializing in GIS algorithms, and I have been developing software all my professional life.
You might also know me by my online name of peSHIr
, which is basically the way you write my last name phonetically in Klingon.
At the start of 2025 I worked as a software engineer at Dutch engineering firm Iv, where I personally handled all software development around our scan vehicle (YouTube) using multiple third party software packages, C#, and PowerShell.
The laserscan and photo data Iv collects using this vehicle is used in infrastructure projects all over the Netherlands, but also for monitoring things like trees or quay walls in Amsterdam.
How do I use it?
Simply create an instance of peSHIr.Speech.TextToSpeech
, optionally passing in a NotifyIcon
control instance to use to also visually show what text is spoken, and then call either Speak()
or Shout()
:
using peSHIr.Speech
//...
using (var voice = new TextToSpeech())
{
voice.Speak("This is a sentence in English, containing GPS as a spelled out abbreviation.", "Dit is een Nederlandse zin, met GPS als gespelde afkorting erin.");
System.Threading.Thread.Sleep(1500);
voice.Shout("Look out!", "Kijk out!", true);
}
Download
This library is available as a NuGet package on https://nuget.org. To install it, use the following command-line:
dotnet add package peSHIr.Speech
License and Versioning
This library is licensed under the MIT License - please see the LICENSE file for details - and makes use of Semantic Versioning to try and give meaning to the version numbers, at least for the non-prereleased stuff.
Credits
This library wouldn't have been possible without the following:
- Polysharp - Generated, source-only polyfills for C# language features by Sergio Pedri
- peSHIr.Forms - Hey, that sounds familiar...? It's by this guy 😉
Show your appreciation for my work
If you like what you see/use you could try one of these links to let me know:
You may also like
- My Link Tree
- My NuGet packages
- My English blog (long dead at the moment..)
- My Dutch blog (long dead at the moment..)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
.NET Framework | net47 is compatible. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 4.7
- peSHIr.Core (>= 0.0.46-alpha)
- peSHIr.Forms (>= 0.0.9-alpha)
- System.Speech (>= 9.0.5)
- System.ValueTuple (>= 4.6.1)
-
net8.0-windows7.0
- peSHIr.Core (>= 0.0.46-alpha)
- peSHIr.Forms (>= 0.0.9-alpha)
- System.Speech (>= 9.0.5)
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.3-alpha | 112 | 5/21/2025 |
Upgrade to latest peSHIr.Core dependency.