InggrisPerancisSpanyol

favorit OnWorks

gramophone2 - Online di Awan

Jalankan gramophone2 di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah gramophone2 yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


gramophone2 - GRAMophone adalah generator algoritmik komposisi musik.

SINOPSIS


gramofon2 [-c|-d] file sumber [midifile]

PILIHAN


-c adalah opsi yang memungkinkan Anda untuk mengontrol sintaks sumber tanpa menghasilkan
musik.

-d adalah opsi yang memungkinkan Anda mengaktifkan mode debug, dengan output video dari
komposisi dan parameter pemain ditambah catatan yang dihasilkan.

DESKRIPSI


Di GRAMophone, musik dihasilkan menggunakan dua jenis tata bahasa formal: reguler Chomsky
tata bahasa (atau Tipe 3) untuk pendekatan TOP DOWN pada komposisi dan versi yang diperkecil dari
Tata bahasa Lindenmayer untuk pendekatan BOTTOM UP.

BASIC KONSEP OF Gramopon


GRAMophone sebagian didasarkan pada ide Jon McCormack, yang menemukan ide a
pemain virtual (musisi virtual). Pemain yang dimaksud terkait dengan trek MIDI,
dan menafsirkan instruksi mengatakan apa yang harus dilakukan. Umumnya, mereka mengatakan play note (send
pesan MIDI). Pemain GRAMophone bersama-sama membentuk orkestra, yang memainkan
komposisi.

Sejumlah pemain dapat memainkan komposisi, tetapi dalam praktiknya perangkat keras yang digunakan mungkin
memberlakukan batas atas.

Secara umum setiap pemain memainkan instrumen dan masing-masing memiliki seperangkat aturan tata bahasa yang berbeda.
Seorang pemain individu dicirikan oleh seperangkat parameter yang dimiliki oleh keseluruhan
orkestra dan/atau set parameter pribadi.

Parameter orkestra terdiri dari:

jenis tata bahasa yang digunakan (Chomsky atau Lindenmayer);

metronom;

ukurannya;

jumlah iterasi yang digunakan dalam proses produksi.

Parameter setiap individu pemain terdiri dari:

jenis tata bahasa yang digunakan (Chomsky atau Lindenmayer);

instrumen;

saluran MIDI yang terkait dengan pemutar;

jumlah iterasi yang digunakan dalam proses produksi;

Catatan pemain memiliki status saat ini yang terdiri dari:

oktaf

volume

lamanya

melepaskan

Karakteristik ini dapat dikontrol secara parametrik oleh pemain yang menyatakan
variabel terkait. GRAMophone, kemudian, memungkinkan untuk generasi non-deterministik dari
musik, baik menggunakan tata bahasa Chomsky atau Lindenmayer.

GUIDE UNTUK Gramopon


"Give Me A" ("Halo, Dunia!" untuk GRAMophone")

Untuk memperkenalkan Anda pada ide-ide dasar, berikut adalah komposisi algoritmik paling sederhana yang dapat
dihasilkan dengan GRAMophone: komposisi ini hanya menghasilkan nada A dan adalah
disajikan melalui metode Chomsky dan Lindenmayer.

komposisi "Give Me A" dari "Schroeder" {

//komposisi ini menghasilkan nada A dengan tata bahasa Chomsky

tata bahasa chomsky
waktu 120
tanda_waktu 4/4
%
pemain Schroeder {
instrumen 0
%
@komposisi->A[,,,];
}
}

komposisi "Give Me A" dari "Schroeder" {
//komposisi ini menghasilkan catatan A dengan tata bahasa Lindenmayer
tata bahasa lindenmayer
waktu 120
tanda_waktu 4/4
%
pemain Schroeder {
instrumen 0
%
aksioma->A[,,,];
}
}

Komposisi KATA KUNCI E dari

Semua komposisi harus dimulai dengan komposisi kata kunci diikuti dengan string (dibalikkan)
koma) yang berisi nama komposisi. Ini harus diikuti oleh kata kunci dari
kemudian string lain yang berisi hak cipta dari karya tersebut.

KOMPOSISI BLOK

Blok komposisi ditempatkan dalam tanda kurung. Itu dibagi menjadi tiga bagian: satu
bagian mendefinisikan parameter komposisi, satu menyatakan dan memulai setiap global
variabel dan bagian orkestra di mana para pemain yang akan 'memainkan' karya tersebut
didefinisikan. Dua bagian pertama dipisahkan oleh simbol %.

KATA KUNCI pemain

Setiap pemain didefinisikan dengan kata kunci pemain, diikuti dengan pengenal.

BLOK pemain

Blok pemain ditempatkan dalam tanda kurung dan dibagi menjadi tiga bagian: satu bagian
mendefinisikan parameter trek yang terkait dengan pemutar, seseorang menyatakan lokal apa pun
variabel untuk pemain dan satu untuk aturan formal. Dua bagian pertama adalah
dipisahkan oleh simbol %.

KOMENTAR

Di GRAMophone, komentar seperti C: harus dimulai dengan pasangan karakter '/*' dan diakhiri
dengan pasangan karakter '*/.' Tidak boleh ada spasi antara tanda bintang dan garis miring.
Segala sesuatu di antara pasangan simbol ini akan diabaikan oleh pengurai GRAMophone. Utuh
baris komentar juga dapat disertakan. Baris komentar dimulai dengan simbol // dan diakhiri
di akhir baris, seperti dalam dua contoh awal.

Bagian yang menentukan parameter komposisi

Parameter yang dibagikan oleh semua pemain orkestra dinyatakan di sini. Parameternya
yang dapat dideklarasikan adalah:

tatabahasa

resolusi

iterasi

waktu

waktu_tanda tangan

Bagian ini harus diakhiri dengan simbol %.

tatabahasa

Parameter ini wajib dan menentukan jenis tata bahasa yang akan digunakan dalam pembuatan.
Ini bisa berupa chomsky atau lindenmayer.

resolusi

Parameter ini menentukan jumlah unit waktu 1/4 durasi. Jika dihilangkan, default
nilai 480 akan digunakan.

iterasi

Parameter ini mendefinisikan jumlah iterasi yang terkandung dalam generasi. Artinya
tergantung pada jenis tata bahasa yang dipilih, seperti yang dijelaskan di bawah ini. Jika dihilangkan, nilai default 1
akan digunakan.

waktu

Parameter ini menentukan ritme komposisi. Jika dihilangkan, nilai default 120 akan menjadi
bekas.

waktu_tanda tangan

Parameter ini menentukan ukuran komposisi. Jika dihilangkan, nilai default 4/4 akan
digunakan.

Bagian yang mendeklarasikan variabel global komposisi

Variabel mengontrol parameter atribut catatan, seperti yang dijelaskan di bawah ini.

Bagian yang menentukan parameter pemain

Parameter dan variabel pribadi setiap pemain dideklarasikan di sini. Parameter pribadi
yang dapat dideklarasikan adalah:

instrumen

saluran

iterasi

Bagian ini harus diakhiri dengan simbol %.

instrumen

Parameter ini menunjukkan jenis instrumen pemain. Perangkat instrumen GRAMophone adalah
sama dengan MIDI Umum. Rentang nilai yang dapat diterima adalah 0 hingga 127; ada
oleh karena itu 128 instrumen untuk dipilih. Sebuah tabel yang menunjukkan kode instrumen muncul
di bawah ini:

0 pianika

1 Piano Inggris

2 PaluPiano

3 Tonk Madu

4 Tines Baru

5 Piano Digital

6 Harpsichord

7 Klavi

8 Celesta

9 lonceng

10 Kotak Musik

11 Getaran

12 Marimba

13 Gambang

14 Lonceng Tubular

15 Santur

16 Organ Penuh

17 Organ Perkusi

18 Organ BX-3

19 Organ Gereja

20 Positif

21 Haver

22 Harmonika

23 Hapus

24 Gitar Klasik

25 Gitar Akustik

26 Gitar Jazz

27 Gitar Bersih

28 Bisu Gitar

29 Gitar Overdrive

30 Gitar Terdistorsi

31 Harmonik

32 Bass Jazz

33 Bass Dalam

34 Pilih Bass

35 Bass Tanpa Fret

36 Tamparan Bass 1

37 Tamparan Bass 2

38 Bass Sintetis 1

39 Bass Sintetis 2

40 Biola

41 Ungu

42 Selo

43 Kontra Bass

44 Senar Tremolo

45 Pizza

46 Harpa

47 Timpani

48 Marcato

49 Senar Lambat

50 Pad Analog

51 Tali Pad

52 Paduan Suara

53 Suara Doo

54 Voices

55 Orkestra Hit

56 Terompet

57 Trombon

58 Tuban

59 Bisu Terompet

60 Tanduk Prancis

61 Bagian Kuningan

62 Kuningan Sintetis 1

63 Kuningan Sintetis 2

64 Sax sopran

65 Alto Saksofon

66 Tenor Saksofon

67 Saksofon Bariton

68 Oboe Manis

69 Tanduk Inggris

70 Bassoon Oboe

71 Klarinet

72 Pikolo

73 seruling

Perekam 74

75 Pan Seruling

Botol 76

77 Sakhukuhachi

78 Peluit

79 Okarina

80 Persegi Memimpin

81 Melihat Timbal

82 Kaliop Timbal

83 Kepala Chiff

84 Pemimpin Charang

85 Paduan Suara Udara

86 Rezzo4th

87 Bass & Lead

88 Fantasi

89 Bantalan Hangat

90 Bantalan Poly Synth

91 Bantalan Hantu

92 Bantalan Membungkuk

93 Bantalan Logam

94 Papan Halo

95 Sapu Pad

96 Hujan Es

97 Soundtrack

98 Kristal

99 Suasana

100 Kecerahan

101 Goblin

102 Gema Drop

103 Bintang Tema

104 sitar

105 Banjar

106 Syamisen

107 Koto

108 Kalimba

109 Skotlandia

110 Biola

111 Shanai

112 Lonceng Logam

113 lalu

114 Drum Baja

115 Blok Kayu

116 Drum Taiko

117 Melodik Tom

118 Sintesis Tom

119 Simbal Terbalik

120 Fret Kebisingan

121 Kebisingan Chiff

122 Pantai

123 burung

124 Telepon

Helikopter 125

126 Stadion!!

127 Tembakan

Jika dihilangkan, nilai instrumen default 0 digunakan.

saluran

Parameter ini menentukan saluran Midi mana yang akan dikaitkan dengan pemutar. Ada 16
saluran yang mungkin. Saluran 10 dicadangkan untuk instrumen perkusi. Jika dihilangkan,
nilai saluran default 1 digunakan.

iterasi

Parameter ini mendefinisikan jumlah iterasi dalam generasi. Artinya tergantung pada
jenis tata bahasa yang dipilih, seperti yang dijelaskan di bawah ini. Jika parameter iterasi telah
termasuk dalam deklarasi komposisi, deklarasi terakhir akan diabaikan.

Bagian yang mendeklarasikan variabel lokal pemain

Variabel mengontrol parameter atribut catatan, seperti yang dijelaskan di bawah ini.

Catatan di GRAMophone

BAGAIMANA CATATAN DITULIS DI GRAMofon

Catatan adalah kategori pertama dari simbol terminal GRAMophone.

GRAMophone menggunakan notasi bahasa Inggris untuk catatan:

ABCDEFG

Nama nota harus ditulis dengan huruf kapital. Simbol datar dan tajam adalah
masing-masing diwakili oleh 'b' dan '#'; tidak ada spasi yang muncul di antara simbol-simbol ini dan
nama catatan: A#, Gb, dll.

CATATAN ATRIBUT

Catatan dapat memiliki empat atribut di GRAMophone: oktaf, kecepatan, durasi, dan pelepasan. NS
atribut oktaf bervariasi antara -2 dan 8, sedangkan atribut kecepatan dan pelepasan bervariasi
dari 0 hingga 127. Jika catatan ditulis tanpa atribut, maka default berikut:
nilai yang digunakan: 3 untuk oktaf, 64 untuk kecepatan dan pelepasan. Nilai default saat ini untuk
durasi adalah selangkangan. Dalam contoh, "Beri saya A" ditulis hanya sebagai A[,,,]. Ini
berarti A dihasilkan pada oktaf ketiga, dengan durasi 1/4 dan kecepatan
dan rilis 64.

MENDEFINISIKAN ATRIBUT CATATAN

Atribut catatan ditentukan dengan menuliskannya di dalam tanda kurung siku yang
mengikuti nama catatan, tanpa spasi. Sebuah catatan dapat memiliki paling banyak empat atribut dan
setiap tipe atribut mungkin hanya memiliki satu nilai.

Atribut harus didefinisikan dalam urutan berikut:

oktaf

kecepatan

lamanya

melepaskan

Jika ketiga atribut tidak ditentukan, nilai default digunakan untuk atribut yang hilang.

Berikut adalah beberapa contoh catatan dengan atribut:

C[2, 50+60/2, 240*4,] - memainkan C pada oktaf kedua, dengan kecepatan 80,
durasi 960 (minimal dengan resolusi 480) dan rilis 64 (default
nilai);

Db[4,,,] - memainkan D datar pada oktaf keempat, menggunakan nilai default untuk
kecepatan, durasi dan pelepasan;

F#[,,,] - gunakan nilai default untuk semua atribut;

Contoh yang salah adalah:

Db[3, 127, 960, 64, x] - terlalu banyak atribut (x adalah variabel).

JEDA

Jeda adalah kategori lain dari simbol terminal di GRAMophone. Mereka ditunjukkan oleh
huruf R dan hanya mengambil atribut tipe durasi. Jika tidak ditentukan, resolusi default
nilai digunakan. Atribut didefinisikan dengan cara yang sama seperti untuk catatan.

Berikut adalah beberapa contoh jeda:

R[480/2] - jeda dengan durasi 240;

R[] - gunakan nilai default untuk atribut durasi tipe.

ANAK-ANAK

Akor adalah kategori terakhir dari simbol terminal yang digunakan di GRAMophone. Sebuah akord adalah sebuah seri
not yang dimainkan secara bersamaan. Di GRAMophone, not yang dimainkan dalam akord terlampir
antara dua simbol '^'.

Berikut adalah beberapa contoh chord:

^C[,,,]E[,,,]G[,,,]^ - memainkan akord C mayor, menggunakan nilai default setiap not.

^A[2,80,240,]C[2,,240,]E[2,]^ - memainkan akord A minor dengan durasi 240/1, dengan
semua nada pada oktaf kedua dan kecepatan 64 (nilai default), dengan nada pertama
dari akord dimainkan dengan kecepatan 80 dan dua sisanya dengan kecepatan 64
(nilai bawaan).

PERAN R DALAM CHORDS KOMPLEKS

Catatan akord tidak selalu memiliki durasi yang sama. Misalnya mungkin
bahwa, ketika nada C[2,,1920,] berdurasi 4/4 dimainkan, pemusik harus memainkan empat
crotchets dengan urutan sebagai berikut: C[,,,], E[,,,], G[,,,], Bb[,,,]. Pasti ada jalan
memberitahu GRAMophone bahwa nada C[2,,1920,] dan C[,,,] harus dimulai pada waktu yang sama,
bahwa E[,,,] harus dimulai setelah jeda 1/4, G[,,,] setelah 2/4 dan Bb[,,,] setelah 3/4. Di dalam
GRAMophone ini ditulis sebagai berikut:

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

Dengan kata lain, setiap nada dalam akord dapat didahului dengan definisi jeda yang mewakili
waktu untuk menunggu sebelum memainkan not. Tidak masalah urutan mana yang Anda tulis
nada-nada dalam akord. Akord pada contoh di atas juga dapat ditulis:

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

IDENTIFIKASI

Beberapa entitas bahasa, variabel, makro, dan simbol non-terminal GRAMophone di
Tata bahasa Chomsky misalnya, harus memiliki nama yang dengannya mereka dapat diidentifikasi. Nama-nama ini
disebut pengidentifikasi dan dipilih oleh komposer. Pengidentifikasi GRAMophone mengikuti
sistem pengenal yang digunakan dalam bahasa pemrograman Pascal. Sebenarnya pengenal
terdiri dari huruf yang diikuti oleh urutan huruf atau angka. GRAMophone
pengenal juga harus ditulis dalam huruf kecil.

Tata Bahasa Chomsky

SIMBOL NON-TERMINAL

Dalam tata bahasa Chomsky, simbol non-terminal digunakan untuk memberikan struktur atau 'gaya' ke
komposisi musik. Mereka ditulis dengan '@' segera diikuti oleh pengenal.
Tata bahasa Chomsky yang digunakan oleh GRAMophone bebas konteks sehingga kepala produksi dapat
hanya menjadi non-terminal.

SIMBOL NON-TERMINAL @komposisi

Simbol non-terminal ini, yang sesuai dengan komposisi akhir pemain tunggal,
adalah wajib.

OPERATOR PRODUKSI

Ini ditentukan oleh urutan karakter '->' dan memisahkan kepala produksi
dari tubuh.

BADAN PRODUKSI

Ini mungkin berisi urutan terminal (not, jeda dan akord) dan non-terminal
simbol. Setiap produksi harus diakhiri dengan titik koma.

| (ATAU) OPERATOR

Sebuah produksi mungkin non-deterministik: dengan kata lain mungkin menyajikan dua atau lebih pilihan
selama generasi. Tubuh produksi non-deterministik terdiri dari berbagai
pilihan dipisahkan oleh | operator. Sebagai contoh

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

adalah produksi non-deterministik.

MAKNA ITUTERASI DALAM CHOMSKY GRAMMAR

Dalam tata bahasa Chomsky, sebuah produksi dapat mencakup siklus, yaitu badan produksi yang mengandung non-
simbol terminal yang mengacu pada produksi yang sebenarnya sedang diproduksi. Sebagai contoh:

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

Untuk menghindari infinite loop selama pembuatan, simbol non-terminal @Sequenza1 adalah
diproses dalam jumlah yang sama dengan parameter iterasi.

Tata Bahasa Lindenmayer

Tata bahasa Lindenmayer hanya berurusan dengan simbol terminal dan versi GRAMophone dapat
bebas konteks atau bekerja dalam konteks polifonik. Oleh karena itu, nada tunggal atau akord dapat muncul
di kepala produksi. Semua produksi dipisahkan oleh titik koma.

AXIOM

Ini adalah produksi awal dari mana generasi dimulai. Ini adalah wajib. PRODUKSI
OPERATOR

Ini ditentukan oleh urutan karakter '->' dan memisahkan kepala produksi
dari tubuh.

| (ATAU) OPERATOR

Sebuah produksi mungkin non-deterministik: dengan kata lain mungkin menyajikan dua atau lebih pilihan
selama generasi. Tubuh produksi non-deterministik terdiri dari berbagai
pilihan dipisahkan oleh | operator. Sebagai contoh

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

adalah produksi non-deterministik.

MAKNA PERATURAN DALAM GRAMMAR LINDENMAYER

Pada setiap langkah, semua produksi tata bahasa diterapkan secara bersamaan ke string nada.
Dalam hal ini parameter iterasi mewakili jumlah langkah yang harus dilakukan.

Penggunaan variabel

DEKLARASI DAN INISIALISASI VARIABEL

GRAMophone mampu mengontrol atribut catatan secara parametrik melalui penggunaan
variabel. Variabel-variabel ini dideklarasikan di bagian deklarasi pemain dan mungkin dari
jenis berikut: oktaf, kecepatan, durasi dan msb. Sebuah variabel dideklarasikan dengan menulis
jenisnya diikuti oleh satu atau lebih pengidentifikasi yang dipisahkan oleh koma. Deklarasi harus
diakhiri dengan titik koma. Pengenal pemain harus dideklarasikan hanya sekali.

Berikut ini adalah pernyataan yang benar:

kecepatan x, y;

oktaf okt, z;

durasi w;

Berikut ini adalah pernyataan yang salah:

kecepatan x, x;

oktaf z;

durasi z;

Mengikuti bagian deklarasi dan sebelum tata bahasa dimungkinkan untuk inisialisasi
variabel dengan menggunakan operator =.

Berikut ini adalah contoh deklarasi dan inisialisasi:

kecepatan x;

x = 0;

MENGGUNAKAN VARIABEL DENGAN CATATAN

Variabel digunakan dalam ekspresi atribut note. GRAMophone mengontrol jenis di dalam
ekspresi, jadi tidak mungkin menambahkan variabel oktaf ke variabel kecepatan, untuk
contoh.

Berikut ini adalah contoh dari variabel catatan:

kecepatan x;

durasi z, w;

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

CONTOH
komposisi "Crescendo" dari "Schroeder" {

//komposisi ini menghasilkan nada 64 A dengan kecepatan yang terus bertambah

tata bahasa chomsky
waktu 120
tanda_waktu 4/4
iterasi 64
%
pemain Schroeder {
instrumen 40
%
kecepatan x=0;

@komposisi->A[,x=x+1,,]@komposisi;
}
}

KONDISI

Dalam tata bahasa Chomsky dan Lindenmayer, dimungkinkan untuk mendefinisikan kondisi untuk
variabel dalam badan produksi. Jika kondisinya benar, produksi dijalankan;
jika tidak. Suatu kondisi ditentukan segera setelah nama produksi
melalui '?' simbol, diikuti oleh satu atau lebih ekspresi Boolean.

Operator Boolean adalah:

! bukan

&& dan

|| atau

Operator relasional adalah:

== ugual

!= beragam

< kecil

> maggiore

<= minor atau uguale

>= maggiore atau uguale

Berikut ini adalah contoh produksi bersyarat.

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

yang artinya: selama x tidak sama dengan nol, hasilkan produksi @battuta; jika tidak lakukan
tidak.

Diskografi, perpustakaan GRAMophone

GRAMophone dapat menyertakan perpustakaan eksternal, yang disebut diskografi. Untuk memasukkan
diskografi dalam file sumber, gunakan kata kunci diskografi diikuti dengan nama filenya. A
diskografi dapat dimasukkan kapan saja dalam file sumber, selama isinya cocok
posisi sumber di mana ia telah dimasukkan.

Macro

Makro dapat didefinisikan menggunakan kata kunci define, diikuti dengan pengenal huruf kecil dan a
string ditempatkan dalam koma terbalik. Makro harus ditentukan di awal sumber
komposisi, sebelum kata kunci komposisi. Misalnya, untuk sekadar menulis
alih-alih A[,,,], makro berikut harus didefinisikan: tentukan "A[,,,]"

Fungsi di GRAMophone

FUNGSI pengulangan ()

Fungsi repeat() mengambil nilai tipe msb ditambah urutan Chomsky atau Lindenmayer. Dia
memungkinkan urutan yang disertakan untuk diulang beberapa kali yang sama dengan msb
nilai tipe.

FUNGSI rand()

Fungsi Rand() mengambil ekspresi dan mengembalikan nilai acak yang kurang dari
nilai ekspresi.

Operator melodi di GRAMophone

mengubah urutan()

Operator transpose() mengambil nilai tipe msb ditambah urutan Chomsky atau Lindenmayer.
Ini menghasilkan urutan di mana semua catatan dalam urutan yang relevan dialihkan oleh
sejumlah semitone sama dengan nilai tipe msb.

inversi()

Operator inversion() mengambil urutan Chomsky atau Lindenmayer. Ini menghasilkan urutan
di mana interval antara nada pertama dan nada lainnya dalam urutan yang diambil adalah
dihitung secara terbalik.

mundur()

Operator retrograde() mengambil urutan Chomsky atau Lindenmayer. Ini menghasilkan urutan
yang merupakan kebalikan dari urutan yang dimasukkan.

Gunakan gramophone2 online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad