Close

Beta Testing Time!

A project log for OPL Studio - OPL2 / OPL3 MIDI Interface

a MIDI interface for the OPL2 Audio Board and OPL3 Duo!

maarten-janssenMaarten Janssen 07/11/2022 at 13:480 Comments

Wow it almost feels embarasing to write an update after such a long time! So much time has passed that I'm sure that I'm going to forget mentioning many of the project updates from the past months. 

More on Settings

There is now a new settings panel for OPL Studio settings that allows you to change the type of OPL board you're using. The default will be double OPL3 for the OPL3 Duo! board, but if you're using an OPL2 Audio Board with the OPL Studio then here you can change it to the single OPL2 setting. This also allows you to change whether to load 2-OP instruments vs 4-OP instrument or no default instruments at all. In a later version of the software I also want to add the ability to load instrument banks from the SD card on startup.

At the same time OPL2 Audio Board support is now finally working correctly after some OPL2 specific timing issues were fixed.

Next to OPL and instrument settings the clock setup has moved from MIDI setting to OPL Studio settings since it made more sense here.

The area with general settings is still a bit empty with only the option to enable / disable the startup chime and of course there is a factory reset option in case you want to reset to default settings.

Emergency Recovery

Speaking of factory reset... There is now a recovery function that will come in handy in the unfortunate case where settings have been messes up or where the pointer calibration has gone wrong and the touch screen does not function correctly. You can enter recovery mode by holding the panic button on the back of the device while booting. This will reset all settings to default and launch the pointer calibration.

Composer Updates

In terms of modules the composer has seen the most updates over the past weeks. There are now mute buttons for each track and there is now copy / paste functionality. Copying and pasting works by first selecting one or more sequences by clicking on them in the song grid. The selected sequences can then be cut, copied or deleted. After cutting or copying the selection can be pasted into the song by pressing paste and the position in the song grid where to place the selected sequences.

The composer also has better integration with MIDI timing events. For example when the song position is updated the composer will jump to that location in the song grid. It is now also possible to scroll through the song with the second rotary controller, even during playback.

OPL and MIDI Controller Updates

On the lower levels of OPL Studio there have also been many improvements. One of my long term annoyances which was that some instruments were lingering at at a very low volume after stopping a note, has been fixed. This was caused by the frequency of the OPL channel not being reset causing the OPL to still make sound at a very low volume even after the release of a note. The OPL controller now calculates how long the release of a note will take and after that time resets the frequency to make sure the note has really been stopped. 

Another important fix has been in the external MIDI clock. When the external MIDI clock was used it would sometiimes happen that a feedback loop was occurring in the software which caused the clock to go crazy and it couldn't be stopped anymore. Luckily this has been fixed now :)

The MIDI recording trigger has returned to the melody sequencer. I had removed it some time ago since it had become problematic in combination with step recording. The recording trigger can be set by going into record mode and long pressing the play button. Recording will not start, but the active sequence step where recording will start from will start blinking and can be changed by clicking on another step. As soon as a MIDI note on event is received on the input channel of the sequence it will start the recording.

Updates on the External Synthesizer Inputs

I'm not sure if I mentioned this part before, but on the external synth (CV/T) setup there have also been some updates that now allow you to configure one of the CV/T inputs as a clock source or as a gate input to start / stop the internal clock. All CV/T inputs that are in trigger mode now also have the ability to be set to trigger on the rising or falling edge of a gate signal.

Randomizer

One of the followers of the project gave me the suggestion of building a parameter randomizer for the patch editor. I thought this was a great idea that wouldn't take a lot of effort to implement. So now in the patch editor you can open the randomizer that allows you to select the operators and parameters to randomize and with one click you will get a completely random patch. It's great to get some inspiration for new patch setups!

Any Hardware Updates?

On the hardware side nothing has really changed since the last log, except that there is new a trim piece around the LCD. I added this due to the last batch of prototype PCBs that I had made still having issues with the hole for the LCD. Instead of making more tweaks I opted for making the hole big enough to fit a small 3D printed bevel to hide any imperfections. But apart from that nothing has changed on the electronics and only some very minor tweaks on the 3D printed enclosure.

Beta Time!

Probably the biggest update of them all is that now the software has hit version 0.92 and I've sent some of the earlier PCBs to a few people who've been following the project to get some feedback. So that also means that it's time to update the website, completing to write the assembly manual and start on the user manual. I should also make some more demo videos...

I'm getting a small batch of OPL Studio kits ready for Tindie. This is the scary / fun part where there are boxes full of components in my work room waiting  to get packed into kits that in a month or two will be shipped to some of you and where I hope that everyone will enjoy using OPL Studio as much as I did creating it and playing with it! 

Discussions