
Ensoniq SD-1
The SD-1 (1990) comes from a long line of Ensoniq’s evolving Transwave® wavetable digital synthesizers. It began with Ensoniq’s earliest synthesizer, the ESQ-1. That led to the SQ-80, then the VFX and VFX-SD (the latter featuring an on-board sequencer) and then to the SD-1 (and it eventually led to the Fizmo). The SD-1 allows for additive synthesis using waveform modulation, a sort of wavetable synthesis. This puts it into a unique class of digital synthesizers along with the PPG Wave series and Waldorf Microwave series.The SD-1 can create all sorts of acoustic, electric, digital, and analog-like sounds. Its piano sound has over 1 MB of 16-bit waveforms to give it a full and rich realistic tone not found in other digital synthesizers of the time.
A single patch can contain up to 6 of the 168 waves in its ROM memory that can be combined and layered. Advanced and analog-like synth parameters including its dual multi-mode digital filters, three 11-stage envelopes, LFO, and 15 modulation sources allow you to further shape and morph your sounds. There’s even a built-in 24-bit VLSI dual effects processor with reverb, chorus, flanging and delay. The SD-1 also has a standard 61-note keyboard with velocity sensitivity, polyphonic aftertouch and full MIDI implementation with 12 channels for multitimbral functions as well as four 16-bit DAC outputs. Like the VFX-SD, the SD-1 has a professional quality on-board sequencer making it a complete all-in-one music production workstation. This is a 24-track sequencer with 25,000 note capacity and it holds up to 60 sequences and 20 songs. There is quantization (96 ppqn), real-time or step entry, looped or linear mode, and auto-punch in/out. Tracks can be set to control the SD-1’s internal voices or external MIDI equipment, or both at the same time! An on-board 3.5″ disk drive allows you to store your programs, sequences, songs, and even MIDI SYS-EX data. The SD-1 is compatible with all VFX and VFX-SD program librarys too! Source
About this project
We are Sojus Records, one of the longest-running netlabels still active. We are musicians, not programmers, but we love old synths and emulations. We decided to build a fully featured VST3/AU version of the MAME-emulated Ensoniq SD-1/32, which has never been emulated before. Thanks to the recent AI coding revolution, we have successfully built it. Finally a good use of vibe coding! This proof-of-concept is an important step for both musicians and coders. We are looking forward to bringing other MAME synths to life in the future!What’s working?
Everything. Check the original manual here: SD1 Manual @ PolynominalFeatures
- NEW: Full featured preset and disk manager. Browse and play any preset with MIDI keyboard from:
- internal: RAM, ROM 0 and 1, attached cartridge
- any external folders: supported VFX, VFX-SD, SD1 .SYX files, cartridge files, .HFE/.IMG disk images.
- Instant single program, preset and full .SYX bank import.
- Export single program and preset .SYX and .SYX banks from INT RAM, attached cartridge, disk images and cartridge files.
- There’s no need to switch the SYS-EX in menu from now on as it’s always enabled at boot.
- Big thanks to Joe McMahon for his awesome sd1diskutil tool which is embedded and working under the hood.
- Simplified ROM handling for easy installation We completely overhauled how ROM files are handled to make the installation process bulletproof and musician-friendly 🙂
- Musican method: Obtain the Ensoniq SD-1/32
sd132AND Ensoniq LCD2x40_vfxROM files. Start the plugin and it displays a friendly warning screen with a “Locate ROMs…” button. It opens a multi-select file browser where users can pick .zip files, loose .bin files or just open a folder with the files The plugin handles the extraction and copying transparently. Read more
- Musican method: Obtain the Ensoniq SD-1/32
- NEW: Reworked MIDI automation This time really 🙂 Every panel button can be automated and assign to virtual or physical MIDI controller. Read the FAQ !
- NEW: Full MIDI out
- NEW: Removed instance blocking You can load as many instances of a plugin as you want in your DAW! Thanks to kbaccki for investigating the singletons.
- NEW: macOS AU first public build for SELECTED DAWS ONLY! Please note that the AU plugin is ONLY for Logic, GarageBand, MainStage, Ableton Live, Fender Studio Pro (Studio One) and Reaper. Any other DAW must use the VST3 version! Tested on Logic 11, Fender Studio Pro 8, Reaper 7, Ableton Live 12.
- NEW: Save macro button (SAVE PROGRAM) for users without MIDI controllers Read the FAQ!
- Windows 10+ 64 bit VST3 AVX1/AVX2, Mac Intel+ARM Universal Binary VST3 and AU, Linux VST3 Generic/AVX2
- VFX, VFX-SD, SD1 .SYX SYS-EX file import. Read the FAQ!
- FULL VST automation (All keys, sliders and buttons) Read the FAQ!
- Global settings saving
- VST3 state saving
- 4 different panel layouts with resizable GUI and VFD display
- Buffer setting
- 4 outputs: stereo main out, optional stereo aux (dry signal with no effects)
- Can load/save all compatible VFX/VFX-SD/SD1-24/SD1-32 disk images (.img, .hfe, .dsk, .eda) and cartridges (.eeprom, .rom, .cart, .sc32) Read the FAQ!
Known limitations
- DAW automation is not visible on GUI and you can NOT directly select buttons or sliders from the GUI to assign them to a controller. Read the FAQ!
- No floppy drive sound 😀
- Mac binaries require one of the following methods to run due to Apple’s security policies:
- all macOS versions BEFORE Tahoe:
- Manual authorization – The user must go to System Settings > Privacy & Security and, after the DAW has attempted to load the plugin, click the “Open Anyway” button.
- Better method to remove quarantine in terminal. Open a terminal window and run the following command on the plugin bundle:
for VST3:
sudo xattr -rd com.apple.quarantine /Library/Audio/Plug-Ins/VST3/EnsoniqSD1.vst3
for AU:
sudo xattr -rd com.apple.quarantine /Library/Audio/Plug-Ins/Components/EnsoniqSD1.component - Get Sentinel if you stuck with authorization: https://github.com/alienator88/Sentinel
- macOS versions Tahoe and later: Remove quarantine and codesign the plugin. Open a terminal window and run the following command on the plugin bundle:
- install Xcode Command Line Tools if needed:
xcode-select --install - for VST3:
sudo xattr -rd com.apple.quarantine /Library/Audio/Plug-Ins/VST3/EnsoniqSD1.vst3
sudo codesign --force --deep --sign - /Library/Audio/Plug-Ins/VST3/EnsoniqSD1.vst3 - for AU:
sudo xattr -rd com.apple.quarantine /Library/Audio/Plug-Ins/Components/EnsoniqSD1.component
sudo codesign --force --deep --sign - /Library/Audio/Plug-Ins/Components/EnsoniqSD1.component
- install Xcode Command Line Tools if needed:
Requirements
- Please note that this is a hardware-level emulation of the synthesizer, so it places heavy demands on the CPU! Set the buffer setting to higher if buffer underrun occurs. Examples for buffer settings: 2011 Sandy Bridge (AVX1) 2 core i5-2415m: 4096, 2013 Haswell (AVX2) 4 core i7-4770: 2048, 2018 Coffee Lake 6 core i7-8700: 256, 2020 Apple ARM M1 Pro 6P/2E: 128.
- Windows 10 or newer. Windows build is AVX1 or AVX2 optimized.
- Linux Ubuntu 22.04 or equivalent or later. Linux build is AVX2 or Generic optimized.
- macOS 11 Big Sur or newer. As MAME itself cannot be compiled lower than Big Sur (macOS 11) this is the minimum OS for mac. If your Mac is stuck on an older OS, my suggestion is to try OpenCore Legacy Patcher to update your Mac to a compatible OS.
- A VST3 compatible DAW. The AU build is for selected DAWs only! If it’s not working, come back later 🙂
- Tested and working:
- macOS VST3: Ableton Live 12, Bitwig Studio 6, Cubase 15, Fender Studio Pro 8, FL Studio 2025, Reaper 7, Maschine 3.
- macOS AU: SELECTED DAWS ONLY! Please note that the AU plugin is ONLY for Logic, GarageBand, MainStage, Ableton Live, Fender Studio Pro (Studio One) and Reaper. Any other DAW must use the VST3 version! Tested on Logic 11, Fender Studio Pro 8, Reaper 7, Ableton Live 12.
- Windows: Ableton Live 12, Bitwig Studio 6, Cubase 15, FL Studio 2025, Reaper 7, Cantabile.
- Linux: Bitwig Studio 6, Reaper 7 etc.
- Problems? Check Troubleshooting!
ROM Installation
IMPORTANT – ROM Files Required!Due to copyright reasons, the required Ensoniq ROM files are NOT included.
We completely overhauled how ROM files are handled to make the installation process bulletproof and musician-friendly 🙂
- Musican method: Obtain the Ensoniq SD-1/32
sd132AND Ensoniq LCD2x40_vfxROM files. Start the plugin and it displays a friendly warning screen with a “Locate ROMs…” button. It opens a multi-select file browser where users can pick .zip files, loose .bin files or just open a folder with the files The plugin handles the extraction and copying transparently. - Hardcore method: Create a folder named
EnsoniqSD1and another folder inside namedROMsin your user’s Documents folder: - Win
C:\Users\yourusername\Documents»C:\Users\yourusername\Documents\EnsoniqSD1\ROMs - macOS
/yourusername/Documents » - Linux
/Documents » - Obtain the Ensoniq SD-1/32
sd132AND Ensoniq LCD2x40_vfxROM files and place these files in that ROMs folder (zipped or unzipped): - Filename
esqvfd_font_vfx.bin
sd1_32_402_hi.bin
sd1_32_402_lo.bin
sd1_410_hi.bin
sd1_410_lo.bin
u34.bin
u35.bin
u36.bin
u37.bin
u38.bin - Optional: If you want to run the internal sequencer, you need the original disk image:
- Ensoniq SD1 Sequencer OS v410 (SD-1 800K type) Read the FAQ!
/yourusername/Documents/EnsoniqSD1/ROMs/Documents/EnsoniqSD1/ROMsTroubleshooting
- The plugin performs a self-check at every startup, which checks the following: whether it has write permissions to the temp folder and the EnsoniqSD1 folder, checks the Lua plugins, and verifies if the MAME engine failed to start for any reason. It will notify you if it finds any errors.
- We’ve removed the strict ROM verification. Now it’s up to MAME to accept your files; we only check for their presence, and it doesn’t matter whether they’re organized into a folder within the zip file or not. If your ROM has been good so far, it will continue to be good. At startup, it checks for the presence of sd132.zip; if it doesn’t find it, you can set the exact path using a button. We also check to see if all 10 files are present, and you can rescan the zip file without reloading the plugin.
- Whitelist the plugin in your antivirus app. The plugin is writing some data to temp folder and to your Documents/EnsoniqSD1 folder (e.g. settings.xml)
- Your sequencer is blacklisting the plugin: if the plugin scanner provides error message or a log file then send it to us.
- If the plugin is loaded but there’s only
Preset/File ManagerandSettingsbuttons and blank window: the internal MAME engine is not loaded. Check if your OS/PC/MAC is capable to run it. Whitelist plugin in your anti-virus. - Reset global settings: go to Documents/EnsoniqSD1 and delete the file
settings.xml - Report problems at GitHub issues
FAQ
- How do I use the file manager?
OpenPreset/File Managerand select what you want to play:- internal sources (INT RAM, ROM0, ROM1, CARTRIDGE)
- external sources: single program/preset .SYX files, .SYX bank files, sequencer files
- floppy disk images (.IMG, .HFE, .DSK, .EDA)
- cartridge files (.EEPROM, .ROM, .CART, .SC32).
- All programs/presets can be played in every location. You can also import and save programs and presets, read below.
- How do I import SYS-EX (.SYX) files?
OpenPreset/File Managerand browse your folders. You can import single program .SYX withWrite Single Programor program .SYX bankImport Full Bankin a second.
You can import all Ensoniq file types: 1/6/30/60 program files and banks, 1/10/20 preset files and banks, 1/30 and 60 sequences. Note for sequences: you must load the sequencer program first, read below.
Note for Preset importing: A Preset is a combination of three Programs and an effects set-up which can be instantly recalled for use in performance. Presets are handy “performance memories” which allow you to create and save sound combinations, splits, layers, patch select variations, etc. When you import a preset the SYS-EX data doesn’t contains the INT RAM or CARTRIDGE programs. - How do I export SYS-EX (.SYX) files?
OpenPreset/File Managerand select the location first: internal ram or attached cartridge, external disk images or cartridge files. Select one or more programs or presets and pressEXPORT .SYXbutton. Note: you can only export the same file types. You can export all Ensoniq file types: 1/6/30/60 program files and banks, 1/10/20 preset files and banks, 1/30 and 60 sequences. Please note, that ROM0 and ROM1 programs can NOT exported.
Note for Preset exporting: A Preset is a combination of three Programs and an effects set-up which can be instantly recalled for use in performance. Presets are handy “performance memories” which allow you to create and save sound combinations, splits, layers, patch select variations, etc. When you export a preset the SYS-EX data doesn’t contains the INT RAM or CARTRIDGE programs. - How can I save my Programs! to INT RAM?
We added a macro buttonSAVE PROGRAMso users without a MIDI controller can also save programs.
You can also assign the buttons to a physical or virtual MIDI controller. With this workaround you can save the program as you can hold down any buttons simultaneous. - How can I automate the plugin’s buttons and sliders?
You can NOT directly select buttons or sliders from the GUI to assign them to a controller. You should use your DAW’s VST automation parameter listing for the plugin and choose from there.
Note: DAW automation is not visible on GUI! - How do I load Floppy Disk Images (.IMG, .HFE, .DSK, .EDA)?
OpenPreset/File Managerand browse your folder. Open the disk image and play the programs/presets with MIDI keyboard instantly. You can import all Ensoniq file types: 1/6/30/60 program files and banks, 1/10/20 preset files and banks, 1/30 and 60 sequences. Note for sequences: you must load the sequencer program first. Via SD-1: Attach the disk image using thePreset/File Managerbutton andInsert Floppy Image. PressSTORAGE, then selectDISK. PressLOAD. The display will show the Disk Load page with theFile Typeselected. Move the data entry slider or push up/down buttons to select your file or bank. - How do I save my stuff to Floppy Disk Images (.IMG, .HFE, .DSK, .EDA)?
- You can export any Ensoniq file from floppy images with the file manager, you don’t have to attach it to SD-1.
- Here you can find an SD-1 formatted empty hfe disk image. (1.44 MB) Thanks to Headroom for it.
- Attach the disk image using the
Preset/File Managerbutton. PressSTORAGE, then selectDISK. PressSAVE. The display will show the Disk SAVE page with theFile Typeselected. Move the data entry slider or push up/down buttons to select save type. Press*YES*. You can convert SYS-EX data to disk images with this tool.
- How can I load and use the internal Sequencer?
- Attach the disk image using Load
Preset/File Manager. PressSTORAGE, then selectDISK. PressLOAD. The display will show the Disk Load page with theFile Typeselected. Move the data entry slider or push up/down buttons all the way up to selectTYPE=SEQUENCER OS. - Now load the sequencer with pushing the
SEQbutton.
- Attach the disk image using Load
- How can I load/save my Cartridges (.eeprom, .rom, .cart, .sc32)?
- Attach the cartridge image using the
Preset/File Managerbutton. PressSTORAGE, then selectCARTRIDGE. ChoosePROGRAMS/PRESETS/BOTH. ChooseInternal-to-Cartridge(SAVE – only for writeable cartridges) orCartridge-to-Internal(LOAD).
- Attach the cartridge image using the
- Audio Settings: Why can’t I set the Buffer to 0?
This plugin runs a cycle-accurate emulation of the original Motorola 68000 CPU, Ensoniq OTIS (ES5505) and Ensoniq ESP (ES5510) and other chips. On the real physical SD-1, the time it takes from pressing a key to hearing a sound is approximately 24.4 milliseconds.
Because the MAME emulator runs asynchronously on its own background thread, we need a tiny “safety pool” (the plugin buffer) to ensure the audio stream never drops out.
A setting of 128 samples is incredibly fast and highly recommended for live playing.
The plugin reports its exact hardware latency to your DAW automatically (Plugin Delay Compensation), so during playback and rendering, your tracks will always be perfectly in sync and on the grid!
License and credits
Built with love by MAMEDev and contributors and sojusrecords.comThis project is released under GNU General Public License version 2/3.
MAME® Legal Information
Disclaimer
The source code to MAME® is provided under the GNU General Public License version 2 or later as of Git revision 35ccf865aa366845b574e1fdbc71c4866b3d6a0f and the release of MAME® 0.172. Source files may also be licensed as specified in the file header. This license does not apply to prior versions of MAME®.
MAME® Copyright © 1997-2026 MAMEDev and contributors
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
es5510, vfxcart, esqpump, panels license:
BSD 3 Clause | Copyright (c) Christian Brunschen
m68000, wd_fdc Emulation license
BSD 3 Clause | Copyright (c) Olivier Galibert
esq5505 Emulation license
BSD 3 Clause | Copyright (c) R. Belmont, Parduz
esqpanel, vfd, midi Emulation license
BSD 3 Clause | Copyright (c) R. Belmont
es5506, emu, emupal, speaker Emulation license
BSD 3 Clause | Copyright (c) Aaron Giles
mc68681 Emulation license
BSD 3 Clause | Copyright (c) Mariusz Wojcieszek, R. Belmont, Joseph Zatarski
hd63450 Emulation license
BSD 3 Clause | Copyright (c) Barry Rodewald
esqlcd Emulation license
BSD 3 Clause | Copyright (c) Parduz
nvram Emulation license
BSD 3 Clause | Copyright (c) Nigel Barnes
floppy Emulation license
BSD 3 Clause | Copyright (c) Nathan Woods, Olivier Galibert, Miodrag Milanovic
softlist_dev Emulation license
BSD 3 Clause | Copyright (c) Wilbert Pol
esq16_dsk Emulation license
BSD 3 Clause | Copyright (c) R. Belmont, Olivier Galibert
hxchfe_dsk Emulation license
BSD 3 Clause | Copyright (c) Michael Zapf
logmacro Emulation license
BSD 3 Clause | Copyright (c) Vas Crabb
sd1diskutil
Copyright (c) Joe McMahon
and so many others. Thank you for your work!
Built with JUCE® Framework © Raw Material Software Limited
All trademarks are property of their respective owners.
Download here for free




























Spain










France
Germany
Hungary



















