Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Ohjelmointi voi olla myös luovuuden työkalu

PetriKeckman [02.02.2023 20:25:10]

#

Tää linkki tänne siksi, että musa kertoo ohjelmoinnista: https://youtu.be/7bovn2unWCI

EDIT: Tein teokseen B-osan: https://youtu.be/Ja16tgzY8Tw

PetriKeckman [05.02.2023 00:29:08]

#

Poistin edellisen julkaisun kun oli rumpusoundeissa liikaa säröjä. Tässä ehkä vähän vähempi: https://youtu.be/JtU67EiNpBI

Täsä toinen tuotos "Computer Drums Orchestra":lta https://youtu.be/43FK-7ZFnuY

Työskentelytavasta vielä: teen yhden rumpuraidan kerrallaan ja äänitän sen ilmaisella musiikkieditorilla Audacity...Se on sellaista etsimistä, hakemista ja muttujien arvojen kokeilua, et mitkä soundit ehkä jotenkuten sattuu sopimaan yhteen.

rebol[]
substr: func [string start length][
  copy/part at string start length
]
print "odota"
random/seed now/precise
;En ny jaksa tarkemmin selittää seuraavia rivejä...Ohjelma tuottaa osittain satumallisia
; sanoja...Kuten esim tällaista dataa  silmukalle annettavaksi:
; {M(ã¾AM(ã¾A°5¨¹LM(ã¾A°5¨¹LM(ã¾AüÁ­Q+M(ã¾A°5¨¹LM(ã¾AüÁ­Q+M(ã¾AM(ã¾A°5¨¹LüÁ­Q+M(ã¾AM(ã¾A°5¨¹LüÁ
; siinä on osittain toistoa osittain sattumaa

merkit: "!#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþ"
sanat0: copy[]
sananpituus: 64
for i 1 100 1 [
	k1: merkit/(random length? merkit)
	k2: merkit/(random length? merkit)
	k3: merkit/(random length? merkit)
	k4: merkit/(random length? merkit)
	k5: merkit/(random length? merkit)
	append sanat0  rejoin [k1 k2 k3 k4 k5]
]
sanat: copy[]
i1: random length? sanat0
i2: random length? sanat0
i3: random length? sanat0

for i 1 40 1 [
	append sanat sanat0/(i1)
	if random 100 > 90 [append sanat sanat0/(i2)]
	if random 100 > 95 [append sanat sanat0/(i3)]
]

sanat: to-string sanat
sävelet: #{}
print "Teen soundeja..."
for i 1 length? sanat 1 [ ; käydään läpi kaikki sanojen kirjaimet
	kirjain: substr sanat i 1
	indexi: index? find merkit kirjain
	prin kirjain
	for amplitudi 60 1 -1 [
	    for vaihe 0 360 5 [
	        val: 128 + to-integer 127 * cosine power (vaihe * indexi) 3
	        val: amplitudi * val / 200
	        append sävelet to-char val
	    ]
	]
]

; Asetetaan soundi parametrit:
sample: make sound [
    rate: 1800
    channels: 2
    bits: 16
    volume: 1
    data: #{}
]
append sample/data sävelet
; Soitetaan rythms!
sound-port: open sound://
insert sound-port sample
wait sound-port
close sound-port
halt

PetriKeckman [05.02.2023 12:30:22]

#

Tolla ohjelmalla on melko helppoa luoda loputtomasti ihan kivan soundisia rytmejä. Enteriä painamalla saa aina uutta, kun merkkijonot arvotaan. https://youtu.be/indoCv0NZ_4

Lebe80 [07.02.2023 13:08:39]

#

Tässä Googlen versio aiheesta:

https://google-research.github.io/seanet/musiclm/examples/

PetriKeckman [07.02.2023 14:55:40]

#

Lebe80 kirjoitti:

Tässä Googlen versio aiheesta:

https://google-research.github.io/seanet/musiclm/examples/

En näe pienintäkään yhtäläisyyttä: "generating high-fidelity music from text descriptions such as "a calming violin melody backed by a distorted guitar riff"". Toisin sanoen, jos tuolle tekoäly ohjelmalle antaa syötteeksi "Classical symphony orchestra", niin se tuottanee klassista musiikkia?

Siis itselläni ovat kaikki merkit merkit nimisessä merkkijonossa, josta arvon "sanoja" so. rytmikuvioita. Toistan niitä tietyin sattumanvaraisin muutoksin. Sama kirjain tuottaa aina saman soundin, koska tässä lausekkeessa:

val: 128 + to-integer 127 * cosine power (vaihe * indexi) 3

indexi muuttujan arvo on merkin järjestysnumero merkit taulukossa. Toki yleensä käsittelen soundeja sitten jonkin verran Audacityllä. Yleensä lisään wahwah efektiä ja kaikua. Uusin aikaansannnokseni, mihin olen erityisen tyytyväinen: https://youtu.be/Z9gTWpLl_x4 Ohjelmani on äärimmäisen yksinkertainen. Sen pohjalla oli ohjelma, mikä tuotti pelkän "BLING" äänen. Sen BLING äänen sävelkorkeutta vain muutan arvottujen kirjainten indeksillä. Toistoa eli rytmiikkaa tuo se, että sanat toistuvat pienin sattumanvaraisin muutoksin.

PetriKeckman [07.02.2023 15:14:18]

#

Siis jos en käsittelisi yhtään soundeja Audacityllä, niin ohjelmani tuottaisi tällaisia soundeja: https://petke.info/rytmit.mp3

Se ohjelman versio, jolla tuon .mp3:n tein arpoo rytmikuvion. Soittaa sen. Luo toisen ja soittaa ekan ja tokan. Luo kolmannen ja soittaa taas kuviot 1,2 ja 3 jne...näin rytmikuvioihin tulee sekä toistoa, että sattumaa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta