-
Notifications
You must be signed in to change notification settings - Fork 39
Using the OPL3 Bank Editor
The OPL3 Bank Editor by Wohlstand is a great tool to experiment with the register settings of the OPL2 chip. You can define your own instruments, import instrument banks from games, export your own instruments and use them in your synth code with the Arduino OPL2 library. The OPL3 Bank Editor has support for the OPL2 Audio Board that allows you to use a real OPL2 as a playback device instead of an emulated one. Also the OPL3 Bank Editor comes with a lot of example instruments banks that allow you to start playing with the synthesizer within minutes!
The OPL3 Bank Editor can be downloaded from Wohlstand's Github page. You will need one of the 'Fresh dev builds' for OPL2 Audio Board support.
To configure the OPL3 Bank Editor for use with the OPL2 Audio Board:
- Load the SerialPassthrough example sketch on your Arduino or dev board of choice. The sketch can be found under the File 🡒 Examples 🡒 Arduino OPL2 menu.
- Start the OPL3 Bank Editor (use administrator rights).
- Click the Settings menu and select Choose chip emulator 🡒 Serial port OPL interface.
- Again open the Settings menu and select Hardware OPL...
- In the dialog that opens select the serial port of your Arduino that has the OPL2 Audio Board connected.
- The baud rate should be set to 115200.
- Set the protocol to 'Arduino OPL2'.
After setting up the editor you can load one of the instrument banks that comes with the editor and try the instruments out by selecting an instrument from the list on the left hand side and clicking on the piano keys, or plessing keys on your keyboard.
The OPL3 Bank Editor is built to support both OPL2 and OPL3 chips. Since the OPL2 Audio Board is using an OPL2 chip you can only use the top operators: Carrier 1 and Modulator 1. You can disable the two additional operators of the OPL3 by unchecking the Enable 4-operator checkbox.
- OPL2 Audio Board assembly guide
- Connecting the OPL2 Audio Board
- Connecting the OPL3 Duo!
- Troubleshooting
- Definitions
- Constructors and initialization
- Utility functions and helpers
- Instrument functions
- Register getters and setters
- OPL3Duo extensions
- Low level access
- Running OPL2 Audio Board example code on your OPL3 Duo!
- In-depth OPL2 and OPL3 programming guide
- Making a sound
- Working with instruments
- Using the OPL3BankEditor
- DosBox configuration (MIDI only)
- DosBox-X configuration
- Nuke.YKT's serial OPL2/OPL3 protocol
- Bonus project: Touch sensor piano