SoundScript 15.0.0
See the version list below for details.
dotnet add package SoundScript --version 15.0.0
NuGet\Install-Package SoundScript -Version 15.0.0
<PackageReference Include="SoundScript" Version="15.0.0" />
<PackageVersion Include="SoundScript" Version="15.0.0" />
<PackageReference Include="SoundScript" />
paket add SoundScript --version 15.0.0
#r "nuget: SoundScript, 15.0.0"
#:package SoundScript@15.0.0
#addin nuget:?package=SoundScript&version=15.0.0
#tool nuget:?package=SoundScript&version=15.0.0
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
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.
CLI relationship and links
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.
- Quick start
- .NET API guide
- End-to-end NuGet samples and API parity
- Full documentation
- Application samples
- Transcription limits
- Playground
- GitHub
- Project website
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 | Versions 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. |
-
net10.0
- HarfBuzzSharp.NativeAssets.Linux (>= 8.3.1.5)
- Melanchall.DryWetMidi (>= 8.0.3)
- OggVorbisEncoder (>= 1.2.2)
- SkiaSharp (>= 3.119.4)
- SkiaSharp.HarfBuzz (>= 3.119.4)
- SkiaSharp.NativeAssets.Linux (>= 3.119.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.