SpessaSharp 4.3.6
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SpessaSharp --version 4.3.6
NuGet\Install-Package SpessaSharp -Version 4.3.6
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="SpessaSharp" Version="4.3.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SpessaSharp" Version="4.3.6" />
<PackageReference Include="SpessaSharp" />
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 SpessaSharp --version 4.3.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SpessaSharp, 4.3.6"
#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 SpessaSharp@4.3.6
#: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=SpessaSharp&version=4.3.6
#tool nuget:?package=SpessaSharp&version=4.3.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
<p align='center'><img src='spessasharp_logo_rounded.png' width='300' alt='SpessaSynth logo'></p>
SpessaSharp is a C# port of the SpessaSynth library by Spessasus.
Last commit: Support for Overlapping Notes and better Mono Mode
using SpessaSharp.MIDI;
using SpessaSharp.Sequencer;
using SpessaSharp.SoundBank;
using SpessaSharp.Synthesizer;
using SpessaSharp.Utils;
// Process arguments
if (args is not [var pathSoundBank, var pathMidi, var pathWav, ..])
throw new Exception("Expected sound bank, midi, and wav path");
// Read MIDI and sound bank
var midi = Midi.From(new FileInfo(pathMidi));
var soundBank = SoundBank.From(new FileInfo(pathSoundBank));
// Initialize the synthesizer
const int sampleRate = 48_000;
var processor = new SpessaSharpProcessor(
sampleRate, Synthesizer.Options.Default with { EventsEnabled = false });
processor.SoundBankManager.Add(soundBank, "main");
// Initialize the sequencer
var sequencer = new SpessaSharpSequencer(processor);
sequencer.LoadNewSongList([midi]);
sequencer.Play();
// Prepare the output buffers
var sampleCount = (int)Math.Ceiling(sampleRate * (midi.Duration.TotalSeconds + 2));
var outLeft = new float[sampleCount];
var outRight = new float[sampleCount];
var filledSamples = 0;
// Note: buffer size is recommended to be very small, as this is the interval between modulator updates and LFO updates
const int BUFFER_SIZE = 128;
while (filledSamples < sampleCount)
{
// Process sequencer
sequencer.ProcessTick();
// Render
var bufferSize = Math.Min(BUFFER_SIZE, sampleCount - filledSamples);
processor.Process(outLeft, outRight, filledSamples, bufferSize);
filledSamples += bufferSize;
}
var wave = AudioUtil.ToWav([outLeft, outRight], sampleRate);
File.WriteAllBytes(pathWav, wave);
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- System.IO.Hashing (>= 10.0.8)
- System.Numerics.Tensors (>= 10.0.8)
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 |
|---|---|---|
| 4.3.12-nightly-00025 | 0 | 6/27/2026 |
| 4.3.12-nightly-00024 | 45 | 6/26/2026 |
| 4.3.12-nightly-00023 | 61 | 6/25/2026 |
| 4.3.12-nightly-00022 | 80 | 6/24/2026 |
| 4.3.8-nightly-00021 | 79 | 6/23/2026 |
| 4.3.8-nightly-00020 | 96 | 6/22/2026 |
| 4.3.8-nightly-00019 | 93 | 6/21/2026 |
| 4.3.8-nightly-00018 | 88 | 6/20/2026 |
| 4.3.8-nightly-00017 | 93 | 6/19/2026 |
| 4.3.8-nightly-00016 | 98 | 6/18/2026 |
| 4.3.8-nightly-00015 | 112 | 6/17/2026 |
| 4.3.8-nightly-00014 | 100 | 6/16/2026 |
| 4.3.8-nightly-00013 | 95 | 6/15/2026 |
| 4.3.8-nightly-00012 | 92 | 6/14/2026 |
| 4.3.8-nightly-00011 | 89 | 6/13/2026 |
| 4.3.8-nightly-00010 | 87 | 6/12/2026 |
| 4.3.8-nightly-00009 | 100 | 6/11/2026 |
| 4.3.8-nightly-00008 | 90 | 6/10/2026 |
| 4.3.8-nightly-00007 | 86 | 6/9/2026 |
| 4.3.6 | 115 | 5/27/2026 |
Loading failed