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 PDF

Info

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
Application number
ES99111094T
Other languages
English (en)
Inventor
Kurata Matsuhiro
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP06256194A external-priority patent/JP3520553B2/ja
Priority claimed from JP06256494A external-priority patent/JP3588815B2/ja
Application filed by Yamaha Corp filed Critical Yamaha Corp
Application granted granted Critical
Publication of ES2284227T3 publication Critical patent/ES2284227T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/02Synthesis of acoustic waves
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments 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/004Instruments 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/04Means 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/053Means 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/057Means 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/0575Means 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/183Channel-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.
Antecedentes de la invención Campo de la invención
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.
Descripción de la técnica anterior
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.
Sumario de la invención
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.
Breve descripción de los dibujos
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.
Descripción de la forma de realización preferida
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.
ES99111094T 1994-03-31 1995-03-23 Generador de señales de tono con funcion de efecto sonoro. Expired - Lifetime ES2284227T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 ヤマハ株式会社 楽音形成装置

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)