2
0
Fork 0
Public archive of github.com/reales/OPL
Go to file
George Reales 55af434b95 Update readme.md 2020-04-29 20:01:52 +02:00
Instruments Replace dropdowns with buttons (algorithm, percussion). 2017-04-29 21:01:51 +09:00
Source Update PluginGui.h 2020-04-29 19:54:33 +02:00
cmd Implement gdreyband-style sliders and other UI tweaks. 2017-03-04 14:55:44 +09:00
dro2midi Update README 2013-11-14 21:59:30 +08:00
img Commit unfinished work in progress from June. 2017-11-28 22:10:16 +09:00
py Add new SBIs and remove duplicates, upgrade Juce modules. 2016-05-14 21:20:37 +09:00
.gitignore Increment version number and ignore release directory. 2014-08-31 19:36:45 +09:00
COPYING Add GPL v2 license from DOSBox. 2013-10-27 16:47:01 +08:00
JuceOPLVSTi.jucer Remove unused code, fix more warnings. 2018-10-29 23:31:20 +09:00
readme.md Update readme.md 2020-04-29 20:01:52 +02:00

readme.md

discoDSP OPL FM synth plugin for macOS AU / VST / VST3 / Standalone

This instrument provides an emulated OPL sound chip. It provides all features of the OPL2, and some features of the OPL3. It is a slightly modified JUCEOPLVSTi build compiled for macOS only. -The original coder and author is Bruce Sutherland.

Binaries

Release 1.0.0

https://www.discodsp.com/opl/

  • Built with JUCE 5.4.7
  • Notarized and code signed.

What's an OPL?

The OPL is a digital sound synthesis chip developed by Yamaha in the mid 1980s. Among other products, it was used in sound cards for PC, including the Ad Lib card and early Sound Blaster series.

At a technical level: the emulator has channels comprised of 2 oscillators each. Each pair of oscillators is usually combined via phase modulation (basically frequency modulation). Each oscillator can produce one of eight waveforms (sine, half sine, absolute sine, quarter sine, alternating sine, camel sine, square, logarithmic sawtooth), and has an ADSR envelope controlling its amplitude. The unusual waveforms give it a characteristic sound.

How do I use it?

Each instance of the plugin emulates an entire OPL chip, but with this plugin, essentially you are just working with two operators: the carrier and modulator.

Some documentation which may be useful:

What can it do?

Here are some examples:

SBI FIles

SBI files are an instrument file format developed by Creative Labs back in the day for the Sound Blaster. Essentially they work as presets for this plugin. Just drag and drop them into the plugin window!

I've collected a bunch of presets in this repository. I've also added support for saving SBI files. Please contribute!

It's possible to extract SBI instruments from games using DOSBox 0.7.2 and DRO2MIDI by Malvineous.

  1. Run the game in DOSBox.
  2. Start capturing OPL output with ctrl+alt+F7. Output will be recorded to a .dro file.
  3. Run DRO2MIDI: dro2midi -s input_capture.dro output_midi.mid

Note data will be extracted to .mid, instruments will be extracted to .sbi files.

Percussion

Percussion mode is now supported! This mode is not very well documented, even in the original Yamaha documentation. Here are some tips on using it based on experimentation and looking at the DOSBox source code.

  • Bass drum: Uses both operators. Essentially just doubles output amplitude?
  • Snare: Uses carrier settings. Abs-sine waveform recommended.
  • Tom: Uses modulator settings. Sine waveform recommended.
  • Cymbal: Uses carrier settings. Half-sine recommended.
  • Hi-hat: Uses modulator settings. Half-sine recommended.

Also, some much more detailed notes on percussion mode based on experimentation with real hardware!