ES2284227T3 - Generador de señales de tono con funcion de efecto sonoro. - Google Patents
Generador de señales de tono con funcion de efecto sonoro. Download PDFInfo
- Publication number
- ES2284227T3 ES2284227T3 ES99111094T ES99111094T ES2284227T3 ES 2284227 T3 ES2284227 T3 ES 2284227T3 ES 99111094 T ES99111094 T ES 99111094T ES 99111094 T ES99111094 T ES 99111094T ES 2284227 T3 ES2284227 T3 ES 2284227T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- phase
- tone
- signal
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K15/00—Acoustics not otherwise provided for
- G10K15/02—Synthesis of acoustic waves
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
- G10H7/004—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/02—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
- G10H1/04—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation
- G10H1/053—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only
- G10H1/057—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits
- G10H1/0575—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits using a data store from which the envelope is synthesized
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/18—Selecting circuits
- G10H1/183—Channel-assigning means for polyphonic instruments
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Electrophonic Musical Instruments (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
SE DESCRIBE UN GENERADOR DE SEÑAL DE TONO (11) SUSCEPTIBLE DE GENERAR SEÑALES TONALES A LAS CUALES PUEDEN IMPARTIRSE DIVERSOS EFECTOS SONOROS ESPECIALIZADOS. EL GENERADOR DE SEÑALES TONALES (11) COMPRENDE UN DISPOSITIVO DE CONTROL DE ACCESO QUE INHIBE EL ACCESO A UN DISPOSITIVO GENERADOR DE SEÑALES TONALES A LA MEMORIA (13) CUANDO UN DISPOSITIVO DE CONTROL DE NIVEL DETECTA QUE LOS DATOS DE SEÑALES TONALES CONTROLADOS SON INFERIORES A UN VALOR ESPECIFICADO. TAMBIEN SE DISPONE DE UN DISPOSITIVO DE CONTROL DE CAMBIO DE FASE PARA CAMBIAR UNA FASE GENERADORA DE LOS DATOS DE LA ENVOLVENTE DE UNA FASE DE ATAQUE A UNA FASE DE SEGUIMIENTO, CUANDO UNA DIRECCION DE LECTURA EN LA FASE DE ATAQUE DE LOS DATOS DE SEÑALES TONALES ALCANZA UNA DIRECCION FINAL. EL APARATO DE LA INVENCION ES CAPAZ DE REDUCIR CONSIDERABLEMENTE EL CONSUMO DE ENERGIA DEL SISTEMA DURANTE EL PROCESO DE GENERACION DE TONOS Y PERMITE UN ESTRICTO ACOPLAMIENTO DE LA SINCRONIZACION DE FASE DE LOS DATOS DE LA ENVOLVENTE Y LOS DATOS DE SEÑAL TONAL.
Description
Generador de señales de tono con función de
efecto sonoro.
La presente invención se refiere a un generador
de señales de tono que puede generar señales de tono a las que se
proporcionan diversos efectos sonoros especializados como, por
ejemplo, modulación y cambio de tono, junto con tonos musicales y
efectos sonoros normales y, en particular, a la mejora de la
eficacia de acceso a una memoria en la que se memorizan las señales
de tono.
Los aparatos de videojuegos e instrumentos
musicales electrónicos para el ocio utilizados en la práctica
incluyen generadores de señales de tono. En dichos instrumentos,
los datos de las señales de tono memorizados en un cartucho de
videojuegos proporcionados por una ROM o un CD-ROM
son transmitidos a una RAM interna del aparato de videojuegos, y
los datos se leen según el desarrollo de un programa de juego,
llevado a cabo para generar tonos musicales con los efectos sonoros
normales y tonos musicales como música de fondo.
Existen datos de filtro para dotar de diversos
efectos sonoros a los datos de señal de tono que van a generarse en
la RAM, junto con los datos descritos anteriormente, y también se
asignan en la RAM una zona de memoria tampón para proporcionar los
efectos sonoros, y otras zonas para memorizar datos de proceso. De
forma general, la CPU y otros dispositivos del aparato de
videojuegos o instrumento musical acceden con frecuencia a la
RAM.
No obstante, el acceso a la RAM tiene lugar de
forma continua hasta que se entra una señal de desactivación de
teclas (es decir, una señal de desactivación de notas), aun cuando
la generación de una señal de tono sea del nivel más bajo, de
manera que prácticamente no se perciba ningún sonido. El acceso
parece ser pues innecesario, ocasionando un consumo inútil de
potencia.
Para resolver el problema, los programadores han
elaborado un programa para que la señal de desactivación de teclas
se genere durante la generación de señales de tono. No obstante,
dicho programa supone mayores cargas de programación para el
programador. Existen diversas maneras de abordar la liberación de
espacio ocupado innecesariamente de la RAM.
El documento US nº 4.357.849 da a conocer un
asignador de información de conmutadores de tecla. Cuando se pulsa
o libera una tecla, el circuito del teclado genera la información de
la tecla respectiva. A continuación, un procesador de datos
determina si esta información corresponde a una pulsación o a una
liberación de una tecla, y genera un código de tecla que combina
toda la información de tecla. Este código de tecla se envía, a
continuación, a una memoria de asignación. Un generador de
envolvente determina el final del sonido de la nota, al mismo
tiempo, libera el correspondiente código de tecla de la memoria de
asignación y vuelve a enviar esta información al procesador de
datos. En caso de que todos los canales de la memoria de asignación
estén siendo utilizados, la CPU genera una señal de petición que
interrumpe el proceso en ejecución, permitiendo la liberación
rápida de los canales de la memoria de asignación.
En el documento US nº 5.123.323, se da a conocer
un procedimiento para la determinación de un canal de valor extremo
de un instrumento musical electrónico. En la memoria de algunos
instrumentos musicales se proporcionan varios grupos de canales que
memorizan información de tonos musicales, teniendo todos los grupos
objetivos diferentes y, por lo tanto, siendo asignados
independientemente unos de otros. El procedimiento es capaz de
detectar los canales de cada grupo que contiene el tono musical que
tiene el nivel más alto o más bajo de su señal envolvente,
utilizando varias unidades detectoras.
En el documento US nº 5.159.144, se da a conocer
un instrumento musical electrónico que calcula un volumen de
envolvente residual integrado de tonos musicales a asignar a canales
de generación de tonos. Siempre que se estén utilizando todos los
canales de generación de tonos, el canal que contiene el tono
musical de volumen residual integrado mínimo será sustituido por un
tono musical que corresponde a una tecla que acaba de ser pulsada en
un teclado.
En el documento EP 0 204 122, se da a conocer un
instrumento musical electrónico que comprende un teclado. Una CPU
asigna códigos de tecla a canales de generación de tonos
seleccionados de una RAM. De ese modo, el tono se genera de acuerdo
con el código de tecla asignado. Siempre que se pulsa una nueva
tecla del teclado, se alimenta cada uno de los códigos de tecla
memorizados en la RAM a un generador de envolvente, para generar
datos que representan la amplitud de los envolventes del tono
correspondiente. La CPU modifica estos datos utilizando datos de
ponderación correspondientes a los respectivos códigos de tecla
proporcionados por una ROM. En base a estos datos de ponderación,
la CPU selecciona los datos "menos importantes" y los sustituye
por los datos correspondientes a la tecla que acaba de ser pulsada
en el teclado.
La patente US nº 4.067.253 da a conocer un
circuito de generación de tonos con una adaptación de fase de
envolvente.
Aun así, todos estos dispositivos de técnica
anterior necesitan acceder continuamente a los canales de la
memoria RAM para determinar, borrar o liberar el canal que contiene
la señal de tono que tiene el nivel de envolvente más bajo.
Mientras tanto, el generador de señales de tono
habitualmente está provisto de un generador para generar datos de
onda envolvente que se proporcionan a los datos de señal de tono
leídos en la RAM. La Fig. 15 muestra un ejemplo de datos de señal
de tono, p.ej. datos de señal de tono musical, y de datos de onda
envolvente (datos EG). Los datos de señal de tono incluyen datos de
ataque dispuestos en una parte de ataque de los datos de señal de
tono, y datos de bucle dispuestos en la parte siguiente. Los datos
EG se dividen, como se muestra en la Fig. 15, en cuatro fases, A -
fase de ataque, D - fase de decaimiento, S - fase de sostenimiento
(o D2 - segunda fase de decaimiento) y R - fase de liberación.
Cuando se leen los datos de señal de tono, los datos EG se
proporcionan a los datos de señal de tono. En la Fig. 15, los datos
de bucle están dispuestos entre una dirección de inicio de bucle
LSA y una dirección de fin de bucle LEA, y cuando la dirección de
lectura llega a la LEA, ésta regresa de nuevo a la LSA y, de ese
modo, la dirección de lectura ejecuta un bucle entre la LSA y la
LEA.
En el generador de señales de tono mencionado
anteriormente, al cambiar un tono, cambiará la amplitud de cambio
de la dirección de lectura de los datos de señal de tono. Es decir,
si se aumenta el tono, la amplitud de cambio de la dirección de
lectura aumentará, y si se disminuye el tono, la amplitud de cambio
de dirección de lectura disminuirá.
No obstante, puesto que la velocidad de
generación de los datos EG es constante, si la amplitud de cambio
de la dirección de lectura cambia conforme al cambio de tono, el
tiempo de cambio de fase de la fase de ataque a la fase de
decaimiento de los datos EG no coincidirá con el tiempo de fase de
los datos de ataque a los datos de bucle de los datos de señal de
tono. Por lo tanto, no puede generarse una señal de tono
adecuada.
Para resolver el problema, el generador de
señales de tono previo está provisto de un procedimiento de
conversión a escala de teclas, en el que un gradiente de la fase de
ataque cambia en respuesta al cambio de tono. No obstante, en el
procedimiento de conversión a escala de teclas, es difícil mantener
una correspondencia rigurosa de fases entre la fase de ataque de
los datos EG y los datos de ataque de los datos de señal de tono, y
simplificar la estructura para cambiar la forma de los datos EG.
Por consiguiente, uno de los objetivos de la
presente invención consiste en proporcionar un generador de señales
de tono en el que el consumo de potencia se reduzca al mínimo.
Otro de los objetivos de la presente invención
consiste en proporcionar un generador de señales de tono en el que
el acceso a la memoria sea más eficiente.
Finalmente, otro de los objetivos de la presente
invención consiste en proporcionar un generador de señales de tonos
que sea capaz de hacer corresponder de forma rigurosa los tiempos de
fases de los datos EG y los datos de señal de tono.
Según la presente invención, una forma de
realización de la misma comprende una memoria para almacenar datos
de señal de tono, comprendiendo los datos de señal de tono unos
datos de ataque para una fase de ataque de datos de señal de tono y
los siguientes datos para una siguiente fase de los datos de señal
de tono; un controlador de lectura para leer los datos de señal de
tono de la memoria; un generador de datos de envolvente para generar
datos de envolvente que corresponden a la fase de ataque y a la
siguiente fase de los datos individuales de tono; y un circuito de
transmisión de envolvente para modificar los datos de señal de tono
leídos por el controlador de lectura basados en los datos de
envolvente generados por el generador de datos de envolvente, en el
que cuando el controlador de lectura finaliza la lectura de la fase
de ataque de los datos de señal de tono, una fase de datos de
envolvente generada por el generador de datos de envolvente pasa de
la fase de ataque a la siguiente fase para coincidir con los
tiempos de fase de cambio de los datos de envolvente y los datos de
señal de tono.
Según otra forma de realización de la presente
invención, el controlador de lectura genera una señal de control
cuando finaliza la lectura de la fase de ataque de los datos de
señal de tono, y un controlador de cambio de fase cambia la fase de
los datos de envolvente generados por el generador de datos de
envolvente de la fase de ataque a la siguiente fase cuando la señal
de control es generada por el controlador de lectura.
En otra forma de realización de la presente
invención, el generador de señales de tono puede establecerse de
tal manera que el generador de datos de envolvente selecciona una
frecuencia de cambio de datos, antes de que la señal de control sea
generada por el controlador de lectura, el generador de datos de
envolvente selecciona una primera frecuencia de cambio de datos, y
cuando la señal de control es generada por el controlador de
lectura, el controlador de cambio de fase cambia la fase de los
datos de envolvente de la fase de ataque a la fase siguiente,
haciendo que el generador de datos de envolvente seleccione una
segunda frecuencia de cambio de datos, que sea diferente de la
primera frecuencia de cambio de datos.
Esta configuración de un generador de señales de
tono permite que coincidan de manera rigurosa los tiempos de fases
de los datos de envolvente y los datos de señal de tono.
La Fig. 1 es un diagrama de bloques de un
aparato de vídeojuegos, al que se aplica un generador de señales de
tono LSI, que constituye la forma de realización de la presente
invención.
La Fig. 2 es un diagrama de bloques del
generador de señales de tono LSI.
La Fig. 3 es un diagrama de bloques de un
circuito PCM del generador de señales de tono LSI.
La Fig. 4 es un diagrama de bloques de un DSP
del generador de señales de tono LSI.
La Fig. 5 ilustra la estructura interna de una
DRAM que está conectada al generador de señales de tono LSI.
La Fig. 6 ilustra la estructura de un inversor
del circuito PCM.
La Fig. 7 muestra un ejemplo de onda para
modulación, que está memorizada en la DRAM.
La Fig. 8 muestra un ejemplo de envolvente que
es generada por el circuito PCM.
La Fig. 9 muestra una tabla de orden de
prioridad de acceso a la DRAM.
La Fig. 10 es un organigrama que muestra el
proceso de un controlador de memoria.
La Fig. 1 es un diagrama de bloques de un
aparato de videojuegos, al que se aplica un generador de señales de
tono LSI.
El aparato de vídeojuegos 1 tiene una pantalla 4
y un altavoz 5 conectados. La pantalla 4 y el altavoz 5 pueden
utilizarse de la misma forma que los que están instalados dentro de
un receptor de TV normal. También están conectados al aparato de
videojuegos 1, un cartucho de vídeojuegos 3 que tiene una ROM 19 en
la que está memorizado un programa de juego, y un controlador 2
para que un usuario pueda participar en un juego. El controlador 2
está conectado al aparato de videojuegos 1 a través de un cable o
similar, y el cartucho de videojuegos 3 se introduce en una ranura
provista en el del aparato de videojuegos 1.
El aparato de videojuegos 1 está equipado con
una CPU principal (MCPU) 10 que controla todo el programa de
desarrollo del juego. A la MCPU 10, están conectados el controlador
2, la ROM 19 montada en el cartucho de videojuegos 3, un
controlador de pantalla 14 para controlar la pantalla 4, y un
generador de señales de tono LSI 11 para generar señales de tono
como, por ejemplo, señales de tono musical, con efectos sonoros y
tonos musicales como música de fondo. Una CPU de sonidos (SCPU) 12,
una DRAM 13, en la que están memorizados un programa para la SCPU
12 y datos de onda PCM, y un convertidor D/A 16, para convertir los
datos de tonos musicales generados en señales analógicas de tonos
musicales, están conectados al generador de señales de tono LSI 11.
El altavoz 5 está conectado al convertidor D/A 16. El generador de
señales de tono LSI 11 está provisto de un terminal de entrada
externo, en el que se pueden introducir datos digitales de tonos
desde un generador de señales de tono externo 18. Al controlador de
pantalla 14, están conectados una VRAM 15, en la que se memorizan
datos de visualización en pantalla, y la pantalla 4.
Cuando se conecta la alimentación, una vez que
el cartucho de videojuegos 3 se ha introducido en el aparato de
videojuegos, la MCPU 10 lee datos de pantalla específicos y los
envía al controlador de pantalla 14. A continuación, la MCPU 10
graba los programas y los datos de onda PCM en la DRAM 13, para
generar los datos de señal de tono con los efectos sonoros y los
datos de señal de tono BGM (de música de fondo). Seguidamente, el
programa arranca en virtud de la acción del controlador 2, y tiene
lugar el regrabado de los datos de pantalla y la generación de los
datos de señal de tono con los efectos sonoros y los datos de señal
de tono BGM. El control del desarrollo del programa de juego, es
decir, el regrabado de los datos de pantalla, es llevado a cabo
directamente por la MCPU 10. La MCPU 10 indica a la SPCU 12 cómo
generar los datos de señal de tono con los efectos sonoros y los
datos de señal de tono BGM, y la síntesis de la señal de tono real
es llevada a cabo por la SCPU 12, sobre la base del programa y los
datos de onda PCM grabados en la DRAM 13.
La Fig. 2 es un diagrama de bloques interno del
generador de señales de tono LSI 11. En el generador de señales de
tono LSI 11, un circuito PCM 23 genera datos digitales de señal de
baja frecuencia como, por ejemplo, datos de señal de tono y datos
de señal de modulación, cuando lee los datos de onda PCM memorizados
en la DRAM 13 (véase la Fig. 1). Como se ha descrito anteriormente,
cuando se introduce el cartucho de vídeojuegos 3 en la ranura y se
conecta la alimentación, los datos se transfieren de forma continua
desde la ROM 19 hasta la DRAM 13. Por lo tanto, los datos de señal
de tono con los efectos sonoros y los datos de señal de tono BGM
pueden diferir individualmente en cada programa de juego. La MCPU 10
y la SCPU 12 están conectadas a la DRAM 13, a través de un
controlador de memoria 21 y una interfaz de CPU 20, y el circuito
PCM 23 y un DSP (procesador de señales digitales) 24, montados en
el generador de señales de tono LSI 11, están conectados a través
del controlador de memoria 21. La MCPU 10, la SCPU 12, el circuito
PCM 23 y el DSP 24 pueden acceder individualmente a la DRAM 13 en
tiempo compartido. Un registro interno 22 está conectado a la
interfaz de CPU 20. Los datos introducidos en el circuito PCM 23 y
el DSP 24, y los datos para especificar los datos a introducir en
éstos por la MCPU 10 y la SCPU 11, se memorizan temporalmente en el
registro interno 22.
La Fig. 5 muestra la configuración interna de la
DRAM 13.
En la DRAM 13, se asignan una zona de programa
de SCPU para la SCPU 12, una zona de datos de onda PCM y una zona
de memoria tampón en anillo de DSP. Los datos de onda PCM incluyen
datos de onda vocal para generar señales de tono musical con los
efectos sonoros y los tonos BGM, y los datos de onda de modulación
utilizados como parámetros para los efectos sonoros como, por
ejemplo, la modulación. Existen diversos tipos de datos de onda
vocal y datos de onda de modulación, memorizándose cada uno de éstos
en la DRAM 13. La zona de memoria tampón en anillo de DSP se
utiliza para retardar los datos de señal de tono y efectuar, de este
modo, la filtración y la modulación o similares en el proceso del
DSP 24.
Como datos de onda vocal, generalmente, se
utilizan datos muestreados de las señales de tono con efectos
sonoros, o datos muestreados de las señales de tono de un
instrumento natural. Dichas señales de tono generan tonos durante
mucho tiempo, de modo que los datos de onda vocal comprenden datos
de dirección de inicio SA, datos de dirección de inicio de bucle
LSA y datos de dirección de fin de bucle LEA para ser leídos
repetidamente. En primer lugar, se lee la SA, y a continuación se
leen la LSA y la LEA de forma sucesiva y repetida. Como resultado,
la lectura repetida entre la LSA y la LEA permite que la generación
de señales de tono se prolongue en el tiempo. Los datos de onda de
modulación generalmente son datos simples como, por ejemplo, datos
de onda de curva sinusoidal o datos de onda como los mostrados en
la Fig. 7 (Figs. 7A, 7B, 7C), puesto que se emplean para modular
señales de tonos musicales o similares.
El programa de la SCPU, los datos de onda vocal
y los datos de modulación son grabados por la MCPU 10 cuando el
cartucho de videojuegos 3 se introduce en la ranura. La SCPU 12
procesa el programa de la SCPU sobre la base de las instrucciones
de la MCPU 10. El circuito PCM 23 lee los datos de onda PCM sobre la
base de las instrucciones de la SCPU 12, y genera los datos
digitales de señal de baja frecuencia. Los datos digitales de señal
de baja frecuencia se utilizan como datos de señal de tono o datos
de efectos sonoros. El circuito PCM 23 tiene treinta y dos canales
de tiempo compartido, en los que se pueden generar individualmente
treinta y dos clases de datos digitales de señales de baja
frecuencia.
La Fig. 9 muestra una tabla de orden de
prioridad de acceso a la DRAM 13 establecida en el controlador de
memoria 21. El proceso del generador de señales de tono LSI 11 es de
tiempo compartido por treinta y dos divisiones de tiempo del reloj
de muestreo de los datos de onda PCM. El controlador de memoria 21
es procesado por un ciclo de memoria que se genera dividiendo el
tiempo del reloj de muestreo por ciento ocho. Por consiguiente,
cuatro ciclos de memoria corresponden a una división de tiempo del
generador de señales de tono. Como se muestra en la Fig. 9, se
establecen cuatro órdenes de prioridad respecto al derecho de acceso
a la memoria. En el primer orden de prioridad, los derechos de
acceso a la memoria del DSP 24 y del circuito PCM 23 se asignan de
forma alternada, en el segundo, tercer y cuarto orden de prioridad,
se asignan los derechos de acceso a la memoria de un ciclo de
regeneración de la DRAM, la MCPU 10 y la SCPU 12. Debido a que los
procesos del DSP 24 y del circuito PCM 23 son procesos en tiempo
real obligatorios para los datos digitales de señales de baja
frecuencia, en la tabla, se asigna a éstos el orden más alto de
prioridad.
El circuito PCM 23 genera los datos digitales de
señales de baja frecuencia leyendo los datos de onda PCM según las
instrucciones de la SCPU 12. Los datos digitales de señales de baja
frecuencia se utilizan como datos de señales de tono musical como,
por ejemplo, los datos BGM o los datos de modulación. El circuito
PCM 23 tiene treinta y dos canales de tiempo compartido y, por
consiguiente, es capaz de generar de forma independiente treinta y
dos clases de datos digitales de señales de baja frecuencia. El
circuito PCM 23 vigila de forma independiente el nivel de los datos
digitales de señales de baja frecuencia en cada canal, transfiriendo
datos de señal de inhibición de acceso INH al controlador de
memoria 21, cuando considera que ya no es necesario generar más
datos digitales de señal de baja frecuencia, porque el nivel se
halla por debajo de un valor especificado. Cuando se reciben los
INH en un canal, el controlador de memoria 21 detiene el acceso de
este canal a la DRAM 13, y cuando se solicita acceso a la memoria
desde otro dispositivo o circuito, el controlador de memoria 21
accede a la DRAM 13 en respuesta a la petición y, de ese modo, los
elementos inferiores de la tabla de prioridad de acceso a la
memoria tendrán la posibilidad de acceder a la DRAM 13.
Los datos de señal de tono de los datos
digitales de señal de baja frecuencia que el circuito PCM 23 genera
se transfieren al DSP 24, o se transfieren directamente a un
circuito de mezcla de salida OMIX 25. Los datos de señal de
modulación se introducen en el DSP 24 para obtener los coeficientes
de los efectos sonoros. Habitualmente, los datos de lectura de la
zona de datos de onda vocal se utilizan como datos de señal de tono,
y los datos de lectura de la zona de datos de onda de modulación se
utilizan como datos de señal de modulación. No obstante, los datos
de señal pueden utilizarse libremente para generar de ese modo
cualquier efecto sonoro deseado. Por ejemplo, es posible utilizar
los datos de lectura de la zona de datos de onda vocal como datos de
señal de modulación. Además, el DSP 24 tiene un terminal externo en
el que se pueden introducir otros datos de señal de tono u otros
datos de señal de modulación.
El DSP 24 es un circuito para proporcionar
diversos efectos sonoros como, por ejemplo, modulación, filtración
y cambio de tono a los datos de señal de tono introducidos, y
transferir los datos obtenidos de este modo al circuito de mezcla
de salida OMIX 25. Para proporcionar los efectos sonoros a los datos
de señal de tono, los datos de señal de modulación que son uno de
los tipos de datos digitales de señal de baja frecuencia, se
introducen en el DSP 24, y el DSP 24 utiliza los datos de señal de
modulación como las coeficientes para proporcionar los efectos
sonoros. Los datos de señal de tono a los que el DSP 24 proporciona
los efectos sonoros son introducidos en el circuito de mezcla de
salida OMIX 25. El circuito OMIX 25 cambia cada dato de señal de
tono de los treinta y dos canales por datos de señal estéreo en dos
canales, y transfiere los datos de señal estéreo al circuito del
convertidor D/A 16.
La Fig. 3 muestra la configuración interna del
circuito PCM 23.
El circuito PCM 23 comprende un generador de
fase 30, un indicador de dirección 31, un circuito de interpolación
32, un circuito recortador 33, un inversor 34, un generador de ondas
de baja frecuencia para modulación de amplitud (ALFO) 35, un
generador de envolvente 36, un circuito multiplicador 37 y un
sumador 38. El proceso del circuito PCM es llevado a cabo por la
vía de tiempo compartido de los treinta y dos canales.
Desde la SCPU 12, se proporcionan datos FNS, que
especifican la frecuencia en una octava y corresponden a un nombre
de tono de sonido, y datos de octava OCT, siendo estos datos
introducidos en el generador de fase 30. El generador de fase 30
genera datos de fase sobre la base de los datos FNS y OCT para cada
ciclo de muestreo especificado. Los datos de fase se introducen en
el indicador de dirección 31. Los datos de dirección de inicio SA,
los datos de dirección de inicio de bucle LSA y los datos de
dirección de fin de bucle LEA, que especifican un grupo de datos de
onda PCM, se introducen en el indicador de dirección desde la SCPU
12. El indicador de dirección 31 decide una cantidad incremental de
un número de dirección, según los datos de fase introducidos desde
el generador de fase 30, y transfiere datos de dirección que
incluyen una fracción decimal. Los datos de fracción decimal FRA se
transfieren al circuito de interpolación 32, y se transfieren dos
direcciones de entero MEA, entre las cuales se intercalan los FRA,
a la DRAM 13, a través del controlador de memoria 21.
Los primeros datos de onda PCM y los segundos
datos de onda PCM, que se hallan junto los primeros datos de onda
PCM, se leen en la DRAM 13 según las dos direcciones de entero MEA
introducidas. Los datos de onda PCM leídos en la DRAM 13 se
introducen en el circuito de interpolación 32, a través del
controlador de memoria 21. El circuito de interpolación 32
interpola los dos datos de onda PCM introducidos de acuerdo con los
FRA introducidos desde el indicador de dirección 31, y genera los
datos digitales de señal de baja frecuencia. El circuito de
interpolación 32 transfiere los datos obtenidos de este modo al
circuito recortador 33. El circuito recortador 33 es un selector
que hace variar la salida entre los datos digitales de señal de baja
frecuencia introducidos desde el circuito de interpolación 32 y los
datos que sólo constan de "0", seleccionando cualquiera de los
dos tipos para la salida, según datos de señal seleccionados SSCTL
introducidos desde la SCPU 12. Si los SSCTL son "0", los datos
digitales de baja frecuencia introducidos desde el circuito de
interpolación 32 se transfieren tal cual al inversor 34. Si los
SSCTL son "1", en lugar de los datos digitales de señal de
baja frecuencia, se transfieren los datos que sólo constan de
"0" al inversor 34. Debido a que los datos de lectura de la
DRAM 13 a la cual accede el indicador de dirección 31 dejan de ser
válidos por completo cuando los SSCTTL son "1", los SSCTL se
transfieren al controlador de memoria como datos de inhibición de
funcionamiento. Como consecuencia, cuando los SSCTL son "1" en
un canal, no tendrá lugar ningún acceso del canal a la DRAM 13 para
tener en cuenta, de este modo, un ciclo de memoria.
El inversor 34, mostrado en la Fig. 6, invierte
cada bit de los datos digitales de señal de baja frecuencia, que
constan de una pluralidad de bits (por ejemplo, dieciséis bits), de
acuerdo con los SPCTL. Los SPCTL constan de datos de dos bits
introducidos desde la SCPU. Los datos digitales de señal de baja
frecuencia y los SPCTL se introducen en dos terminales de entrada
del circuito XOR. Un bit de mayor peso de los SPCTL se introduce en
el XOR para proporcionar un bit de signo (el bit de máximo peso)
para los datos digitales de señal de baja frecuencia, mientras que
un bit de menor peso de los SPCTL se introduce en el XOR para
proporcionar bits numéricos (bits de amplitud). Si los SPCTL son
"0" y "0", los datos digitales de señal de baja frecuencia
introducidos se transfieren tal cual, de lo contrario, si los SPCTL
son "1" y "0", sólo se invierte para la transferencia el
bit de signo de los datos digitales de señal de baja frecuencia
introducidos. Asimismo, si los SPCTL son "0" y "1", se
invierten para la transferencia los bits numéricos de los datos
digitales de señal de baja frecuencia, y si los SPCTL son "1"
y "1", se invierten para la transferencia todos los bits.
Los datos digitales de señal de baja frecuencia
(incluyendo los datos de señal de corriente continua) transferidos
desde el inversor 34 son introducidos en un circuito multiplicador
39. El ALFO 35 y el EG 36 están conectados a través de un sumador
38 al circuito multiplicador 39. Es decir, los datos de señal de
baja frecuencia generados por el ALFO 35 se introducen en el
sumador 38, y los datos de envolvente generados por el EG 36 son
multiplicados por datos de nivel total TL para su transferencia al
sumador 38. Los datos sumados en el sumador 38 son introducidos en
el circuito multiplicador 39 y un comparador 60. Si se introducen
datos de señal de tono musical normal como datos digitales de señal
de baja frecuencia, el circuito multiplicador 39 procesa la señal
llevando a cabo modulación de amplitud y proporcionando una
envolvente. Si los datos digitales de señal de baja frecuencia o
los datos de envolvente se utilizan como datos de modulación en el
DSP 24, los datos digitales de señal de baja frecuencia se fijan en
un valor especificado y los datos de salida del sumador 38 se
introducen en el circuito multiplicador 39. Si los datos de
modulación para proporcionar los efectos sonoros se introducen como
datos digitales de señal de baja frecuencia, el ALFO 35 y el EG 36
prácticamente no se activan para transferir los datos de modulación
tal cual, siendo éste el objetivo principal del circuito recortador
33 y del inversor 34.
Por consiguiente, si un programador desea
transferir directamente los datos de onda del ALFO 35 o del EG 36
desde el circuito multiplicador 39, deberá establecer los SSCTL en
"1" y los SPCTL, en "0" y "1", por ejemplo. Esto
determina que la salida del circuito recortador 33 quede fijada en
"0, 0.....0", y la salida del inversor 34 quede fijada en los
datos de valor máximo "0,1......1". Estos datos fijados se
multiplican por los datos de salida del ALFO 35 o del EG 36 y, por
consiguiente, los datos de salida del ALFO 35 o del EG 36 son
transferidos directamente desde el circuito multiplicador 39.
En el circuito multiplicador 39, tiene lugar el
proceso descrito a continuación.
Si los datos de señal de tono musical se
introducen en el circuito multiplicador 39 como datos digitales de
señal de baja frecuencia, y los datos de señal de onda de baja
frecuencia se introducen desde el ALFO 35 en el circuito 39, los
datos de señal de tono musical introducidos se modulan mediante los
datos de señal de onda de baja frecuencia.
Si los datos de señal de tono musical se
introducen en el circuito multiplicador 39 como datos digitales de
señal de baja frecuencia, y los datos de onda envolvente se
introducen desde el EG 36 en el circuito 39, los datos de señal de
tono musical introducidos se multiplican por los datos de onda
envolvente para proporcionar el cambio de volumen de tono según los
datos de onda envolvente.
Si los datos de señal de baja frecuencia o los
datos de onda envolvente se utilizan directamente para la modulación
en el DSP 24, los datos digitales de señal de baja frecuencia se
fijan (cambian) a un valor especificado en el circuito recortador
33, y los datos de señal de baja frecuencia o los datos de onda
envolvente se transfieren directamente desde el circuito
multiplicador 39.
Si los datos digitales de señal de baja
frecuencia se utilizan como datos de modulación para proporcionar
los efectos sonoros a los datos de señal de tono, el ALFO 35 y el EG
36 prácticamente no se activan para transferir los datos de
modulación directamente desde el circuito multiplicador 39.
El ALFO 35 y el EG 36 se disponen en un circuito
muy conocido. El ALFO 35 genera los datos de onda de curva
sinusoidal o los datos de onda de baja frecuencia, como se muestra
en las Figs. 7A a 7C, por ejemplo, de acuerdo con datos de
frecuencia LFOS, datos que especifican ondas LFOWS y datos de
influencia (datos de amplitud) LFOA proporcionados por la SCPU 12.
El EG 36 genera los datos de onda envolvente, como se muestra en la
Fig. 8, de acuerdo con datos de frecuencia de ataque AR, datos de
frecuencia del primer decaimiento D1R, datos de frecuencia del
segundo decaimiento D2R y datos de frecuencia de liberación RR
proporcionados por la SCPU 12. Los datos de onda PCM pueden incluir
datos de onda en los que se proporciona una onda envolvente a la
parte de ataque sólo, es decir, la parte que se prolonga desde la
dirección de inicio SA hasta la dirección de inicio de bucle LSA.
Si dichos datos de onda PCM son leídos, los datos de valor máximo
son transferidos desde el EG 36 durante la lectura de la parte de
ataque (véase la línea discontinua de la Fig. 8).
En el comparador 60, los datos de entrada del
sumador 38 se comparan con datos umbral TH. Si los datos de entrada
del sumador 38 son inferiores a los TH de un canal procesado, se
transfieren INH al controlador de memoria 21, puesto que no es
necesario generar más datos digitales de señal de baja frecuencia en
el canal procesado, inhibiéndose, por lo tanto, el acceso a la
memoria del canal procesado para liberar el ciclo de memoria. En
este ejemplo, el valor de los TH se ha establecido, por ejemplo, en
el valor de decaimiento mínimo de los datos de envolvente.
Es posible utilizar un circuito multiplicador en
lugar del sumador 38.
La Fig. 4 es un diagrama de bloques del DSP 24
que se halla incorporado en el generador de señales de tonos LSI
11.
En el DSP 24, los datos digitales de señal de
baja frecuencia para los 16 canales introducidos desde el circuito
PCM 23 pueden ser tratados al mismo tiempo y, asimismo, los datos
digitales de señal de baja frecuencia para los 2 canales
introducidos desde el exterior pueden ser tratados al mismo tiempo.
El DSP 24 procesa los datos introducidos, sometiéndolos a retardo o
filtración cuando los datos son datos de señal de tono, y transfiere
los datos procesados de este modo al circuito mezclador de salida
25. Además, el DSP 24 puede procesar los datos digitales de señal
de baja frecuencia como datos de modulación, es decir, como datos de
coeficiente para proporcionar los efectos sonoros, para cualquier
dato de señal de tono.
En la presente forma de realización, el circuito
PCM 23 dispone de 32 canales, mientras que el DSP 24 dispone de 16
canales. Dicha diferencia en el número de canales puede eliminarse
si una parte de la salida del DSP 24 se transfiere directamente al
circuito mezclador de salida 25.
El DSP 24 dispone de un registro MIXS 41 de 16
palabras que sirve para memorizar los datos digitales de señal de
baja frecuencia introducidos desde el circuito PCM 23. Asimismo, el
DSP 24 dispone de un registro EXTS 42 de 2 palabras que sirve para
memorizar los datos digitales de señal de baja frecuencia
introducidos desde un generador de tonos externo 18. Finalmente, el
DSP 24 dispone de un registro MEMS 43 de 32 palabras que sirve para
memorizar temporalmente los datos que se leen en una memoria tampón
en anillo de la DRAM 13, para ser procesados nuevamente por el DSP
24. Estos registros MIXS 41, EXTS 42 y MEMS 43 están conectados a un
registro 45 y a un selector 48. El registro 45 es un circuito para
memorizar temporalmente los datos de coeficiente (datos de
modulación) e introducirlos en un circuito multiplicador 49, en
sincronización con los tiempos de los datos de señal de tono a
modular. El selector 48 es un circuito para seleccionar los datos de
señal de tono a introducir en el circuito multiplicador 49. La
combinación de los datos de entrada en el registro 45 y en el
selector 48 permite al proceso del DSP 24 proporcionar diversos
efectos sonoros a los datos de señal de tono.
El DSP 24 procesa repetidas veces las 256 etapas
del programa memorizado en una memoria de microprograma 40. El
programa especifica un registro deseado cualquiera de entre los tres
registros MEMS 43, EXTS 42 y MIXS 41 que transferirá los datos al
registro 45 o al selector 48.
Un generador de direcciones de la DRAM 44 genera
datos de dirección para acceder a la memoria tampón en anillo de la
DRAM 13, y los transfiere al controlador de memoria 21. El
controlador de memoria 21 accede a la DRAM 13 por medio de dichos
datos de dirección, para escribir/leer datos a retardar en la
memoria tampón en anillo. El circuito multiplicador 49,
anteriormente descrito, multiplica los datos de señal de tono por
los datos de coeficiente para proporcionar a los datos de señal
diversos efectos sonoros. Los datos de señal de tono a modular se
eligen entre los datos de los registros MIXS 41, EXTS 42, MEMS 43 y
el registro TEMP-RAM 53. El registro
TEMP-RAM 53 es un registro RAM temporal para
memorizar temporalmente los datos, una vez procesados por dicho DSP
24, dando como resultado un breve retardo. Los datos memorizados
temporalmente se introducen para su reprocesamiento en el selector
48 u otro selector 54 por medio de un circuito de realimentación. El
control de los selectores y cualquier otro registro es llevado a
cabo por el programa. Los datos de coeficiente a introducir en el
circuito multiplicador 49 son elegidos por un selector 47. El
registro 45 y un registro de coeficientes 46 en el que se memorizan
datos de coeficientes fijados están conectados al selector 47, y
los datos fijados "000....1" (es decir, "1" de numeración
decimal) son introducidos en el selector 47. El selector 47 elige
uno de estos datos como dato de coeficiente a utilizar, y lo
transfiere al circuito multiplicador 49. Si se elige el registro
45, los datos digitales de señal de baja frecuencia introducidos
desde el circuito PCM 23 pueden proporcionarse, como datos de
modulación para los efectos sonoros, a los datos de señal de tono
introducidos desde el selector 48. Si se elige el registro de
coeficientes 46 en lugar del registro 45, la modulación para los
datos de señal de tono es llevada a cabo por medio de los datos de
coeficiente fijados memorizados en el registro de coeficientes 46.
Si se eligen los datos fijados, "000....1", en lugar de estos
registros, los datos de señal de tono introducidos se transfieren
tal cual al siguiente circuito (un sumador 50).
Los datos de señal de tono transferidos desde el
circuito multiplicador 49 se introducen en el sumador 50. El
sumador 50 suma los datos de coeficiente especificados para sumarlos
a los datos de señal de tono, siendo transferidos los datos sumados
desde dicho DSP 24, a través de un circuito de retardo de 1 reloj 51
y un circuito de desplazamiento 52. El selector 54 elige los datos
de coeficiente especificados para sumar, entre los de salida del
circuito de retardo de 1 reloj 51, los de salida del
TEMP-RAM 53 y los datos fijados que sólo constan de
"0". El circuito de retardo de 1 reloj 51 es un circuito para
retardar los datos sumados para un reloj de muestreo, y el circuito
de desplazamiento 52 es un circuito para desplazar los datos
retardados de este modo mediante un grupo de cifras especificadas
que se establece externamente. El TEMP-RAM 53
retarda durante un momento los datos de salida del circuito de
desplazamiento 52, memorizando los datos temporalmente. En cuanto
al retardo de datos, el retardo de la memoria tampón en anillo (de
10 ms a 1s) de la DRAM 13 es más largo que el retardo del
TEMP-RAM.
En el DSP 24, pueden proporcionarse a los datos
de señal de tono diversos efectos sonoros mediante el retardo de la
memoria tampón en anillo, el circuito de retardo de 1 reloj 51 y el
TEMP-RAM 53, mediante la multiplicación llevada a
cabo por el circuito multiplicador 49 y mediante la suma llevada a
cabo por el sumador 50. Además, como opción, pueden seleccionarse
los datos de entrada para el circuito multiplicador 49, como datos
de señal de tono, entre los datos digitales de señal de baja
frecuencia, los datos digitales de señal del generador de señales
de tono externo 18 y los datos digitales de señal retardados
transferidos desde la memoria tampón en anillo de la DRAM 13.
Asimismo, puede seleccionarse arbitrariamente los datos de
coeficiente para multiplicar, entre los datos digitales de señal de
baja frecuencia, los datos digitales de señal del generador de
señales de tono externo 18, los datos digitales de señal retardados
transferidos desde la memoria tampón en anillo de la DRAM 13 y los
datos de coeficiente fijados del registro de coeficientes 46. Dicha
configuración del DSP 24 permite que los efectos sonoros sean mucho
más amplios y profundos y más opcionales.
La Fig. 10 es un organigrama que muestra un
proceso de control de acceso del controlador de memoria. Dicho
proceso corresponde al primer orden de prioridad de la tabla
mostrada en la Fig. 9. En la etapa n1, el canal de generación de
tonos al que debe accederse tiene desactivación de tecla. Si dicho
canal tiene desactivación de tecla, será posible el acceso de los
elementos inferiores de la tabla a cualquier memoria. En la etapa
n2, se comprueba si se han introducido o no INH desde el circuito
PCM 23. Si INH = "sí", será posible el acceso de los elementos
inferiores de la tabla a cualquier memoria, aunque el canal no tenga
desactivación de tecla. Se puede acceder a la DRAM para leer los
datos de onda PCM únicamente cuando el canal no tenga desactivación
de tecla y no se hayan introducido INH (n3).
Como se ha descrito anteriormente, en la
presente forma de realización, el circuito PCM 23 transfiere los
INH cuando el nivel de los datos de envolvente o los datos de señal
de baja frecuencia para la modulación, a multiplicar por los datos
digitales de señal de baja frecuencia, es inferior al de los datos
umbral TH especificados, y cuando los SSCTL llegan a ser "1"
para fijar, de ese modo, los datos digitales de señal de baja
frecuencia, el circuito PCM 23 transfiere los datos de inhibición
de acceso a la memoria INH y, por lo tanto, el controlador de
memoria 21 inhibe el acceso a la DRAM 13 en el canal de generación
de tonos en respuesta a los INH, para liberar el ciclo de memoria,
en el que cualquier otro elemento de prioridad inferior como, por
ejemplo, la SCPU 12 o la MCPU 10, pueden acceder.
La Fig. 11 muestra la estructura interna de otro
tipo de circuito PCM 23.
El circuito PCM 23 comprende el generador de
fase 30, el indicador de dirección 31, el circuito de interpolación
32, el generador de ondas de baja frecuencia para modulación de
amplitud (ALFO) 35, el generador de envolvente (EG) 36, el circuito
multiplicador 60 y el controlador de salida 61. El proceso del
circuito PCM 23 es llevado a cabo utilizando el tiempo compartido
de los treinta y dos canales.
Desde la SCPU 12, se proporcionan datos FNS, es
decir, datos que especifican las frecuencias en una octava, que
corresponden a un nombre de tono de sonido, y datos de octava OCT,
siendo estos datos introducidos en el generador de fase 30. El
generador de fase 30 genera datos de fase en base a los FNS y los
OCT para cada ciclo de muestreo especificado. Los datos de fase se
introducen en el indicador de dirección 31. Los datos de dirección
de inicio SA, los datos de dirección de inicio de bucle LSA y los
datos de dirección de fin de bucle LEA, que especifican un grupo de
datos de onda PCM, se introducen en el indicador de dirección 31
desde la SCPU 12. El indicador de dirección 31 decide una cantidad
incremental de un número de dirección según los datos de fase
introducidos desde el generador de fase 30, y transfiere datos de
dirección que incluyen una fracción decimal. Los datos de fracción
decimal FRA se transfieren al circuito de interpolación 32, y dos
direcciones de entero MEA, entre las cuales se intercalan los FRA,
se transfieren a la DRAM 13, a través del controlador de memoria
21.
Los primeros datos de onda PCM y los segundos
datos de onda PCM, que se hallan junto a los primeros datos de onda
PCM, se leen en la DRAM 13 de acuerdo con las dos direcciones de
entero MEA introducidas. Los datos de onda PCM leídos en la DRAM 13
se introducen en el circuito de interpolación 32, a través del
controlador de memoria 21. El circuito de interpolación 32
interpola los dos datos de onda PCM introducidos de acuerdo con los
FRA introducidos desde el indicador de dirección 31, y genera los
datos digitales de señal de baja frecuencia.
La salida del circuito de interpolación 32 se
introduce en el circuito multiplicador 60, al que se proporcionan
los datos de señal de baja frecuencia como, por ejemplo, datos de
onda rectangular y datos de onda en diente de sierra desde el ALFO
35 y el EG 36, o los datos EG mostrados en la Fig. 8. El circuito
multiplicador 60 lleva a cabo el de multiplicación para cada
palabra que es una unidad de procesado en cada división de tiempo
para transferirlo al controlador de salida 38. Los datos digitales
de señal de baja frecuencia, que son la salida del circuito de
interpolación 32, son sometidos a control de envolvente por los
datos de salida del ALFO 35 y del EG 36 y, por consiguiente, son
transferidos al DSP 24 a través del controlador de salida 38.
El DSP 24 actúa sobre dichos datos controlados
sometiéndolos a filtración, y los transfiere al convertidor D/A 16
para transferir señales de tono musical.
El circuito PCM 23 está provisto de una línea de
control para transferir datos CHNG desde el indicador de dirección
hasta el EG 36. Los datos CHNG son datos que se generan cuando el
indicador de dirección 31 detecta un punto final de lectura de la
fase de ataque en los datos de onda PCM. Como se describirá más
adelante, el EG 36 recibe los CHNG para controlar los datos EG, de
manera que los datos EG pasarán de la fase de ataque a la siguiente
fase.
La Fig. 12 es un diagrama de bloques del
generador de fase 30 y el indicador de dirección 3 dispuestos en el
circuito PCM 23.
El generador de fase 30 está provisto de un
circuito de desplazamiento 70 y un acumulador 71. El circuito de
desplazamiento 70 genera datos de frecuencia desplazando los datos
FNS suficientemente para los datos OCT. Los datos de frecuencia se
introducen en el acumulador 71 para generar datos de fase, es decir,
datos de dirección relativa (puesto que la dirección de inicio SA
es "0") para leer los datos de onda PCM.
El indicador de dirección 31 está provisto de un
restador 80, para restar la dirección de fin de bucle LEA de la
zona de datos de bucle (véase la Fig. 5) de los datos de dirección
relativa transferidos desde el acumulador 71, un sumador 81 para
sumar los datos de salida que no sean el bit de signo del restador
80 a los datos de dirección de inicio de bucle LSA, un selector
para seleccionar los datos sumados por el sumador 81 o la salida
del acumulador 71, un sumador 83 para sumar los datos de salida del
selector 82 a los datos de dirección de inicio SA - que son datos
de dirección absoluta -, un sumador 84 y un selector 85 asociado con
el circuito de interpolación 32 para calcular los datos de fracción
decimal FRA, y un comparador 86 para comparar los datos de
dirección relativa con la LSA. La SA se proporciona como dirección
absoluta, siendo proporcionadas la LSA y la LEA como dirección
relativa a la SA.
El proceso del indicador de dirección se
describe con relación a las direcciones de la zona de almacenado de
datos de onda vocal mostrada en la Fig. 5.
El restador 80 resta la LEA de la dirección
relativa del acumulador 71, de manera que el bit de signo de la
salida del restador 80 es negativo al principio de la lectura de los
datos de onda PCM. El selector 82 selecciona la salida del
acumulador 71 para transferirla al sumador 83, cuando la salida del
restador 80 es de signo negativo. Por lo tanto, al principio de la
lectura de datos de onda PCM, la salida del acumulador 71 se
transfiere tal cual al sumador 83 y, a continuación, la salida del
acumulador 71 se suma a la SA, que es la dirección de inicio
absoluta, para transferir la dirección obtenida de este modo como
dirección real de la DRAM 13. El resultado sumado por el sumador 83
se divide en datos de dirección de entero MEA y datos de dirección
de fracción decimal FRA. Los MEA se transfieren tal cual en el
primer ciclo de una división de tiempo, a través del selector 85, y
se suman a "1", mediante el sumador 84, en el último ciclo de
la misma división de tiempo, para transferir los datos sumados de
este modo a través del selector 85. Los dos grupos de MEA se
proporcionan al controlador de memoria 21 en una división de
tiempo, de manera que el controlador de memoria 21 recibe los dos
grupos de MEA en una división de tiempo, transfiriendo dos grupos de
datos correspondientes a la MEA al circuito de interpolación 32
para su interpolación en relación con la FRA.
Cuando el bit de signo de la salida del restador
80 cambia a positivo, los datos de signo positivo hacen cambiar la
selección del selector 82, y el acumulador 71 carga la salida del
sumador 81, debido a que el terminal de signo del restador 80 está
conectado al terminal de carga del acumulador 71. En este momento,
los datos de salida que no son el bit de signo son casi iguales a
"0", de modo que se cargan datos de LSA', que es algo más
grande que la LSA, en el acumulador 71. Cuando la LSA' se carga en
el acumulador 71, el bit de signo de salida del restador 80 vuelve
a ser un signo menos. Entonces, el selector 82 vuelve a seleccionar
la salida del acumulador 71. Por lo tanto, cuando la dirección
relativa de la salida del acumulador sobrepasa la LEA, el selector
82 selecciona la salida del sumador 81 para transferir, a
continuación, la LSA', e inmediatamente después vuelve a
seleccionar la salida del acumulador 71, siendo transferida de este
modo una cantidad incremental desde la LSA' hasta el sumador 83.
Por consiguiente, se llevará a cabo una lectura repetida, como se
muestra mediante una flecha en la Fig. 5.
Los datos de dirección relativa transferidos
desde el acumulador 71 son comparados con la LSA por el comparador
86, y cuando los datos de dirección coinciden, se transfieren los
CHNG al EG 36. El tiempo de salida de CHNG es el tiempo que tarda
la salida del acumulador 71 en llegar a la LSA desde la SA. En el
proceso de bucle, cuando la dirección regresa a la LSA' desde la
LEA, los datos de dirección relativa, la salida del acumulador 71,
pasan a ser la LSA', que sobrepasa ligeramente a la LSA, no
generándose a continuación ningún CHNG en el momento de llegada.
Como se describirá más adelante, la fase de datos EG pasa de la fase
de ataque a la siguiente fase cuando se generan los CHNG.
La Fig. 13 es un diagrama de bloques detallado
del EG 36. Un selector 90 selecciona datos de frecuencia entre
"0", "D1R", "D2R" y "RR", y los transfiere a un
restador 92 según la salida de un circuito de control de cambio de
fase 91. Cada dato de frecuencia representa una amplitud de cambio
de frecuencia para cada reloj. Los datos de frecuencia
seleccionados por el selector 90 se utilizan en primer lugar como
datos de resta desde "0" en el restador 92, y luego se
utilizan como datos de resta de un circuito de retardo de un reloj
93 al siguiente ciclo de reloj. La salida del restador 92 es igual
a la salida del EG, siendo ésta proporcionada al circuito de
control de cambio de fase 91 para comprobar si los datos de EG
llegan a un nivel de decaimiento DL o no. Los datos de EG también se
proporcionan al circuito de retardo 93.
En la estructura anteriormente mencionada, la
salida del restador 92, es decir, la salida del EG 36, decae
gradualmente en base a los datos de frecuencia seleccionados por el
selector 90, salvo cuando la frecuencia es "0". Mientras que
el nivel de salida del circuito de control de cambio de fase 91 se
compara con el nivel de decaimiento DL, en el momento en que se
pasa de la primera fase de decaimiento a la segunda fase de
decaimiento en el circuito de control 91, para comprobar si ambos
niveles coinciden o no. Si coinciden, el selector 90 recibe la
orden de seleccionar los datos de frecuencia D2R. El nivel de
decaimiento DL se establece de antemano, a diferencia de los datos
de activación de tecla KON o similares que son generados por los
eventos. Los datos de activación de tecla KON, los datos de
desactivación de tecla KOFF, y los CHNG del indicador de dirección
31 se introducen en el circuito de control de cambio de fase 91. El
circuito de control de cambio de fase 91 da la orden al selector 90
de seleccionar "0" cuando reciba los datos de activación de
tecla KON, y D1R cuando reciba los CHNG desde el indicador de
direcciones 31. Además, el circuito 91 da la orden al selector 90
de seleccionar RR cuando reciba los datos de desactivación de tecla
KOFF. El proceso de control mencionado permite que la fase de
ataque de los datos EG sean transferidos una vez que se hayan
introducido los KON, que la primera fase de decaimiento D1 sea
transferida una vez que se hayan introducido los CHNG desde el
indicador de dirección 31, que la segunda fase de decaimiento sea
transferida cuando el nivel de datos EG haya llegado al DL y,
finalmente, que la fase de liberación R sea transferida una vez que
se hayan introducido los KOFF.
En el circuito de control anteriormente
descrito, el momento en que se transfiere los CHNG desde el
indicador de dirección 31 es el momento en que el comparador 86
detecta la coincidencia de los datos de dirección relativa del
acumulador 71 y la LSA. Por lo tanto, debido a que los CHNG se
generan cuando la dirección de lectura de los datos de onda de PCM
llega a la LSA, la fase de generación de datos EG se desplaza desde
la fase de ataque A hasta la primera fase de decaimiento D1 del EG
36, de manera que la lectura de datos de onda PCM y la generación
de fase de ataque de los datos EG se entrelazan. Es decir, la
longitud de la fase de ataque L de la Fig. 14 se entrelaza con la
longitud de la fase de ataque de los datos de onda PCM para
permitir, de ese modo, que la longitud de la fase de ataque L sea
ampliada o reducida con precisión según el tono de sonido musical a
generar.
Como se ha descrito anteriormente, la dirección
de final de lectura de la fase de ataque de los datos de señal de
tono musical (los datos de onda PCM) se detecta en el indicador de
dirección 31, los CHNG se transfieren al EG 36 y la fase de datos
EG pasa de la fase de ataque a la siguiente fase en respuesta a los
CHNG en el EG 36. Por consiguiente, los datos EG se entrelazan con
precisión con los datos de señal de tono musical en la parte de
ataque, para generar el tono musical de forma adecuada ante
cualquier cambio de tono.
Claims (3)
1. Generador de señales de tono que
comprende:
una memoria (13) para memorizar datos de señal
de tono, comprendiendo los datos de señal de tono datos de ataque
para una fase de ataque de los datos de señal de tono y los
siguientes datos para una siguiente fase de los datos de señal de
tono; un controlador de lectura (23) para leer los datos de señal de
tono de la memoria;
un generador de datos de envolvente (36) para
generar los datos de envolvente correspondientes a la fase de
ataque y a la siguiente fase de los datos de señal de tono; y
un circuito de transmisión de envolvente (24)
para modificar los datos de señal de tono leídos por el controlador
de lectura (23) basado en los datos de envolvente generados por el
generador de datos de envolvente (36),
en el que cuando el controlador de lectura (23)
finaliza la lectura de la fase de ataque de los datos de señal de
tono, el generador de datos de envolvente (36) cambia una fase de
los datos de envolvente que se van a generar de la fase de ataque a
la fase siguiente.
2. Generador de señales de tono según la
reivindicación 1, en el que el controlador de lectura (23) genera
una señal de control cuando finaliza la lectura de la fase de ataque
de los datos de señal de tono, en el que el generador de datos de
envolvente (36) comprende un controlador de cambio de fase (91), y
en el que el generador de datos de envolvente (36) cambia la fase
de los datos de envolvente que se van a generar bajo el control del
controlador de cambio de fase (91) cuando el controlador de cambio
de fase (91) recibe la señal de control generada por el controlador
de lectura (23).
3. Generador de señales de tono según la
reivindicación 2, en el que el generador de datos de envolvente
(36) genera los datos de envolvente correspondientes a la fase de
ataque utilizando una primera frecuencia de cambio de datos
seleccionada de entre una pluralidad de frecuencias de cambio de
datos, y genera los datos de envolvente correspondientes a la
siguiente fase utilizando una segunda frecuencia de cambio de datos,
que es diferente a la primera frecuencia de cambio de datos,
seleccionada de entre la pluralidad de frecuencias de cambio de
datos.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6-62561 | 1994-03-31 | ||
JP06256194A JP3520553B2 (ja) | 1994-03-31 | 1994-03-31 | 音源装置 |
JP06256494A JP3588815B2 (ja) | 1994-03-31 | 1994-03-31 | 音源装置 |
JP6-62564 | 1994-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2284227T3 true ES2284227T3 (es) | 2007-11-01 |
Family
ID=26403605
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES99111094T Expired - Lifetime ES2284227T3 (es) | 1994-03-31 | 1995-03-23 | Generador de señales de tono con funcion de efecto sonoro. |
ES95104329T Expired - Lifetime ES2141270T3 (es) | 1994-03-31 | 1995-03-23 | Generador de señales de tono con funcion de efecto sonoro. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES95104329T Expired - Lifetime ES2141270T3 (es) | 1994-03-31 | 1995-03-23 | Generador de señales de tono con funcion de efecto sonoro. |
Country Status (8)
Country | Link |
---|---|
US (1) | US5741991A (es) |
EP (2) | EP0675482B1 (es) |
KR (1) | KR100236786B1 (es) |
CN (1) | CN1052090C (es) |
BR (1) | BR9501409A (es) |
DE (2) | DE69535489T2 (es) |
ES (2) | ES2284227T3 (es) |
TW (1) | TW281747B (es) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180063B2 (en) * | 2007-03-30 | 2012-05-15 | Audiofile Engineering Llc | Audio signal processing system for live music performance |
US20150382129A1 (en) * | 2014-06-30 | 2015-12-31 | Microsoft Corporation | Driving parametric speakers as a function of tracked user location |
IT202000004231A1 (it) * | 2020-02-28 | 2021-08-28 | St Microelectronics Srl | Generatore di forme d'onda |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4067253A (en) * | 1976-04-02 | 1978-01-10 | The Wurlitzer Company | Electronic tone-generating system |
JPS5583095A (en) * | 1978-12-18 | 1980-06-23 | Kawai Musical Instr Mfg Co | Allocating device for keyboarddswitch information |
DE3688716T2 (de) * | 1985-04-24 | 1994-03-10 | Yamaha Corp | Elektronisches Musikinstrument. |
US5292997A (en) * | 1989-08-17 | 1994-03-08 | Yamaha Corporation | Touch responsive envelope shape generation device |
JPH0833734B2 (ja) * | 1989-10-11 | 1996-03-29 | ヤマハ株式会社 | 電子楽器における極値チャンネル指定方法 |
US5159144A (en) * | 1990-06-29 | 1992-10-27 | Roland Corporation | Electronic musical instrument employing tone generator selection based on integrated residual envelope volume |
JPH04115295A (ja) * | 1990-09-06 | 1992-04-16 | Yamaha Corp | 楽音制御装置 |
JPH056179A (ja) * | 1991-06-27 | 1993-01-14 | Kawai Musical Instr Mfg Co Ltd | 楽音チヤンネル割当て装置 |
JP2671747B2 (ja) * | 1993-04-27 | 1997-10-29 | ヤマハ株式会社 | 楽音形成装置 |
-
1994
- 1994-11-14 TW TW083110503A patent/TW281747B/zh not_active IP Right Cessation
-
1995
- 1995-03-23 EP EP95104329A patent/EP0675482B1/en not_active Expired - Lifetime
- 1995-03-23 DE DE69535489T patent/DE69535489T2/de not_active Expired - Lifetime
- 1995-03-23 EP EP99111094A patent/EP0947979B1/en not_active Expired - Lifetime
- 1995-03-23 DE DE69514562T patent/DE69514562T2/de not_active Expired - Lifetime
- 1995-03-23 ES ES99111094T patent/ES2284227T3/es not_active Expired - Lifetime
- 1995-03-23 ES ES95104329T patent/ES2141270T3/es not_active Expired - Lifetime
- 1995-03-31 KR KR1019950007686A patent/KR100236786B1/ko not_active IP Right Cessation
- 1995-03-31 BR BR9501409A patent/BR9501409A/pt not_active IP Right Cessation
- 1995-03-31 US US08/414,929 patent/US5741991A/en not_active Expired - Lifetime
- 1995-03-31 CN CN95104586A patent/CN1052090C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69535489T2 (de) | 2008-01-10 |
BR9501409A (pt) | 1996-04-09 |
ES2141270T3 (es) | 2000-03-16 |
EP0947979B1 (en) | 2007-05-02 |
DE69514562D1 (de) | 2000-02-24 |
TW281747B (es) | 1996-07-21 |
DE69514562T2 (de) | 2000-09-14 |
KR950033760A (ko) | 1995-12-26 |
DE69535489D1 (de) | 2007-06-14 |
KR100236786B1 (ko) | 2000-01-15 |
EP0947979A3 (en) | 1999-10-13 |
EP0675482A1 (en) | 1995-10-04 |
CN1052090C (zh) | 2000-05-03 |
US5741991A (en) | 1998-04-21 |
EP0675482B1 (en) | 2000-01-19 |
EP0947979A2 (en) | 1999-10-06 |
CN1117635A (zh) | 1996-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1172475A (en) | Electronic musical instrument | |
EP0377459B1 (en) | Electronic musical instrument having plural different tone generators | |
JPS6133199B2 (es) | ||
JP5134078B2 (ja) | 楽器ディジタルインタフェースハードウエア命令 | |
ES2284227T3 (es) | Generador de señales de tono con funcion de efecto sonoro. | |
KR101120968B1 (ko) | 악기 디지털 인터페이스 하드웨어 명령 세트 | |
US7718882B2 (en) | Efficient identification of sets of audio parameters | |
JP2580814B2 (ja) | 楽音信号発生装置 | |
JPS6326398B2 (es) | ||
JPS6248239B2 (es) | ||
JP3430575B2 (ja) | 電子楽音信号合成装置 | |
US4936179A (en) | Electronic musical instrument | |
US5229534A (en) | Envelope generating apparatus | |
JP2728243B2 (ja) | 電子楽器 | |
JPS6231360B2 (es) | ||
JPH0348640Y2 (es) | ||
JP2970570B2 (ja) | 楽音発生装置 | |
JPS5977491A (ja) | 電子楽器用打楽器音発生装置 | |
JP2727451B2 (ja) | 楽音発生装置 | |
JP3578103B2 (ja) | 音源用集積回路 | |
JPH0944157A (ja) | 信号処理装置 | |
JPH0740197B2 (ja) | 楽音発生装置 | |
JPH11237882A (ja) | 楽音合成装置 | |
JPH0230035B2 (es) | ||
JPH028318B2 (es) |