NukedOPL3Sharp 1.1.0
dotnet add package NukedOPL3Sharp --version 1.1.0
NuGet\Install-Package NukedOPL3Sharp -Version 1.1.0
<PackageReference Include="NukedOPL3Sharp" Version="1.1.0" />
<PackageVersion Include="NukedOPL3Sharp" Version="1.1.0" />
<PackageReference Include="NukedOPL3Sharp" />
paket add NukedOPL3Sharp --version 1.1.0
#r "nuget: NukedOPL3Sharp, 1.1.0"
#:package NukedOPL3Sharp@1.1.0
#addin nuget:?package=NukedOPL3Sharp&version=1.1.0
#tool nuget:?package=NukedOPL3Sharp&version=1.1.0
NukedOPL3Sharp
A C# port of nukeykt’s Nuked-OPL3 FM synth core, plus a small MIDI player application that demonstrates how to drive the chip from a Standard MIDI (.mid) file.
Projects
NukedOPL3Sharp(chip/core library)- Implements the OPL3 chip as a register-driven synthesizer.
- Main entry point:
NukedOPL3Sharp.Opl3Chip(Reset,WriteRegister,GenerateStream, etc.).
NukedOPL3Sharp.MidiPlayer(demo application)- Loads
.mid/.midifiles. - Loads instrument banks in
.op2and.woplformats (user-selected; not bundled/autoloaded). - Renders audio by translating MIDI events into OPL3 register writes and then pulling PCM from
Opl3Chip.
- Loads
How the MIDI demo wires up the chip
At a high level, the data flow is:
MidiFileparses the.midfile into events.MidiSequenceschedules events over time (ticks → samples) at a fixed sample rate.OplMidiSynthreceives MIDI events (note on/off, CC, program change, pitch bend), looks up patches from the loaded.op2/.woplbank, and writes the corresponding OPL register values into anOpl3Chip.MidiPlaybackEngine.Render(...)asks the chip for audio viaOpl3Chip.GenerateStream(...)into an interleaved stereo buffer, then applies master gain and a light DC high-pass filter.PlaybackServicestreams the generated audio to the sound device via OpenAL.
This is intentionally structured so the demo shows the minimum “glue” required to:
- convert MIDI timing to sample timing,
- map MIDI programs/drums to OPL patches,
- and drive
Opl3Chippurely through register writes.
License
NukedOPL3Sharp(chip/core library): GNU LGPL v2.1 — seeLICENSE.NukedOPL3Sharp.MidiPlayer(application code): BSD 3-Clause — seeNukedOPL3Sharp.MidiPlayer/LICENSE.txt.
Note: NukedOPL3Sharp.MidiPlayer depends on the LGPL-licensed NukedOPL3Sharp library, so redistributions must comply
with both.
Third-party notices
See THIRD_PARTY_NOTICES.md.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. 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 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on NukedOPL3Sharp:
| Package | Downloads |
|---|---|
|
Spice86
Reverse engineer and rewrite real mode dos programs |
|
|
Spice86.Core
Reverse engineer and rewrite real mode dos programs |
GitHub repositories
This package is not used by any popular GitHub repositories.