Tää linkki tänne siksi, että musa kertoo ohjelmoinnista: https://youtu.be/7bovn2unWCI
EDIT: Tein teokseen B-osan: https://youtu.be/Ja16tgzY8Tw
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
Tolla ohjelmalla on melko helppoa luoda loputtomasti ihan kivan soundisia rytmejä. Enteriä painamalla saa aina uutta, kun merkkijonot arvotaan. https://youtu.be/indoCv0NZ_4
Tässä Googlen versio aiheesta:
Lebe80 kirjoitti:
Tässä Googlen versio aiheesta:
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.
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.