Sobre el proyecto
S-MU2000 es un generador de sonido software de código abierto modelado a partir de la Yamaha MU2000, diseñado para funcionar como plug-in dentro de una DAW. Emula el interior de la unidad —una CPU SH7043 más dos chips generadores de sonido SWP30— y ejecuta el firmware genuino sin modificaciones, por lo que las voces y el comportamiento derivan del hardware real. Es un proyecto no oficial, no afiliado a Yamaha.
Estado actual: funciona como VST3 y CLAP en Windows, y como VST3 y Audio Unit (AUv2) en macOS (Apple silicon), con una pantalla frontal estilo hardware más ventanas de edición con ratón y teclado. Un tercero contribuyó un port a Linux de gui, VST3 y CLAP; el autor declara que no puede probarlo ni darle soporte.
No se incluye ninguna ROM, ni en el repositorio ni en ninguna versión. Los usuarios deben extraer la ROM de programa de 4 MB y la ROM de ondas de 32 MB de su propia MU2000; los pasos y herramientas de extracción están documentados en doc/dump/. El proyecto pide explícitamente que las imágenes de ROM volcadas, el firmware modificado y los archivos .ydl personalizados no se redistribuyan ni se publiquen en issues, PRs, discusiones o versiones. La ROM de programa también puede reconstruirse a partir del actualizador publicado por Yamaha.
La calidad de sonido se verifica grabando hardware real por S/PDIF y comparando en bandas de 1/3 de octava: de 1225 voces XG en C4, 1109 coinciden dentro de 1,5 dB, y 60 de las 116 restantes varían una cantidad similar al regrabar de un hardware a otro. También se cubren el modo Performance, los tipos de reverb/chorus, los controladores, el NRPN por batería, el multi EQ y el robo de voces más allá de 128 voces. Las discrepancias restantes se registran en doc/todo.md.
Se incluye un JIT que traduce instrucciones SH2 y MEG a código máquina; en una canción de prueba de 16 partes el uso de CPU es de aproximadamente el 22% del tiempo real en un Ryzen 7 9700X. El LCD muestra lo que dibuja el firmware, y los botones y el dial son clicables. A diferencia de MAME, que mantiene su propio reloj y acumula retardo cuando se controla desde una DAW, este soft synth se controla mediante el callback de audio del host.
Las herramientas incluyen gui (panel, editor, ventanas de efectos), live (entrada MIDI sin pantalla), render (MIDI a WAV), panel (control de panel solo texto), boot, statetest, blocktime, midisend y rec. La entrada MIDI son 4 puertos A–D (64 partes), con modo de puerto DIN mediante --host-midi y un THRU seleccionable por puerto. Los ajustes de RAM respaldada por batería persisten en %LOCALAPPDATA%\S-MU2000\nvram\; los plug-ins leen esa zona y mantienen los cambios en el proyecto de la DAW. El volumen de parte, el filtro, el EG, el EQ y el master EQ se exponen como parámetros de automatización con nombre en VST3/CLAP.
La latencia extremo a extremo medida mejoró de 117 ms a 16 ms en modo exclusivo y a 50 ms en modo compartido; el README señala un mínimo de 38 ms en modo compartido y recomienda --latency 10. El tamaño de búfer del lado de la interfaz y la frecuencia de muestreo (44100) también importan.
La compilación requiere C++20 con MSYS2/MinGW-w64 en Windows, Apple clang++ en macOS, o g++ en Linux. make test ejecuta pruebas de regresión, incluido un subconjunto que no necesita ROMs. Las implementaciones del núcleo de los chips se toman de los archivos de dispositivo de MAME bajo BSD-3-Clause; MAME en sí no se enlaza. Las definiciones de interfaz de VST3 (MIT), las cabeceras de CLAP (MIT) y Dear ImGui (MIT) se importan sin modificar. El código propio del repositorio es BSD-3-Clause, con atribuciones en NOTICE.txt. Los errores encontrados en el SWP30 de MAME se corrigen contra mediciones de hardware y se envían upstream, con varios PRs fusionados y otros en revisión.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.