La OPL (FM Tipo L-operador) series fueron desarrollado por Yamaha como de bajo costo chips de sonido que proporcionan la síntesis FM para su uso en aplicaciones informáticas.
Fichas en la serie
OPL
El YM3526 fue el primero en la familia OPL, proporcionando un sintetizador de nueve canales y dos operadores. Se utilizó principalmente en una expansión de Commodore 64 , Sound Expander , así como en varios juegos de arcade , como Terra Cresta y Bubble Bobble .
Un chip muy relacionado es el Y8950 , o MSX-AUDIO , que se utilizó como expansión MSX . Es esencialmente un YM3526 con capacidad de grabación y reproducción ADPCM .
El circuito tiene 244 registros diferentes de solo escritura . Puede producir 9 canales de sonido, cada uno compuesto por dos osciladores o 6 canales con 5 instrumentos de percusión disponibles. Cada oscilador puede producir ondas sinusoidales que también se pueden modificar en otras 3 formas de onda: la parte negativa del seno se puede silenciar o invertir, y también se pueden producir pseudo ondas de diente de sierra (¼ de ondas sinusoidales hacia arriba solo con secciones silenciosas en el medio). Esta extraña forma de producir formas de onda le da al YM3812 un sonido característico. Cada generador de ondas tiene su propio generador de envolvente ADSR . Su principal método de síntesis es la síntesis de modulación de frecuencia , que se logra mediante la modulación de fase de la fase de los osciladores de un canal mediante la salida de otro.
Operación interna
El funcionamiento interno del chip es completamente digital. Cada tono de FM es generado por un oscilador digital usando una forma de síntesis digital directa . Un oscilador de baja frecuencia y un generador de envolvente impulsan a un operador de FM para producir una salida de punto flotante para el DAC. La decapsulación del chip muestra dos tablas de búsqueda, una para calcular exponentes y otra para log-seno. [1] Esto permite al operador FM calcular su salida sin multiplicadores, utilizando la fórmulay dos tablas de búsqueda de 256 entradas. Ambas tablas se almacenan como pares de valores redondeados al número entero más cercano, con el segundo valor representado como la diferencia entre este y el primer valor.
Una cuarta parte de la forma de onda sinusoidal transformada logarítmicamente se almacena como una aproximación muestreada en una tabla de memoria de solo lectura (ROM) de 256 palabras , calculada porpara valores de 0 a 255. El resto de la forma de onda sinusoidal se extrapola mediante su propiedad de simetría. El escalado de la salida de un oscilador a un volumen deseado normalmente se haría mediante multiplicación, pero el YM3812 evita las multiplicaciones al operar en señales transformadas logarítmicamente , lo que reduce las multiplicaciones en adiciones computacionalmente más baratas. [2]
Otra ROM de 256 palabras almacena la función exponencial como una tabla de búsqueda, utilizada para convertir la señal de escala logarítmica de nuevo a escala lineal cuando sea necesario, como la etapa final donde se suman las salidas del oscilador (justo antes del bus de salida DAC) , con la forma de onda del modulador siempre retardada una muestra antes de la forma de onda portadora. [3] Esta tabla se calcula mediantepara valores de 0 a 255. Para calcular el exponente, se suma 1024 al valor en el índice dado por el byte de entrada menos significativo ; esto se convierte en el significado y los bits restantes de entrada se convierten en el exponente de la salida de coma flotante.
La salida del YM3812, una secuencia de números de punto flotante sincronizados a una frecuencia de muestreo de aproximadamente 49716 Hz, se envía a un chip convertidor de digital a analógico (DAC) separado, el YM3014B.
Descripción general de los registros de un canal:
Para todo el canal:
- Frecuencia principal (10 bits)
- Octava (3 bits)
- Nota activada / desactivada
- Modo de síntesis (FM o simplemente aditivo)
- Feedback (0–7, el modulador se modula a sí mismo)
Para cada uno de los 2 osciladores:
- Multiplicación de frecuencia (se puede establecer en ½, 1 a 10, 12 o 15)
- Forma de onda (seno, medio seno, seno absoluto, cuarto de seno)
- Volumen (0 a 63, logarítmico)
- Attack, Decay, Sustain, Release (4 bits cada uno, logarítmico)
- Tremolo (encendido o apagado)
- Vibrato (encendido o apagado)
- Sostener (encendido o apagado)
- Escala de envolvente por tecla (activada o desactivada)
- Escala de volumen por tecla (0-3)
También hay algunos parámetros que se pueden configurar para todo el chip:
- Profundidad de vibrato
- Profundidad de trémolo
- Modo de percusión (utiliza 3 canales para proporcionar 5 sonidos de percusión)
- Modo sinusoidal compuesto (consulte Síntesis de ondas sinusoidales )
OPL2
Yamaha creó el YM3812, también conocido como OPL2, en 1985. Tuvo un amplio uso en tarjetas de sonido basadas en PC de IBM como AdLib , Sound Blaster y Pro AudioSpectrum (8bit) , [4] así como en varios juegos de arcade de Nichibutsu. , Toaplan y otros.
Yamaha YM3812-F SMD (chip OPL2 de montaje en superficie)
YM3812, mostrando la superficie del troquel
El OPL2 es compatible con versiones anteriores del YM3526, solo agrega 3 formas de onda nuevas. Otro chip relacionado es el YM2413 (OPLL), que es una versión reducida.
OPL3
Se utilizó una versión mejorada del OPL2, el Yamaha YMF262 (OPL3), en varias tarjetas de sonido de IBM PC, incluidas Sound Blaster 16 y Pro AudioSpectrum (16 bits) .
El YMF262 mejoró el conjunto de características del YM3812, agregando las siguientes características: [5]
- el doble de canales (18 en lugar de 9)
- estéreo simple (extremo izquierdo, central o extremo derecho)
- Salida de sonido de 4 canales
- 4 nuevas formas de onda (seno alterno, seno "camel", cuadrado y diente de sierra logarítmico)
- 4 modos de operador, emparejando 2 canales juntos para crear hasta seis voces FM de 4 operadores
- latencia reducida para el acceso al registro de host (el OPL2 tenía retrasos de acceso de E / S mucho más largos)
- diferencias sutiles en la tabla de búsqueda de ondas sinusoidales y el generador de envolvente para YM3812 (por ejemplo, la forma de onda del modulador en YM3812 se retrasa en una muestra, mientras que las formas de onda portadora y moduladora en OPL3 están sincronizadas correctamente) [6]
YMF262 también eliminó la compatibilidad con el modo CSM poco utilizado, incluido en YM3812 y YM3526. [6]
El modo de síntesis FM del YMF262 se puede configurar de diferentes formas: [5]
- Su modo básico proporciona 18 canales FM para dos operadores.
- Un ajuste, común a la línea OPL, convierte 3 de los canales de FM en un conjunto de percusión de 5 canales.
- Otra configuración, introducida con este chip, hace que 12 de los canales se emparejen en seis canales de cuatro operadores. Esto cambia la polifonía por una formación de sonido más compleja.
- Los dos ajustes se pueden utilizar por separado o en conjunto, lo que da como resultado cuatro modos totales:
- 18 canales de 2 operadores
- 15 canales de 2 operadores + 5 canales de batería (configuración de batería activada)
- 6 canales de 2 operadores + 6 canales de 4 operadores (configuración de 4 operaciones activada)
- 3 canales de 2 operadores + 6 canales de 4 operadores + 5 canales de batería (ambos ajustes activados)
Al igual que su predecesor, el OPL3 emite audio en forma de E / S digital, lo que requiere un chip DAC externo como el YAC512.
Los proveedores de chips de sonido de la competencia (como ESS, [7] OPTi, [8] Crystal [9] y otros) diseñaron sus propios chips de audio compatibles con OPL3, con diversos grados de fidelidad al OPL3 original.
Yamaha YMF289
Yamaha también produjo una variante de bajo consumo totalmente compatible, la YMF289 OPL3-L, que tenía como objetivo tarjetas de sonido PCMCIA y computadoras portátiles. [10] Se utilizó en algunas tarjetas de sonido Sound Blaster 16 fabricadas por Creative Technology . El YMF289B está emparejado con un chip DAC de punto flotante complementario YAC513 o YAC516.
El YMF289 es totalmente compatible con el registro y conserva el conjunto de funciones del YMF262, con una serie de diferencias: [10]
- Admite operación de 5 o 3,3 voltios.
- Los registros pueden ser leídos o escritos por la CPU host, mientras que en el YMF262 son de solo escritura.
- Frecuencia de muestreo de salida de 44100 Hz (44,1 kHz).
- Se agrega un modo de apagado.
- Huella general algo más pequeña, incluido DAC, en comparación con una implementación completa de YMF262.
- Reloj de entrada de 33,868 MHz, en comparación con el reloj de entrada de 14,32 MHz utilizado para el YMF262.
- Interpolador lineal interno.
Yamaha YMF289B y compañero YAC516 DAC
ESS ESFM
El derivado desarrollado internamente de ESS Technology , denominado ESFM , es un clon mejorado, compatible con OPL3 de 20 voces y 72 operadores que incorpora dos modos de funcionamiento, un modo nativo y un modo heredado, que controla su conjunto de funciones y comportamiento. . [7] En el modo nativo, ESFM permite mapear más de seis voces FM de 4 operadores, lo que potencialmente permite un aumento significativo en la complejidad de los tonos generados. Los controladores para Windows 9x incorporan sus propios parches de instrumentos personalizados que hacen uso de este modo extendido. Por el contrario, el modo Legacy proporciona compatibilidad retroactiva total con el YMF262 de Yamaha. [7] La salida de ESFM en este modo es moderadamente fiel a la del YMF262 en general, pero algunos tonos se reproducen de manera bastante diferente, lo que resulta en distorsiones únicas en el sonido y la música de algunos juegos.
ESFM está disponible en chips de sonido ESS a partir del ES1688 AudioDrive basado en ISA, hasta el ES1938 Solo-1 basado en PCI, mientras que los chips anteriores requerían un chip sintetizador de FM externo (típicamente un Yamaha YMF262). La serie Maestro de ESS de chips de sonido basados en PCI se basa en una implementación de software de síntesis FM que carece de las características especiales de ESFM.
El ES1869F es uno de varios chips de sonido desarrollados por ESS que incorporan su función ESFM única.
OPL4
Los controladores de audio para PC posteriores de Yamaha, incluido el YMF278 ( OPL4 ), el Yamaha YMF718 / 719S de un solo chip y la familia PCI YMF724 / 74x, incluían el bloque de síntesis FM del YMF262 para ofrecer compatibilidad con el software heredado. Consulte YMF7xx para obtener más información.
Productos que utilizan la serie OPL
El YMF262 se utilizó en muchas tarjetas de sonido , incluida la popular Sound Blaster Pro 2 , Sound Blaster 16 ASP [11] . Los modelos posteriores de la serie Sound Blaster 16 y Sound Blaster AWE integraron el OPL3 con otros chips. En el modelo final, Creative Labs utilizó un chip de clonación OPL3, el CQM, integrado con otros chips. [12] Se utilizó en el Pro AudioSpectrum (16 bits). [11]
Sintetizadores
Sintetizadores que utilizan el YM3812: [13]
- Yamaha PSR-11 49 teclas 16 sonidos (1986)
- Yamaha PSR-12 49 teclas 32 sonidos (1987)
- Yamaha PSR-21 49 teclas, 16 sonidos, deslizadores de 2 pasos (1986)
- Yamaha PSR-22 49 teclas 32 sonidos, deslizadores de 2 pasos (1987)
- Yamaha PSR-31 61 teclas 16 sonidos, chip YM3301 adicional [14] para batería (1991)
- Yamaha PSR-32 61 teclas 32 sonidos, chip YM3301 adicional [14] para batería (1987)
- Yamaha PSS-360 49 miniteclas 21 sonidos, controles deslizantes de 5 pasos, versión mono de bajo costo de PSS-460 (1986)
- Yamaha PSS-460 49 miniteclas 21 sonidos, deslizadores de 5 pasos (1986)
- Yamaha PSS-470 49 miniteclas 21 sonidos, deslizadores de 5 pasos (1987)
- Yamaha PSS-560 49 miniteclas 21 sonidos, deslizadores de 5 pasos, chip YM3301 adicional [14] para batería (1986)
- Yamaha PSS-570 49 miniteclas 21 sonidos, deslizadores de 5 pasos, chip YM3301 adicional [14] para batería (1987)
Sintetizadores que usan el YM2413 (costo reducido YM3812): [13]
- Yamaha PSR-6 49 teclas 100 sonidos (1994)
- Yamaha PSS-140 37 mini teclas 100 sonidos (1988)
- Yamaha PSS-170 44 mini-teclas 100 sonidos (1986)
- Yamaha PSS-270 49 mini teclas 100 sonidos (1986)
Variantes y derivadas
En 2015, se escribió una implementación RTL de código abierto del OPL3 en SystemVerilog y se adaptó a una FPGA . [15]
Ver también
- Lista de productos Yamaha
- Yamaha YM3812
- Yamaha YM2413
Referencias
- ^ http://yehar.com/blog/?p=665
- ^ https://docs.google.com/document/d/18IGx18NQY_Q1PJVZ-bHywao9bhsDoAqoIn1rIm42nwo/
- ^ http://dev.kewl.org/misc/ymf262/ymf262.c
- ^ https://www.youtube.com/watch?v=z3DU2mNBa6M&t=10m11s
- ^ a b https://web.archive.org/web/20030520163334/http://www.fit.vutbr.cz/~arnost/opl/lost+found/ymf262.pdf
- ^ a b http://dev.kewl.org/misc/ymf262/ymf262.c
- ^ a b c ftp://ftp.alsa-project.org/pub/manuals/ess/DS1878A.PDF
- ^ http://www.datasheets360.com/pdf/-97977721078553128
- ^ http://gd.tuwien.ac.at/linux/alsa/datasheets/cirrus/4236b.pdf
- ^ a b http://doc.chipfind.ru/pdf/yamaha/ymf289b.pdf
- ^ a b https://www.youtube.com/watch?v=z3DU2mNBa6M&t=10m11s
- ^ http://www.flaterco.com/kb/audio/ISA/index.html
- ^ a b "Conozca los teclados" Soundblaster "poco conocidos . El chico de 8 bits, Youtube . Consultado el 19 de agosto de 2015 .
- ^ a b c d "Edward D-tech, chips de Yamaha, serie YM" . Edward D-tech. Archivado desde el original el 16 de mayo de 2016 . Consultado el 25 de enero de 2016 .
- ^ https://github.com/gtaylormb/opl3_fpga
enlaces externos
- http://www.oplx.com/ Información de programación de la serie OPL
- MIDIbox FM , un sintetizador de bricolaje basado en YMF262
- AdlibTracker.net Adlib Tracker II (YMF262-Tracker)
- RAD Reality Adlib Tracker (YMF262-Tracker)
- Un emulador YMF262 con un reproductor en línea para música OPL3.
- OPLx descapsulado (un informe de ingeniería inversa)
- OPL3_FPGA GitHub OPL3 de ingeniería inversa en un FPGA
- Análisis de las matemáticas de OPL3