Edistynyt Musiikinteko ohjelma

Jaa meneillään olevat projektisi tai valmiit pelit muun yhteisön kanssa täällä.

Mitä mieltä olet ohjelmasta?

Aivan mahtava?
8
12%
Hyvä verrattuna muihin samantyyppisiin ja ilmaisiin?
4
6%
Onko muka Coolbasicilla tehty?!
6
9%
Hyvä Coolbasic tekeleeksi?
16
23%
Ihan OK?
9
13%
Ei eroa muista CB jutuista?
1
1%
Huono?
3
4%
Paljon kehitettävää ja parannettavaa, mitä?
12
17%
Hyödyllinen?
5
7%
Tulee käyttöä?
5
7%
 
Total votes: 69

mza
Newcomer
Posts: 20
Joined: Mon Aug 27, 2007 11:34 pm

Re: Edistynyt Musiikinteko ohjelma

Post by mza »

Noniin, tässä on nyt esimerkki, miten saadaan säveliä ulos taajuutta muuttamalla.

Code: Select all

aani=LoadSound("media\sheep.wav")
PlaySound aani,100,0,16000
Wait 200
PlaySound aani,100,0,16000
Wait 200
PlaySound aani,100,0,16000
Wait 200
PlaySound aani,100,0,(16000*2.0^(4.0/12.0))
Wait 200
PlaySound aani,100,0,(16000*2.0^(2.0/12.0))
Wait 200
PlaySound aani,100,0,(16000*2.0^(2.0/12.0))
Wait 200
PlaySound aani,100,0,(16000*2.0^(2.0/12.0))
Wait 200
PlaySound aani,100,0,(16000*2.0^(5.0/12.0))
Wait 200
PlaySound aani,100,0,(16000*2.0^(4.0/12.0))
Wait 200
PlaySound aani,100,0,(16000*2.0^(4.0/12.0))
Wait 200
PlaySound aani,100,0,(16000*2.0^(2.0/12.0))
Wait 200
PlaySound aani,100,0,(16000*2.0^(2.0/12.0))
Wait 200
PlaySound aani,100,0,(16000*2.0^(0.0/12.0))
Wait 400
WaitKey
Eli taajuuden paikalle tulee: 8000*oktaavi*2.0^(sävel/12.0)
Sävelissä 0=C 1=C# 2=D 3=D# 4=E 5=F jne.
Flip
Newcomer
Posts: 19
Joined: Tue Aug 28, 2007 8:19 pm

Re: Edistynyt Musiikinteko ohjelma

Post by Flip »

mza wrote:Noniin, tässä on nyt esimerkki, miten saadaan säveliä ulos taajuutta muuttamalla.

Code: Select all

...
Eli taajuuden paikalle tulee: 8000*oktaavi*2.0^(sävel/12.0)
Sävelissä 0=C 1=C# 2=D 3=D# 4=E 5=F jne.
Ei toimi tämä koodipätkä oikein. :(
The Annihilation - FPS-peli työn alla.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Edistynyt Musiikinteko ohjelma

Post by valscion »

Flip wrote:
mza wrote:Noniin, tässä on nyt esimerkki, miten saadaan säveliä ulos taajuutta muuttamalla.

Code: Select all

...
Eli taajuuden paikalle tulee: 8000*oktaavi*2.0^(sävel/12.0)
Sävelissä 0=C 1=C# 2=D 3=D# 4=E 5=F jne.
Ei toimi tämä koodipätkä oikein. :(
Toimiihan se, ainakin minulla. Ukko-Nooahan se sieltä lampaanmääkymisenä tuli :D (ainakin pätkä :p)
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
User avatar
skinkken
Advanced Member
Posts: 453
Joined: Sat Sep 01, 2007 4:00 pm
Location: Helsinki

Re: Edistynyt Musiikinteko ohjelma

Post by skinkken »

VesQ wrote:
Flip wrote:
mza wrote:Noniin, tässä on nyt esimerkki, miten saadaan säveliä ulos taajuutta muuttamalla.

Code: Select all

...
Eli taajuuden paikalle tulee: 8000*oktaavi*2.0^(sävel/12.0)
Sävelissä 0=C 1=C# 2=D 3=D# 4=E 5=F jne.
Ei toimi tämä koodipätkä oikein. :(
Toimiihan se, ainakin minulla. Ukko-Nooahan se sieltä lampaanmääkymisenä tuli :D (ainakin pätkä :p)
Minullakin kyllä toimii ihan hyvin.
Jossakin vaiheessa saadaan siis sävelkorkeuksien muutos. 8-)
Valmiit pelit: House of Horrors , Battle Zone , Über Ball , Itdoti , Space Chaos , Bloxxplosives
Projekti jota teen ehkä joskus vielä: viewtopic.php?f=11&t=2636 <-- Tämä rivi päivitetty 14.1.2013
Jambo
Member
Posts: 75
Joined: Sat Apr 05, 2008 5:57 pm

Re: Edistynyt Musiikinteko ohjelma

Post by Jambo »

skinkken wrote: Minullakin kyllä toimii ihan hyvin.
Jossakin vaiheessa saadaan siis sävelkorkeuksien muutos. 8-)
Saatte, jos jaksan kehittää ohjelmaa. NYt se on ollut jäissä jo monta päivää, kun vaikuttaa siltä, ettei ohjelmaani käytetä. Eli mitä hyötyä olisi kehittää sitä, jos on vain 1, joka käyttää ohjelmaa tositarkoituksiin (eli ei vain välillä kokeile ohjelmaa).

Tai jos on enemmänkin, kirjoita se tähän topiciin vaikka guestina, jos et ole rekisteröitynyt. Sitten katsotaan, että kuinka moni käyttää ohjelmaa ja sen jälkeen saattaa mahdollisesti tulla sävelkorkeuden muutos.
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Edistynyt Musiikinteko ohjelma

Post by rami123 »

Jambo wrote:
skinkken wrote: Minullakin kyllä toimii ihan hyvin.
Jossakin vaiheessa saadaan siis sävelkorkeuksien muutos. 8-)
Saatte, jos jaksan kehittää ohjelmaa. NYt se on ollut jäissä jo monta päivää, kun vaikuttaa siltä, ettei ohjelmaani käytetä. Eli mitä hyötyä olisi kehittää sitä, jos on vain 1, joka käyttää ohjelmaa tositarkoituksiin (eli ei vain välillä kokeile ohjelmaa).

Tai jos on enemmänkin, kirjoita se tähän topiciin vaikka guestina, jos et ole rekisteröitynyt. Sitten katsotaan, että kuinka moni käyttää ohjelmaa ja sen jälkeen saattaa mahdollisesti tulla sävelkorkeuden muutos.
Minä käytän . hyvä ohjelma. :)
Last edited by rami123 on Sat Apr 11, 2009 1:13 pm, edited 1 time in total.
Flip-unsigned

Re: Edistynyt Musiikinteko ohjelma

Post by Flip-unsigned »

Hmm.. miten sen selittäisin..

Niin kyllä tuo toimii yhden oktaavin ajan, muttei sitäkään tarkasti. Seuraavassa oktaavissa sitten jäädään puoleen väliin ja kolmannessa ilmeisesti neljäsosaan. Johtuu siitä että on sävelien hertsilukemia kuvaava kuvaaja on kaareutuva eikä suora, ja tämän kaavan mukaan kuvaaja olisi suora. Mitä korkeammalle sävelissä mennään, sitä jyrkemmin hertsikuvaaja kohoaa ylöspäin. Voidaan olettaa että seuraavan oktaavin sävel on aina oktaavia alemman sävelen hertsilukema kerrottuna kahdella.

Toisin sanoen, oletetaan että hertsilukema C1:ssä on 8000 Hz. Silloin C2 on 16000 Hz ja C3 on 32000 Hz, C4 64000 Hz. Esittämänne kaavan mukaan C1 on 8000 Hz, C2 16000 Hz, C3 24000 Hz, C4 32000 Hz jne..

Ite en keksi kaavaa tuosta, mutta eiköhän joku teistä keksi. :)
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Edistynyt Musiikinteko ohjelma

Post by Viltzu »

Jambo wrote:
skinkken wrote: Minullakin kyllä toimii ihan hyvin.
Jossakin vaiheessa saadaan siis sävelkorkeuksien muutos. 8-)
Saatte, jos jaksan kehittää ohjelmaa. NYt se on ollut jäissä jo monta päivää, kun vaikuttaa siltä, ettei ohjelmaani käytetä. Eli mitä hyötyä olisi kehittää sitä, jos on vain 1, joka käyttää ohjelmaa tositarkoituksiin (eli ei vain välillä kokeile ohjelmaa).

Tai jos on enemmänkin, kirjoita se tähän topiciin vaikka guestina, jos et ole rekisteröitynyt. Sitten katsotaan, että kuinka moni käyttää ohjelmaa ja sen jälkeen saattaa mahdollisesti tulla sävelkorkeuden muutos.
Jos et kehitä tätä paremmaksi, niin mitä järkeä tätä olisi käyttää. Tottakai käyttäjiä tulee lisää jos tämä kehittyy paremmaksi. :D
EDIT:

Tuo sävelkorkeuksen muutos olisi melko hyvä joka saattaisi tuoda lisää käyttäjiä.

Harakka
Advanced Member
Posts: 430
Joined: Mon Aug 27, 2007 9:08 pm
Location: Salo
Contact:

Re: Edistynyt Musiikinteko ohjelma

Post by Harakka »

Esimerkiksiksi tämmöisellä kaavalla pitäisi toimia.

f = 8000*(1.05946)^(puolisävelaskeleet+12*oktaavit)

Kummallinen murtoluku on 2^(1/12) laskettuna valmiiksi. CB ei ilmeisesti ymmärrä murtolukupotensseja ainakaan tuossa muodossa? Ja 8000 on perussävelen taajuus, yleinen valinta olisi 440Hz (A4) mutta pelikäytössä on kätävämpää valita korkeampi taajuus samplejen näytteenottotaajuden mukaan. Yleisiä 44100Hz ja siitä puolikkaat.

Sain muuten innostuksen tehdä sekvensseriohjelmaa. Nyt on jo kasassa monia patterneja tukeva systeemi, eli käytännössä hiirellä klikkaillaan nuotteja nuottiviivastoa vastaavaan ruudukkoon (sama kuin FL Studiossa). Nuottien pituutta pystyy säätämään ja niitä voi olla monia päällekkäin jne. Tuolla pystyy säveltelemään jo aika kätevästi, miksei isompiakin veisuja.

EDIT:
Villi sointumasiina kaavaa havainnollistamaan.

Code: Select all

aani=LoadSound("media\Button 1.wav")
asteikko$ = "0 4 7 12 7 4"
pit = CountWords(asteikko$)
Dim savelet(pit)
    For k = 1 To pit
        savelet(k) = GetWord(asteikko$,k)
    Next k
    

oktaavit = 2

Repeat
    For okt = 1 To oktaavit
        For b = 0 To 11
            For a = 1 To pit
                PlaySound aani,100,0,8000*(1.05946)^(b+savelet(a)+12*okt)
                Wait 100
            Next a
        Next b
    Next okt
    
    For okt = oktaavit To 1 Step -1
        For b = 11 To 0 Step -1
            For a = 1 To pit
                PlaySound aani,100,0,8000*(1.05946)^(b+savelet(a)+12*okt)
                Wait 100
            Next a
        Next b
    Next okt
Forever
Last edited by Harakka on Sat Apr 11, 2009 2:58 pm, edited 1 time in total.
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Guest

Re: Edistynyt Musiikinteko ohjelma

Post by Guest »

Harakka wrote:läpäläpä
Juu tämähän vaikuttaa toimivalta tekeleeltä. :) kiitoksia
Ramez

Re: Edistynyt Musiikinteko ohjelma

Post by Ramez »

Tämän CB-trackerin lähdekoodia saa käyttää vapaasti:
http://koti.mbnet.fi/rniemi/cbjutut/

Kokemuksesta voin sanoa ettei CB:llä ole järkeä tehdä musiikinteko-ohjelmia muuten kuin omaksi iloksi, paitsi ehkä jonkinlaista interaktiivista pelimusiikkia varten (esim rytmipelit tai säveltapailu). Ilmaisia trackereita, sekvenssereitä ym ohjelmia löytyy netistä pilvin pimein ja CB osaa soittaa mod-musiikkia jo valmiiksi.
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Edistynyt Musiikinteko ohjelma

Post by MaGetzUb »

Ramezin ohjelmasta tulee mieleen Wanha kunnon Impulse tracker.
Alootus biisi oli cool, mutta jatketaan aihetta.. :D
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Lobodomy
Member
Posts: 77
Joined: Tue Sep 09, 2008 6:11 pm
Location: Pälkäne

Re: Edistynyt Musiikinteko ohjelma

Post by Lobodomy »

En tiedä onko tästä mitään juttua täällä mutta en saa avattua tiedostoa.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Edistynyt Musiikinteko ohjelma

Post by Latexi95 »

KilledWhale wrote:
Minä wrote:Hieno ohjelma.

Miten tuollaisen tiedostonavausikkunan saa tehtyä?
cbApilla, joka tulee cbSDK:n mukana
Minäkin kaipaisin sellaista...
Lähettäiskö joku linkkiä ja ohjeen aiheesta.
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Edistynyt Musiikinteko ohjelma

Post by Jani »

Latexi95 wrote:
KilledWhale wrote:
Minä wrote:Hieno ohjelma.

Miten tuollaisen tiedostonavausikkunan saa tehtyä?
cbApilla, joka tulee cbSDK:n mukana
Minäkin kaipaisin sellaista...
Lähettäiskö joku linkkiä ja ohjeen aiheesta.
Varaa aikaa kirjoittaa hakusana "cbSDK", painaa entteriä ja klikata linkkiä.
Tein haunkin: http://jouluserver.com/~aave/cbsdk
Ja ohjeet löydät cb:n manuaalista.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Edistynyt Musiikinteko ohjelma

Post by Wee »

Hmm, ohjelma vaikuttaa päällisin puolin ihan kivalta ja toimivalta, mutta itse en ainakaan saanut lisättyä ääniä tuosta sinun sounds-paketista. Latasin siis tuon exen ilman soundeja, ja sitten sounds-paketin, kumpikin samassa kansiossa, mutta hiirenklikkaukset eivät tuota mitään aikaan. Evotanko vain?
"This city looks so pretty, do you wanna burn here with me..."
ikuinen aloittelija
Newcomer
Posts: 7
Joined: Fri Mar 21, 2008 9:31 am
Location: Liminka
Contact:

Re: Edistynyt Musiikinteko ohjelma

Post by ikuinen aloittelija »

hmmm. CoolBasicin tekeleeksi hyvä. Varsinaista käyttöä tuskin tulee tasolla, jolla itse sävellän musiikkia. Tuo .wav ulostulo on hyvä ja suhkot helppokäyttöinenkin. Itse sävellän Guitar Pro 5.llä, joka on todella hyvä musiikin säveltämistä varten. Gp5.llä voi kirjoittaa suoraan tabulatuureihin tai nuotteihin. Tämä muituttaa ohjelmaa, jonka joskus sain muropakkauksesta ja jolla sai tehtyä musiikkia tylsyyteensä, mutta varsinaiseen musiikin tekoon tämä tuskin kovin hyvin soveltuu. Hieno suoritus kuitenkin cb.llä tehdyksi. Onnea kehittämiseen.

ikuinen aloittelija
Hieman kaupallisia mainoksia:

http://www.4-dimensionalgames.tk
http://www.moru.tk

Varoitus! Alla oleva linkki ohjaa isosen materiaalipankkiin, eli sivusto sisältää hengellistä materiaalia:
http://www.isosenblogi.tk
Herra HoOpO
Newcomer
Posts: 36
Joined: Fri Mar 20, 2009 3:29 pm

Re: Edistynyt Musiikinteko ohjelma

Post by Herra HoOpO »

Harakka wrote:Esimerkiksiksi tämmöisellä kaavalla pitäisi toimia.

f = 8000*(1.05946)^(puolisävelaskeleet+12*oktaavit)

Kummallinen murtoluku on 2^(1/12) laskettuna valmiiksi. CB ei ilmeisesti ymmärrä murtolukupotensseja ainakaan tuossa muodossa? Ja 8000 on perussävelen taajuus, yleinen valinta olisi 440Hz (A4) mutta pelikäytössä on kätävämpää valita korkeampi taajuus samplejen näytteenottotaajuden mukaan. Yleisiä 44100Hz ja siitä puolikkaat.

Sain muuten innostuksen tehdä sekvensseriohjelmaa. Nyt on jo kasassa monia patterneja tukeva systeemi, eli käytännössä hiirellä klikkaillaan nuotteja nuottiviivastoa vastaavaan ruudukkoon (sama kuin FL Studiossa). Nuottien pituutta pystyy säätämään ja niitä voi olla monia päällekkäin jne. Tuolla pystyy säveltelemään jo aika kätevästi, miksei isompiakin veisuja.

EDIT:
Villi sointumasiina kaavaa havainnollistamaan.

Code: Select all

...
olisi kiva jos koodeihin viitsisi lisätä kommentit
(\__/)
(='.'=)
(")_(")
alker
Newcomer
Posts: 49
Joined: Thu Dec 18, 2008 3:32 pm

Re: Edistynyt Musiikinteko ohjelma

Post by alker »

Voisit väsätä sellaisen jutun että laattikon koko muuttuu sellain miten pitkä ääni on. Sellain saisi paremmin tehtyä niitä kappaleita.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Edistynyt Musiikinteko ohjelma

Post by skorpioni-cb »

Mihin polkuun musiikki?
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
Post Reply