Logo microsint
Logo
                        pastbytes
Introducción
microSint
                        HR4
microSint HR6
microSint HD1
Descargas
Contacto
Foro
Ir a pastbytes
Introducción
uSint HR4
uSint HR6
uSint HD1
Descargas
Contacto
Foro
 
MICROSINT HR4 > GENERADOR DE SONIDO
Introducción HR4 Especificaciones Conexión Funcionamiento interno Lenguaje de
                          control Síntesis de
                          voz Generación
                          de ruido Generación
                          de sonido


Icono
                    generador de sonido
El sintetizador también incorpora la función de generación de sonido, con 4 instrumentos disponibles: bajo, órgano, guitarra eléctrica, y una onda definible por el usuario.

A estas 4 ondas posibles se les puede configurar la nota con el comando N, la duración en ciclos con el comando C, el modo de modulación con el comando M, y la forma de onda de la envolvente con el comando E.

La duración de un sonido se especifica igual que para el caso de la voz y el ruido, en ciclos cuya duración real depende de la nota. La duración final se puede calcular de la siguiente manera:

Duración (en segundos) = (1 / frecuencia de la nota) x duración (en ciclos)

En la tabla 8 se muestran las frecuencias de las notas permitidas.

El rango de notas de los instrumentos va desde C0 hasta C6, y los semitonos dentro de una octava se numeran de la siguiente manera:









0
Do (C)


        1

Do sostenido (C#)





2
Re (D)


        3

Re sostenido (D#)




4
Mi (E)










5
Fa (F)


        6

Fa sostenido (F#)




7
Sol (G)


        8

Sol sostenido (G#)




9
La (A)


        A

La sostenido (A#)




B
Si (B)










Por ejemplo, si queremos configurar la nota del sonido en Si de la octava 4, deberíamos enviar la secuencia (N4B), y si queremos configurar la nota en Re sostenido de la octava 2, deberíamos enviar la secuencia (N23).

>> MODULACION Y ENVOLVENTES

Además de especificar el instrumento, la nota y la duración, es posible modular el sonido con una envolvente configurable. Para modificar el modo de modulación, o deshabilitarlo, se utiliza el comando M, que requiere un parámetro entre 0 y 4.

La frecuencia de la onda envolvente puede configurarse mediante el comando Z, que opera de manera similar al comando N del sintetizador de voz, que modula el volumen de la onda base, sólo que aquí los comandos están invertidos, ya que es el comando N el que define la nota del instrumento (onda base), mientras que el comando Z define la nota/duración de la envolvente.

Según como se use la envolvente, se podrá ver la nota especificada con el comando Z como nota o como duración, ya que puede usarse una envolvente de frecuencias altas o una de frecuencias bajas, incluso de varios segundos por ciclo.

Dado que las envolventes son más útiles con ciclos de larga duración, se decidió ampliar el rango bajando 2 octavas a las notas especificadas con el comando Z, esto significa que si se envía la secuencia (Z60), lo que se tendrá en realidad es una envolvente en C4, esto es la nota Do de la octava 4, de frecuencia 261,63 Hz, lo que da una duración de ciclo de 1 / 261,63 Hz = 3,82 milisegundos. Del mismo modo, si especificamos la nota de envolvente más baja, con la secuencia (Z00), se tendría una envolvente en la nota C de la octava -2, o lo que es lo mismo, la frecuencia de C0 dividida por 4, es decir 16,35 Hz / 4 = 4,0875 Hz, que tiene una duración de ciclo de 1 / 4,0875 Hz = 244,64 milisegundos. Es decir que por defecto las envolventes de ruido e instrumentos pueden variar en duración entre 3,82 ms y 244,64 ms.

Dado que estas duraciones pueden resultar muy breves para algunas aplicaciones, existe un segundo rango que al habilitarlo divide la frecuencia de las notas especificadas por 256, en lugar de dividirla por 4. Si aplicamos los mismos cálculos, la mínima duración de ciclo de envolvente se daría con la nota más alta, C6, de frecuencia 1046,50 Hz, la cual, dado que se divide la frecuencia por 256, se convertiría en C-2, es decir la misma nota que se corresponde con la máxima duración del rango alto, por lo que la duración sería de 244,62 ms. Por otro lado, la mínima nota (máxima duración) que se puede especificar con la secuencia (Z00) corresponde a la nota C0 (16,35 Hz), que al dividirse por 256 equivaldría a C-8, o lo que es lo mismo, 16,35 Hz / 256 = 0,0638 Hz, que daría una duración de ciclo de 15,657 segundos. Sin embargo, el método utilizado para calcular este rango pierde precisión en las duraciones a medida que baja la frecuencia, por lo cual en la práctica las duraciones de las envolventes de ruido e instrumentos estarán entre 245 ms y 31,14 segundos, con algunos valores de notas que tendrán idéntica duración.

En la tabla 7 se detallan las duraciones de envolvente y los comandos correspondientes para ajustarlas.

Volviendo al comando M, el parámetro especifica si se habilita o no la modulación de ruido e instrumentos, el modo de modulación en caso de habilitarla, y si la envolvente será cíclica, es decir que se repetirá al terminar un ciclo, o si será única, esto es, que sólo se ejecutará el primer ciclo. Si se selecciona el modo de envolvente única y el ruido/instrumento dura más que la envolvente, se emitirá silencio hasta que termine la reproducción del ruido/instrumento, mientras que si se selecciona el modo de envolvente cíclica, la envolvente se repetirá una y otra vez hasta finalizar la reproducción del ruido/instrumento. Los valores posibles para el parámetro del comando M se encuentran detallados en la tabla 3.

Por último, si se habilita la modulación de ruido o instrumentos, se debe especificar la forma de la onda envolvente, que puede ser triangular, diente de dierra descendente, diente de sierra ascendente, o definida por el usuario. Esto se especifica mediante el comando E, que puede aceptar un parámetro entre 0 y 3, tal como está detallado en la tabla 3.

Tabla 7 - Duraciones de la onda envolvente para ruido/instrumentos
Tabla 8 - Notas y frecuencias


COMANDO

ENVOLVENTE INSTRUMENTOS

COMANDO


NOTA


FRECUENCIA

(Hz)
RANGO BAJO
DURACION (seg.)
RANGO ALTO
DURACION (seg.)
(Z00)
31,14073
0,24465
(N00)
C0
16,35
(Z01)
15,57027
0,23095
(N01)
C#0
17,32
(Z02) 15,57038
0,21798
(N02)
D0
18,35
(Z03)
15,57057
0,20566
(N03)
D#0
19,45
(Z04)
15,57059
0,19417
(N04)
E0
20,6
(Z05)
15,57041
0,18323
(N05)
F0
21,83
(Z06)
15,57084
0,17301
(N06)
F#0
23,12
(Z07)
15,57061
0,16327
(N07)
G0
24,5
(Z08)
10,38027
0,15408
(N08)
G#0
25,96
(Z09)
10,38032
0,14545
(N09)
A0
27,5
(Z0A)
10,38032
0,13727
(N0A)
A#0
29,14
(Z0B)
10,38025
0,12958
(N0B)
B0
30,87
(Z10)
10,38032
0,12232
(N10)
C1
32,7
(Z11)
7,78533
0,11544
(N11)
C#1
34,65
(Z12)
7,78524
0,10896
(N12)
D1
36,71
(Z13)
7,78535
0,10285
(N13)
D#1
38,89
(Z14)
6,22859
0,09709
(N14)
E1
41,2
(Z15)
6,22862
0,09164
(N15)
F1
43,65
(Z16) 6,22844 0,08649 (N16) F#1 46,25
(Z17)
6,22842
0,08163
(N17)
G1
49
(Z18)
5,19025
0,07706
(N18)
G#1
51,91
(Z19) 5,19014
0,07273
(N19) A1
55
(Z1A) 4,44882
0,06865
(N1A) A#1
58,27
(Z1B) 4,44873 0,06479
(N1B) B1
61,74
(Z20) 4,4488 0,06115
(N20) C2
65,41
(Z21) 3,89258
0,05772
(N21) C#2
69,3
(Z22) 3,89261 0,05448
(N22) D2
73,42
(Z23) 3,46034 0,05143
(N23) D#2
77,78
(Z24) 3,11406 0,04854
(N24) E2
82,41
(Z25) 3,11422 0,04581
(N25) F2
87,31
(Z26) 2,83098 0,04324
(N26) F#2
92,5
(Z27) 2,83099 0,04082
(N27) G2
98
(Z28) 2,59497 0,03852
(N28) G#2
103,83
(Z29) 2,39549 0,03636 (N29) A2
110
(Z2A) 2,22449 0,03432
(N2A) A#2 116,54
(Z2B) 2,07617 0,03240
(N2B) B2
123,47
(Z30) 2,07617 0,03058
(N30) C3
130,81
(Z31) 1,94624 0,02886
(N31) C#3
138,59
(Z32) 1,83184 0,02724
(N32) D3
146,83
(Z33) 1,73014 0,02571
(N33) D#3
155,56
(Z34) 1,55708 0,02427
(N34) E3 164,81
(Z35) 1,48302 0,02291
(N35) F3 174,61
(Z36) 1,41569 0,02162
(N36) F#3 185
(Z37) 1,35397 0,02041
(N37) G3
196
(Z38) 1,24569 0,01926
(N38) G#3
207,65
(Z39) 1,19789 0,01818
(N39) A3
220
(Z3A) 1,1122 0,01716
(N3A) A#3
233,08
(Z3B) 1,03807 0,01620
(N3B) B3
246,94
(Z40) 1,00454 0,01529
(N40) C4
261,63
(Z41) 0,94361
0,01443
(N41) C#4
277,18
(Z42) 0,88975 0,01362
(N42) D4
293,66
(Z43) 0,84166 0,01286
(N43) D#4
311,13
(Z44) 0,77862 0,01213
(N44) E4
329,63
(Z45) 0,74181 0,01145
(N45) F4
349,23
(Z46) 0,69206 0,01081
(N46) F#4
369,99
(Z47) 0,66256 0,01020
(N47) G4
392
(Z48) 0,62277 0,00963
(N48) G#4
415,3
(Z49) 0,58755 0,00909
(N49) A4
440
(Z4A) 0,5561 0,00858
(N4A) A#4
466,16
(Z4B) 0,51896 0,008101
(N4B) B4
493,88
(Z50) 0,49426 0,00764
(N50) C5
523,25
(Z51) 0,46472 0,00722
(N51) C#5
554,37
(Z52) 0,43867 0,00681
(N52) D5
587,33
(Z53) 0,41522 0,00643
(N53) D#5
622,25
(Z54) 0,38927 0,00607
(N54) E5
659,26
(Z55) 0,37082 0,00573
(N55) F5
698,46
(Z56) 0,34603 0,00541
(N56) F#5
739,99
(Z57) 0,32782 0,00510
(N57) G5
783,99
(Z58) 0,30837 0,00482
(N58) G#5
830,61
(Z59) 0,29104 0,00455
(N59) A5
880
(Z5A) 0,27553 0,00429
(N5A) A#5
932,33
(Z5B) 0,25955 0,00405
(N5B) B5
987,77
(Z60) 0,24522 0,00382 (N60) C6 1046,5

 

>> INSTRUMENTO DEFINIDO POR EL USUARIO

El sintetizador permite definir un instrumento o envolvente por medio del comando I, el cual requiere como parámetro una serie de números en hexadecimal que representan una tabla de ondas de 66 bytes. En el arranque este instrumento se define como una onda cuadrada.

Para definir una nueva onda, se debe invocar al comando I en modo de configuración, es decir cuando se haya accedido al mismo abriendo un paréntesis, y debe ser seguido por 132 dígitos hexadecimales (2 dígitos por byte).

Esta onda se puede usar como instrumento, por medio del comando /7 en modo normal, o como envolvente mediante el comando E3 en modo de configuración.

Hay que tener en cuenta que los instrumentos y las envolventes usan un ajuste de cero diferente, ya que el sintetizador siempre comienza y termina una onda en el cruce por cero, que por emitir audio de 8 bits, corresponde al valor 128, por lo que al definir la tabla de ondas, ésta debería comenzar y terminar cercana a este valor. Las envolventes, sin embargo, se procesan con el valor absoluto, siendo el mínimo volumen el valor 0 y el máximo el valor 255, por lo que no siempre una onda es apta tanto para instrumentos como para envolventes. Debe notarse también que en realidad el sintetizador sólo ve los 4 bits más significativos de la tabla de ondas de las envolventes, por lo que por ejemplo los valores 0 a 15 corresponderán al volumen mínimo de envolvente.

A continuación se pueden ver las secuencias de comandos necesarias para generar distintas formas de onda:

DIENTE DE SIERRA:
(I84888C8F93979B9FA3A6AAAEB2B6BABEC1C5C9CDD1D5D9DCE0E4E8ECF0F3F7FB01
  05090D1014181C2024272B2F33373B3F42464A4E52565A5D6165696D7174787C80)

SENOIDAL:
(I808C98A4AFBAC5CFD8E0E7EEF4F8FBFEFFFFFEFBF8F4EEE7E0D8CFC5BAAFA4988C
  8074685C51463B31282019120C08050201010205080C12192028313B46515C6874)

TRIANGULAR:
(I848C939BA3AAB2BAC1C9D1D9E0E8F0F7FFF7F0E8E0D9D1C9C1BAB2AAA39B938C84
  7C746D655D564E463F372F27201810090109101820272F373F464E565D656D747C)

CUADRADA:
(IFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  000000000000000000000000000000000000000000000000000000000000000000)


Nota: Este comando es inmediato, por lo cual los valores de la tabla de ondas se cargarán inmediatamente en la memoria, aún si la onda estuviera siendo utilizada.


© 2006-2017 Jorge Castillo - Todos los derechos reservados
Las marcas, productos y logos que aparecen en este sitio pertenecen a sus respectivos propietarios