SoundScript 15.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package SoundScript --version 15.0.0
                    
NuGet\Install-Package SoundScript -Version 15.0.0
                    
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="SoundScript" Version="15.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SoundScript" Version="15.0.0" />
                    
Directory.Packages.props
<PackageReference Include="SoundScript" />
                    
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 SoundScript --version 15.0.0
                    
#r "nuget: SoundScript, 15.0.0"
                    
#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 SoundScript@15.0.0
                    
#: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=SoundScript&version=15.0.0
                    
Install as a Cake Addin
#tool nuget:?package=SoundScript&version=15.0.0
                    
Install as a Cake Tool

SoundScript

SoundScript is a deterministic programming language and .NET toolkit for programmable audio and media: MIDI, WAV, vocals, synchronized visuals, and experimental audio-to-code transcription. Use it for application cues, sonification, or reproducible media fixtures.

Install

Requires .NET 10.0 (net10.0). Use the SDK selected by global.json for repository development.

Install the published library:

dotnet add package SoundScript --version 14.0.0

SoundScript 14.0.0 on NuGet.

For development, you can also build and install from a local feed.

Five-minute example

using SoundScript;

var cue = SoundScriptEngine.Compile("tempo 120 track cue { instrument piano mf C4 e E4 e G4 q }");
File.WriteAllBytes("success.wav", cue.RenderWave());
File.WriteAllBytes("success.mid", cue.RenderMidi());

Programmatic rendering

V14 adds a typed programmable-media facade over the existing audio and visual engines:

using SoundScript.Media;
var media = SoundScriptEngine.Compile("track cue { C4 q } visual \"intro\" for 2s").CompileMedia();
byte[] audio = media.RenderAudio();
var scene = media.SceneAt(TimeSpan.FromSeconds(1));
string json = TemporalVisualJson.Serialize(scene);
string svg = TemporalSvgRenderer.Render(scene);

Hosts supply playback time. JSON schema 1.0 and safe SVG consume the existing typed scene; FFmpeg and browser frameworks are unnecessary. See the runtime guide.

var compilation = SoundScriptEngine.CompileFile("notification.ss");
foreach (var warning in compilation.Warnings) Console.WriteLine(warning);
File.WriteAllBytes("notification.wav", compilation.RenderStereoWave());

CompileFile resolves imports and relative sample paths. In-memory Compile rejects imports. Backend validation runs when rendering; MIDI explicitly rejects unpitched hit events. Identical source, assets, options, and engine version produce repeatable audio; compressed-media decoding and experimental transcription have separate limits.

Transcription

using SoundScript.Transcription;

var audio = PcmWaveInput.Decode(File.ReadAllBytes("melody.wav"));
var result = await new TranscriptionEngine().TranscribeAsync(audio);
Console.WriteLine(result.Suitability);
var source = new SoundScriptOutput().Source(result.Score);
File.WriteAllText("melody.ss", source);

Start with a short, clean solo melody. Review suitability and diagnostics before using the result. Melody extraction, piano polyphony, mixed roles, and percussion are experimental. Mixed roles are symbolic estimates, not isolated stems; reconstruction consistency is not ground-truth accuracy. Compressed desktop input and WebM export require a separate FFmpeg installation.

This library complements the existing soundscript CLI; it neither installs nor changes CLI commands. The package contains the reusable libraries, XML IntelliSense documentation for the bundled public assemblies, and the vocal corpus, without CLI or Playground binaries.

Engine: MIT. Included wordbank corpus licensing and provenance are recorded per entry in the bundled contentFiles/any/any/Data/corpus/v2026.07/en/lemmas.json and SOURCES.md (also bundled alongside lemmas.json). Declared licenses include CC0-1.0 and CC-BY-4.0; these historical declarations are not verified licensing or provenance. Of the 66 English pronunciation entries, 61 have declared Commons sources. The five entries bobtail, dashing, sleighing, test, and world have unresolved provenance: their original recording/generation receipts are missing, and their historical CC0 declarations remain unverified. The wordbank CC0 notice in licenses/ does not establish a blanket license for these recordings. Font license notices are also in licenses/.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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
16.0.1 112 9/28/2026
16.0.0 98 9/25/2026
15.0.0 103 9/24/2026
14.0.0 97 9/22/2026
13.0.2 101 9/21/2026
13.0.1 94 9/21/2026
13.0.0 98 9/17/2026