GoGPT Best VPN GoSearch

icono de página de OnWorks

gramophone2 - Online en la nube

Ejecute gramophone2 en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando gramophone2 que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


gramophone2 - GRAMophone es un generador algorítmico de composición musical.

SINOPSIS


gramófono2 [-c | -d] archivo fuente [archivo mid]

OPCIONES


-c es una opción que le permite controlar la sintaxis de la fuente sin generar
música.

-d es una opción que le permite activar el modo de depuración, con salida de vídeo del
composición y parámetros del reproductor más las notas generadas.

DESCRIPCIÓN


En GRAMophone, la música se genera utilizando dos tipos de gramática formal:
gramática (o Tipo 3) para un enfoque de ARRIBA ABAJO a la composición y una versión reducida de
Gramática de Lindenmayer para un enfoque HACIA ARRIBA.

ED. BÁSICA CONCEPTO OF Gramófono


GRAMophone se basa en parte en una idea de Jon McCormack, quien inventó la idea de un
reproductor virtual (músico virtual). El reproductor en cuestión está asociado a una pista MIDI,
e interpreta instrucciones diciéndole qué hacer. Generalmente, dicen tocar notas (enviar
Mensajes MIDI). Los intérpretes de GRAMophone juntos forman una orquesta, que toca un
composición.

Cualquier número de jugadores puede tocar una composición, pero en la práctica el hardware utilizado puede
imponer un límite superior.

En general, cada jugador toca un instrumento y cada uno tiene un conjunto diferente de reglas gramaticales.
Un jugador individual se caracteriza por un conjunto de parámetros que son compartidos por el conjunto
orquesta y / o un conjunto de parámetros personales.

Los parámetros de la orquesta consisten en:

el tipo de gramática utilizada (Chomsky o Lindenmayer);

el metrónomo;

la medida;

el número de iteraciones utilizadas en el proceso de producción.

Los parámetros de cada jugador individual consisten en:

el tipo de gramática utilizada (Chomsky o Lindenmayer);

el instrumento;

el canal MIDI asociado con el reproductor;

el número de iteraciones utilizadas en el proceso de producción;

Las notas de un jugador tienen un estado actual que consiste en:

octava

volumen

duración

,

Estas características pueden ser controladas paramétricamente por un jugador declarando su
variables asociadas. GRAMophone, entonces, permite la generación no determinista de
música, utilizando la gramática de Chomsky o Lindenmayer.

GUÍAS A Gramófono


"Give Me A" (El "¡Hola, mundo!" Para GRAMophone ")

Para presentarle las ideas básicas, aquí está la composición algorítmica más simple que puede
generarse con GRAMophone: esta composición simplemente genera la nota A y es
presentado a través de los métodos de Chomsky y Lindenmayer.

composición "Give Me A" de "Schroeder" {

// esta composición genera la nota A con la gramática de Chomsky

gramática chomsky
tempo 120
firma de tiempo 4/4
%
jugador Schroeder {
instrumento 0
%
@ composición-> A [,,,];
}
}

composición "Give Me A" de "Schroeder" {
// esta composición genera la nota A con la gramática de Lindenmayer
gramática lindenmayer
tempo 120
firma de tiempo 4/4
%
jugador Schroeder {
instrumento 0
%
axioma-> A [,,,];
}
}

LAS PALABRAS CLAVE composición E de

Todas las composiciones deben comenzar con la composición de palabras clave seguida de una cadena (en
comas) que contiene el nombre de la composición. Esto debe ir seguido de la palabra clave de
luego otra cadena que contiene los derechos de autor de la pieza.

EL BLOQUE DE COMPOSICIÓN

El bloque de composición se coloca entre paréntesis. Se subdivide en tres secciones: una
sección define los parámetros de la composición, uno declara e inicia cualquier global
variables y una sección de orquesta donde los intérpretes que 'tocarán' la pieza son
definido. Las dos primeras secciones están separadas por el símbolo%.

LA PALABRA CLAVE del jugador

Cada jugador se define con la palabra clave jugador, seguida de un identificador.

EL BLOQUE DEL jugador

El bloque de jugador se coloca entre paréntesis y se divide en tres secciones: una sección
define los parámetros de la pista asociada al jugador, uno declara cualquier local
variables para el jugador y una es para las reglas formales. Las dos primeras secciones son
separados por el símbolo%.

COMENTARIOS

En GRAMophone, los comentarios son similares a C: deben comenzar con el par de caracteres '/ *' y terminar
con el par de caracteres '*/.'No debe haber espacio entre el asterisco y la barra.
Todo lo que se encuentre entre estos pares de símbolos será ignorado por el analizador GRAMophone. Entero
También se pueden incluir líneas de comentarios. Las líneas de comentarios comienzan con el símbolo // y terminan
al final de la línea, como en los dos ejemplos iniciales.

Sección que define los parámetros de la composición

Aquí se declaran los parámetros compartidos por todos los intérpretes de la orquesta. Los parametros
que pueden declararse son:

gramática

Resolución

iteraciones

tempo

Signatura de compás

Esta sección debe terminar con el símbolo%.

gramática

Este parámetro es obligatorio y define el tipo de gramática que se utilizará en la generación.
Puede ser chomsky o lindenmayer.

Resolución

Este parámetro define el número de unidades de tiempo de 1/4 de duración. Si se omite, el valor predeterminado
se utilizará el valor 480.

iteraciones

Este parámetro define el número de iteraciones contenidas en la generación. Su definicion
depende del tipo de gramática elegida, como se explica a continuación. Si se omite, el valor predeterminado 1
se utilizará.

tempo

Este parámetro define el ritmo de la composición. Si se omite, el valor predeterminado 120 será
usado.

Signatura de compás

Este parámetro define la medida de la composición. Si se omite, el valor predeterminado 4/4 se
ser usado.

Sección que declara las variables globales de la composición

Las variables controlan los parámetros de los atributos de una nota, como se explica a continuación.

Sección que define los parámetros del reproductor

Aquí se declaran los parámetros y variables personales de cada jugador. Los parámetros personales
que pueden declararse son:

instrumento

canal

iteraciones

Esta sección debe terminar con el símbolo%.

instrumento

Este parámetro indica el tipo de instrumento del jugador. El conjunto de instrumentos de GRAMophone es el
igual que el de General MIDI. El rango aceptable de valores es de 0 a 127; existen
por lo tanto, 128 instrumentos para elegir. Aparece una tabla que muestra los códigos del instrumento
aqui:

0 Plan

1 piano brillante

2 MartilloPiano

3 Honkey Tonk

4 púas nuevas

5 Piano digital

6 clavecín

7 clavos

8 celeste

9 campanas

Caja de música 10

11 vibraciones

12 marimba

13 Xilofón

14 Campana tubular

15 santur

16 Órgano completo

17 Órgano de percusión

18 Órgano BX-3

19 Órgano de iglesia

20 Positivo

21 Musettes

22 Armónica

23 Tangos

24 Guitarra clásica

25 Guitarra Acústica

26 Guitarra de Jazz

27 Guitarra limpia

28 guitarra muda

29 Overdrive Guitarra

30 Guitarra distorsionada

31 Armónicos

32 bajo de jazz

33 graves profundos

Bajo de 34 púas

35 bajo sin trastes

36 Bajo Slap 1

37 Bajo Slap 2

38 Bajo sintetizado 1

39 Bajo sintetizado 2

40 Violín

41 púrpura

42 Violonchelo

43 Contrabajo

44 Cuerda de trémolo

45 pizzicatos

46 Arpa

47 timbales

48 marcato

49 cuerda lenta

50 almohadilla analógica

Almohadilla de 51 cuerdas

52 Coro

53 Doo Voz

54 Voices

55 Golpe de orquesta

56 trompeta

57 Trombón

58 tuba

59 Trompeta muda

60 trompa

61 Sección de latón

62 Latón sintetizado 1

63 Latón sintetizado 2

64 Saxo soprano

65 saxo alto

66 Saxo tenor

67 Saxo barítono

68 Dulce oboe

69 Cuerno Inglés

70 Fagot Oboe

71 Clarinete

72 flautín

73 flauta

Grabador 74

75 flauta de pan

76 Botella

77

78 Silbato

79 ocarina

80 plomo cuadrado

81 Sierra de plomo

82 Caliope Plomo

83 Plomo Chiff

84 Charang Plomo

85 Coro de aire

86 Rezzo

87 bajo y plomo

88 Fantasía

89 Almohadilla caliente

Almohadilla de sintetizador de 90 poliéster

91 Almohadilla fantasma

92 Pad arqueado

93 Almohadilla de metal

94 almohadilla de halo

95 almohadilla de barrido

96 Lluvia de hielo

Banda sonora de 97

98 Cristal

99 Atmósfera

100 Brillo

101 Duende

102 Gota de eco

103 estrella tema

104 cítara

105 banjo

106 Shamisén

107 koto

108 Kalimba

109 Escocia

110 Violín

111 Shanái

112 campana de metal

113 Hace

114 tambores de acero

115 Bloque de madera

116 Tambor Taiko

117 Tom melódico

118 Sintetizador Tom

119 platillo inverso

120 trastes de ruido

121 gasa de ruido

122 Orilla del mar

123 Birds

Teléfono 124

125 helicóptero

126 Estadio !!

127 Disparo

Si se omite, se utiliza el valor 0 del instrumento predeterminado.

canal

Este parámetro define qué canal Midi se asociará con el reproductor. Hay 16
posibles canales. El canal 10 está reservado para instrumentos de percusión. Si se omite, el
Se utiliza el valor de canal predeterminado 1.

iteraciones

Este parámetro define el número de iteraciones en la generación. Su significado depende de
el tipo de gramática elegida, como se explica a continuación. Si el parámetro de iteraciones ha sido
incluidas en las declaraciones de composición, esta última declaración será ignorada.

Sección que declara las variables locales del jugador

Las variables controlan los parámetros de los atributos de una nota, como se explica a continuación.

Notas en GRAMophone

CÓMO SE ESCRIBEN LAS NOTAS EN GRAMophone

Las notas son la primera categoría de símbolos de terminal GRAMophone.

GRAMophone usa la notación en inglés para las notas:

ABCDEFG

Los nombres de las notas deben escribirse en mayúsculas. Los símbolos planos y agudos son
representado por 'b' y '#' respectivamente; no debe aparecer ningún espacio entre estos símbolos y
el nombre de la nota: A #, Gb, etc.

NOTA ATRIBUTOS

Las notas pueden tener cuatro atributos en GRAMophone: octava, velocidad, duración y liberación. los
El atributo de octava varía entre -2 y 8, mientras que los atributos de velocidad y liberación varían
de 0 a 127. Si la nota está escrita sin atributos, entonces el siguiente valor predeterminado
Se utilizan valores: 3 para octava, 64 para velocidad y liberación. El valor predeterminado actual para
la duración es un entrepierna. En el ejemplo, "Dame A" se escribe simplemente como A [,,,]. Esta
significa que se genera una A en el tercio de octava, con una duración de 1/4 y una velocidad
y lanzamiento de 64.

DEFINIENDO LOS ATRIBUTOS DE UNA NOTA

Los atributos de una nota se definen escribiéndolos dentro de los corchetes que
sigue el nombre de la nota, sin espacios. Una nota puede tener cuatro atributos como máximo y
cada tipo de atributo puede tener un solo valor.

Los atributos deben definirse en el siguiente orden:

octava

velocidad

duración

,

Si los tres atributos no están definidos, el valor predeterminado se utiliza para los que faltan.

A continuación, se muestran algunos ejemplos de notas con atributos:

C [2, 50 + 60/2, 240 * 4,] - toca un C en la segunda octava, con una velocidad de 80,
duración de 960 (mínima con una resolución de 480) y un lanzamiento de 64 (predeterminado
valor);

Db [4 ,,,] - reproduce un re bemol en la cuarta octava, utilizando los valores predeterminados para
velocidad, duración y liberación;

F # [,,,] - usa los valores predeterminados para todos los atributos;

Ejemplos incorrectos son:

Db [3, 127, 960, 64, x]: demasiados atributos (x es una variable).

PAUSAR

Las pausas son otra categoría de símbolo de terminal en GRAMophone. Están indicados por el
letra R y solo toma un atributo de tipo de duración. Si no se especifica, la resolución predeterminada
se utiliza el valor. Los atributos se definen de la misma forma que para las notas.

A continuación, se muestran algunos ejemplos de pausas:

R [480/2] - pausa con una duración de 240;

R []: use el valor predeterminado para el atributo de tipo duración.

Acordes

Los acordes son la categoría final de símbolo de terminal utilizado en GRAMophone. Un acorde es una serie
de notas tocadas simultáneamente. En GRAMophone, las notas tocadas en un acorde se incluyen
entre dos símbolos '^'.

A continuación se muestran algunos ejemplos de acordes:

^ C [,,,] E [,,,] G [,,,] ^ - toca un acorde de Do mayor, utilizando los valores predeterminados de cada nota.

^ A [2,80,240,] C [2,, 240,] E [2,, 240,] ^ - toca un acorde de La menor con una duración de 1/8, con
todas las notas en la segunda octava y la velocidad 64 (valor predeterminado), con la primera nota
del acorde tocado con una velocidad de 80 y los dos restantes a una velocidad de 64
(valor por defecto).

EL PAPEL DE R EN ACORDES COMPLEJOS

Las notas de un acorde no siempre tienen la misma duración. Por ejemplo es posible
que, mientras suena la nota C [2,, 1920,] de duración 4/4, el músico tiene que tocar cuatro
entrepiernas en el siguiente orden: C [,,,], E [,,,], G [,,,], Bb [,,,]. Tiene que haber una manera
de decirle a GRAMophone que las notas C [2,, 1920,] y C [,,,] deben comenzar al mismo tiempo,
que E [,,,] debe comenzar después de una pausa de 1/4, G [,,,] después de 2/4 y Bb [,,,] después de 3/4. En
GRAMophone esto se escribe de la siguiente manera:

^ C [2, 1920,] C [,,,] R [] E [,,,] R [960] G [,,,] R [1440] Bb [,,,] ^

En otras palabras, cada nota del acorde puede ir precedida de una definición de pausa que represente
el tiempo de espera antes de tocar la nota. No importa en que orden escribas
las notas hacia abajo en un acorde. El acorde del ejemplo anterior también se puede escribir:

^ R [] E [,,,] C [2,, 1920,] R [1440] Bb [,,,] C [,,,] R [960] G [,,,] ^

IDENTIFICADORES

Algunas de las entidades, variables, macros y símbolos no terminales de GRAMophone en
La gramática de Chomsky, por ejemplo, debe tener nombres con los que puedan identificarse. Estos nombres
se denominan identificadores y son elegidos por el compositor. Los identificadores de GRAMophone siguen
el sistema de identificadores utilizado en el lenguaje de programación Pascal. De hecho un identificador
se compone de una letra seguida de una secuencia de letras o dígitos. GRAMophone's
Los identificadores también deben escribirse en minúsculas.

Gramática de Chomsky

SÍMBOLOS NO TERMINALES

En la gramática de Chomsky, los símbolos no terminales se utilizan para dar una estructura o 'estilo' a la
composicion musical. Se escriben con una '@' seguida inmediatamente de un identificador.
La gramática de Chomsky utilizada por GRAMophone no tiene contexto, por lo que el director de producción puede
solo ser un no terminal.

EL SÍMBOLO NO TERMINAL @composición

Este símbolo no terminal, que corresponde a la composición final de un solo jugador,
es obligatorio.

OPERADOR DE PRODUCCIÓN

Esto está definido por la secuencia de caracteres '->' y separa el jefe de producción
del cuerpo.

CUERPO DE PRODUCCIÓN

Esto puede contener secuencias de terminales (notas, pausas y acordes) y no terminales
símbolos. Cada producción debe terminar con un punto y coma.

| (O) OPERADOR

Una producción puede ser no determinista: en otras palabras, puede presentar dos o más opciones.
durante la generación. El cuerpo de una producción no determinista se compone de los diversos
opciones separadas por | operador. Por ejemplo

@ non_det-> A [,,,] B [,,,] @ Seq1 | ^ A [,,,] B [,,,] C [,,,] ^ @ Seq2R [] C [,,,];

es una producción no determinista.

SIGNIFICADO DE ITERACIÓN EN CHOMSKY GRAMMAR

En la gramática de Chomsky, una producción puede incluir ciclos, es decir, cuerpos de producción que no contienen
símbolos terminales que se refieren a la producción que se está produciendo realmente. Por ejemplo:

@ Sequenza1-> B [,,,] A [,,,] C [,,,] @ Sequenza1;

Para evitar un bucle infinito durante la generación, el símbolo no terminal @ Sequenza1 es
procesado un número igual de veces que el parámetro de iteraciones.

Gramática de Lindenmayer

La gramática de Lindenmayer solo se ocupa de símbolos terminales y la versión de GRAMophone se puede
libre de contexto o trabajar en un contexto polifónico. Por lo tanto, pueden aparecer notas individuales o acordes.
a la cabeza de la producción. Todas las producciones están separadas por un punto y coma.

AXIOM

Esta es la producción inicial a partir de la cual comienza la generación. Es obligatorio. PRODUCCIÓN
OPERADOR

Esto está definido por la secuencia de caracteres '->' y separa el jefe de producción
del cuerpo.

| (O) OPERADOR

Una producción puede ser no determinista: en otras palabras, puede presentar dos o más opciones.
durante la generación. El cuerpo de una producción no determinista se compone de los diversos
opciones separadas por | operador. Por ejemplo

A [,,,] -> A [,,,] B [,,,] | C [,,,] D [,,,];

es una producción no determinista.

SIGNIFICADO DE LAS ITERACIONES EN LA GRAMÁTICA DE LINDENMAYER

En cada paso, todas las producciones gramaticales se aplican simultáneamente a la cadena de notas.
En este caso el parámetro iteraciones representa el número de pasos a realizar.

Uso de variables

DECLARACIÓN E INICIALIZACIÓN DE VARIABLES

GRAMophone puede controlar los atributos de una nota de forma paramétrica mediante el uso de
variables. Estas variables se declaran en la sección de declaración del jugador y pueden ser de
los siguientes tipos: octava, velocidad, duración y msb. Una variable se declara escribiendo
su tipo seguido de uno o más identificadores separados por una coma. La declaración debe
terminar con un punto y coma. El identificador de un jugador debe declararse solo una vez.

Las siguientes son declaraciones correctas:

velocidad x, y;

octava oct, z;

duración w;

Las siguientes son declaraciones incorrectas:

velocidad x, x;

octava z;

duración z;

Siguiendo la sección de declaración y antes de la gramática es posible inicializar
variables mediante el operador =.

El siguiente es un ejemplo de declaración e inicialización:

velocidad x;

x = 0;

USANDO VARIABLES CON NOTAS

Las variables se utilizan en expresiones de atributos de notas. GRAMophone controla los tipos dentro
expresiones, por lo que no es posible agregar una variable de octava a una variable de velocidad, por
ejemplo.

El siguiente es un ejemplo de una variable de nota:

velocidad x;

duración z, w;

A [4, x, z + w,].

EJEMPLO
composición "Crescendo" de "Schroeder" {

// esta composición genera 64 notas A con una velocidad creciente

gramática chomsky
tempo 120
firma de tiempo 4/4
iteraciones 64
%
jugador Schroeder {
instrumento 40
%
velocidad x = 0;

@ composición-> A [, x = x + 1 ,,] @ composición;
}
}

CONDICIONES

Tanto en las gramáticas de Chomsky como en las de Lindenmayer es posible definir condiciones para la
variables en el cuerpo de producción. Si la condición es verdadera, se ejecuta la producción;
de lo contrario no lo es. Una condición se define inmediatamente después del nombre de la producción.
por medio del '?' símbolo, seguido de una o más expresiones booleanas.

Los operadores booleanos son:

! no

&& y

|| o

Los operadores relacionales son:

== guale

! = diverso

<menor

> maggiore

<= minore o uguale

> = maggiore o uguale

El siguiente es un ejemplo de producción condicional.

@battuta? x! = 0-> A [, x = x-10 ,,] @ battuta;

lo que significa: mientras x no es igual a cero, genera la producción de @battuta; de lo contrario, hazlo
no.

Discografía, biblioteca de GRAMophone

GRAMophone puede incluir bibliotecas externas, llamadas discografías. Para incluir un
discografía en un archivo de origen, utilice la palabra clave discografía seguida de su nombre de archivo. A
La discografía se puede incluir en cualquier punto del archivo fuente, siempre que su contenido coincida
la posición de la fuente donde se ha incluido.

Macros

Las macros se pueden definir utilizando la palabra clave define, seguida de un identificador en minúsculas y un
cadena colocada entre comillas. Las macros deben definirse al principio de la fuente.
composición, antes de la palabra clave composición. Por ejemplo, para escribir simplemente un
en lugar de A [,,,], se debe definir la siguiente macro: definir una "A [,,,]"

Funciones en GRAMophone

LA FUNCIÓN repeat ()

La función repeat () toma un valor de tipo msb más una secuencia de Chomsky o Lindenmayer. Eso
permite que la secuencia incluida se repita un número de veces igual al msb
valor de tipo.

LA FUNCIÓN rand ()

La función rand () toma una expresión y devuelve un valor aleatorio que es menor que el
valor de la expresión.

Operadores melódicos en GRAMophone

transponer()

El operador transpose () toma un valor de tipo msb más una secuencia de Chomsky o Lindenmayer.
Genera una secuencia en la que todas las notas de la secuencia relevante son transpuestas por
un número de semitonos igual al valor del tipo msb.

inversión ()

El operador de inversión () toma una secuencia de Chomsky o Lindenmayer. Genera una secuencia
en el que los intervalos entre la primera y las otras notas en la secuencia tomada son
calculado a la inversa.

retrógrado()

El operador retrógrado () toma una secuencia de Chomsky o Lindenmayer. Genera una secuencia
que es lo contrario de la secuencia insertada.

Utilice gramophone2 en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad




×
Anuncio
❤ ️Compre, reserve o adquiera aquí: sin costo, ayuda a mantener los servicios gratuitos.