Etunimi.Sukunimi

Salasana

ATK-opetus

Opa

Vielä keskeneräinen. Tähän tulee ohjelmien käyttöohjeita koulun vaatimustason mukaisesti. Kuvia ei vielä toistaiseksi tule, harmi, mutta kuvien kanssa on mietintämyssy käynnissä. Työohjeet ovat muualla. Valitse ohjelma listasta.

Ohjelmat ovat joko avoimia tai muuten vapaita eli ilmaisia. Kaupallisia, maksullisia softia ei harrasteta täällä.

Sonic Pi

Linkki ohjelman sivulle:

Lyhyet ohjeet

Vihje 1/1

edellinen seuraava

1

Ääntä

Livekoodausta ja musiikkia, tai ainakin ääntä. 

Töiden ohjeet


Livekoodaus: ohjetta

Työn ohjeet: Aloitussoundit

define :my_loop do

  play 50
  sleep 1
end

in_thread(name: :looper) do
  loop do
    my_loop
  end
end 

jos epäilyttää, ettet ymmärrä, lue ohjeet alusta saakka tai tsekkaa tietty kohta.

Koodin ollessa käynnissä vaihda 50 johonkin muuhun lukuun (vaikka 55) ja paina Run-nappia.

Käytä syntikkaa silmukassa:

define :my_loop do

  use_synth :tb303
  play 50, release: 0.3
  sleep 0.25

end 
Soita sointua:

define :my_loop do

  use_synth :tb303
  play chord(:e3, :minor), release: 0.3
  sleep 0.5
end 
Satunnaisia nuotteja

define :my_loop do

  use_synth :tb303
  play choose(chord(:e3, :minor)), release: 0.3
  sleep 0.25
end 
Tai satunnainen leikkausarvo

define :my_loop do

  use_synth :tb303
  play choose(chord(:e3, :minor)), release: 0.2, cutoff: rrand(60, 130)
  sleep 0.25
end 
Lisää rummut

define :my_loop do

  use_synth :tb303
  sample :drum_bass_hard, rate: rrand(0.5, 2)
  play choose(chord(:e3, :minor)), release: 0.2, cutoff: rrand(60, 130)
  sleep 0.25
end 
Tee livenä musiikkia koodaamalla ja palauta äänitiedosto!




Livekoodaus: silmukat

Työn ohjeet: Sama asia kuin äsken, mutta laiskemmin eli vähemmällä kirjoittamisella. Aloitetaan

live_loop :foo do

  play 60
  sleep 1
end 
Muuta 60 -> 65 ja paina Run-nappia uudelleen. Lisää syntikka :prophet, soita säveltä:e1, releasellaja muuta taukoa 1->8, livenä. tottakai. Muuta livenä eli älä kopypastaa. Paina Run-nappia välillä:

live_loop :foo do

  use_synth :prophet
  play :e1, release: 8
  sleep 8
end 
Muuta cutoff-arvoa satunnaiseksi, eli muuta

 play :e1, release: 8 
 play :e1, release: 8, cutoff: rrand(70, 130)

Rummut. LIsää
sample :loop_garzul

Muuta nuotti e1 vaikka c1:ksi.

Leiki, soita, nauti! Palauta äänitiedosto


Alku

Työn ohjeet:

Koodaa seuraavat rivit

live_loop :flibble do

  sample :bd_haus, rate: 1
  sleep 0.5
end 

  • Muuta sleep-arvoa 0.5:stä yhteen
  • Paina Run-nappia
  • Muista hetkesi; livekoodasit Sonic Pi:llä!
Lisää sample :bd_haus:n yläpuolelle sample :ambi_choir, rate: 0.3
eli yhteensä

live_loop :flibble do

  sample :ambi_choir, rate: 0.3
  sample :bd_haus, rate: 1
  sleep 1
end 

Muuta rate:n arvoja. Mitä tapahtuu, kun suurennat tai pienennät?
Kommentoi käyttämällä #-merkkiä.

Kokeile

live_loop :guit do

  with_fx :echo, mix: 0.3, phase: 0.25 do
    sample :guit_em9, rate: 0.5
  end
#  sample :guit_em9, rate: -0.5
  sleep 8
end

live_loop :boom do

  with_fx :reverb, room: 1 do
    sample :bd_boom, amp: 10, rate: 1
  end
  sleep 8
end 
Tutki ja kokeile.




Piip

Työn ohjeet: Kirjoita

play 70
Kokeile

play 75

ja sitten

play 60

Play 47 tarkoittaa 47:ttä nuottia (note) pianolla. Sointu saadaan soittamalla monta nuottia yhtä aikaa:

play 72

play 75
play 79 
Melodia saadaan soittamalla nuotteja hieman eri aikaan. Laitetaan tauko väliin:

play 72

sleep 1
play 75
sleep 1
play 79 
Sleep 1 tarkoittaa yhden beatin taukoa. Muuta tauko 0.5 beatin pituiseksi. Miltä kuulostaa? Sonic Pi osaa sointujen nimet:

play :C

sleep 0.5
play :D
sleep 0.5
play :E 
Oktaavi voidaan laittaa myös:

play :C3

sleep 0.5
play :D3
sleep 0.5
play :E4 
Kokeile nopeita (short ja flat)
play :C3
sleep 1
play :Cs3
sleep 1
play :Cb3

Soita om kappaleesi. Palauta se.






Kesto

Työn ohjeet: Release kertoo, kauanko nuotin lopettaminen kestää

play 60, release: 2
tai
play 60, release: 0.2
Attack on käynnistysvaihe

play 60, attack: 2

sleep 3
play 65, attack: 0.5 
tai
play 60, attack: 0.7, release: 4
tai vaikkapa
play 60, attack: 0.5, release: 0.5
Sustain-aika kertoo kauanko perusvoimakkuus on päällä
play 60, attack: 0.3, sustain: 1, release: 1
Tai jopa

play 60, attack: 0.1, attack_level: 1, decay: 0.2, sustain_level: 0.4, sustain: 1, release: 0.5

Ymmärsitkö? Minä en.

Tee musiikkia käyttäen näitä.



Parametrit

Työn ohjeet: Yleisimmät amplitude ja pan.


play 60, amp: 0.5
ja
play 60, amp: 2
Kokeilepa alla olevaa

play 60, amp: 0.5

sleep 0.5
play 65 
Huomaatko eron? Eli näin voi tehdä:

play 50, amp: 0.1

sleep 0.25
play 55, amp: 0.2
sleep 0.25
play 57, amp: 0.4
sleep 0.25
play 62, amp: 1

Stereokaiuttimilla kuulet eron:

play 60, pan: -1

sleep 1

play 60, pan: 1

sleep 1

play 60, pan: 0



Syntikka

Työn ohjeet: Piip-äänet eivät ole kovinkaan mielenkiintoisia.

Saha-aalto

use_synth :saw

play 38
sleep 0.25
play 50
sleep 0.25
play 62
sleep 0.25 
Prophet on toinen syntikkaääni

use_synth :prophet

play 38
sleep 0.25
play 50
sleep 0.25
play 62
sleep 0.25 
Yhdistä äänet:

use_synth :saw

play 38
sleep 0.25
play 50
sleep 0.25
use_synth :prophet
play 57
sleep 0.25
Vielä yksi

use_synth :tb303

play 38
sleep 0.25
use_synth :dsaw
play 50
sleep 0.25
use_synth :prophet
play 57
sleep 0.25 
Eri äänet näet alla olevasta Synths-napista. Ohjeen kirjoittajan parhaimmat ovaty

:prophet 
:dsaw 
:fm 
:tb303 
:pulse 
Soita omaa musiikkia.


Sample rate

Työn ohjeet: Soita

sample :ambi_choir, rate: 1
Muuta ratea 0.5:ksi:
sample :ambi_choir, rate: 0.5
Ääni on oktaavia matalampi ja tuplasti hitaampi. Leikitään rummuilla:
sample :loop_amen
Vähän hitaampana, oldskoolin hiphopina:
sample :loop_amen, rate: 0.5
Nopeampana se on viidakkokamaa:
sample :loop_amen, rate: 1.5
Takaperinkin voi soittaa:
sample :loop_amen, rate: -1
Testaa: etuperin, takaperin, mielettömän hitaasti, erittäin nopsaan. Mitä mielenkiintoista saat aikaiseksi. Palauta se.




Samplen feidaus

Työn ohjeet: Aiemmat attack, release ja sustain -käskyt toimivat sämpleillä:

sample :loop_amen, attack: 1
Tai nopeampi aloitus
sample :loop_amen, attack: 0.3
Näytteen pituuden saat käskyllä
print sample_duration :loop_amen
eli kirjoitapa
sample :loop_amen, release: 0.75
Eli kone feidaa viimeisellä 0.75s:lla äänettömäksi. Eka sekunti tulee normaalisti.
sample :loop_amen, attack: 0.75, release: 0.75
Kuuntelepa
sample :drum_cymbal_open
Nyt tehdään siitä jäykempi:
sample :drum_cymbal_open, attack: 0.01, sustain: 0, release: 0.1
Tai kokeile
sample :drum_cymbal_open, attack: 0.01, sustain: 0.3, release: 0.1

Kokeile eri sämpleille ja feidaile niitä oikein kunnolla!




Samplet

Työn ohjeet: Nyt irtoaa!

sample :ambi_lunar_land
Tai sitten play-käskyllä:

play 36

play 48
sample :ambi_lunar_land
sample :ambi_drone 
ja sleep toimii:

sample :ambi_lunar_land

sleep 1
play 48
sleep 0.5
play 36
sample :ambi_drone
sleep 1
play 36 
Sample löytyy valikosta, Synth:n vierestä. Tai kokeilemalla, esimerkiksi

:ambi_ 
:bass_ 
:elec_ 
:perc_ 
:guit_ 
:drum_ 
:misc_ 
:bd_ 

Tee samplaysmiksausta!


Sämplen aloituskohta

Työn ohjeet: Testaa

sample :loop_amen, start: 0.5
Testaa ja seuraavaksi
sample :loop_amen, start: 0.75
tai
sample :loop_amen, finish: 0.5
entäpä jos lopetus on ennen aloitusta:
sample :loop_amen, start: 0.6, finish: 0.4
Yhdistele rate:n kanssa
sample :loop_amen, start: 0.5, finish: 0.7, rate: 0.2
ja feidaukset
sample :loop_amen, start: 0.5, finish: 0.8, rate: -0.2, attack: 0.3, release: 1
Tehtävänä leikkiä kunnolla. Palauta erikoinen musiikkikoodi.



Satunnaisuus

Työn ohjeet: Tottakai satunnaiset nuotit onnistuvat

play rrand(50, 95)
Mitä alla oleva tekee:

loop do

  play rrand(50, 95)
  sleep 0.5
end  
Kirotut kellot

loop do

  sample :perc_bell, rate: (rrand 0.125, 1.5)
  sleep rrand(0.2, 2)
end 
Satunnainen lopetus

use_synth :tb303


loop do
  play 50, release: 0.1, cutoff: rrand(60, 120)
  sleep 0.125
end 
Satunnaissiemen; Kokeile monta kertaa:

5.times do

  play rrand(50, 100)
  sleep 0.5
end 
Aina sama? Lisää satunnaissiemen alkuun:


use_random_seed 40

5.times do
  play rrand(50, 100)
  sleep 0.5
end 
Valitse:

loop do

  play choose([60, 65, 72])
  sleep 1
end 
Äänen voimakkuudelle:

loop do

  play 60, amp: rand
  sleep 0.25
end 
Tee satunnaista musiikkia eri sämpleiilä ja äänillä.


Ohjelmointi: silmukka

Työn ohjeet:

Toista sama 3 kertaa:

3.times do

  play 50
  sleep 0.5
  sample :elec_blup
  sleep 0.5
  play 62
  sleep 0.25
end 
Mitä tekee alla oleva:

4.times do

  play 50
  sleep 0.5
end

8.times do
  play 55, release: 0.2
  sleep 0.25
end

Silmukat voidaan sisäkkäistää:

4.times do

  sample :drum_heavy_kick
  2.times do
    sample :elec_blip2, rate: 2
    sleep 0.25
  end
  sample :elec_snare
  4.times do
    sample :drum_tom_mid_soft
    sleep 0.125
  end
end 
Ikuinen silmukka

loop do

  sample :loop_amen
  sleep sample_duration :loop_amen
end 
Koodaa.silmukkamusiikka.




ohjelmointi: ehtolausekkeet

Työn ohjeet:

loop do


  if one_in(2)
    sample :drum_heavy_kick
  else
    sample :drum_cymbal_closed
  end
  
  sleep 0.5
  
end 
Tai vähän lyhyempi versio yksirivisestä: 

use_synth :dsaw


loop do
  play 50, amp: 0.3, release: 2
  play 53, amp: 0.3, release: 2 if one_in(2)
  play 57, amp: 0.3, release: 2 if one_in(3)
  play 60, amp: 0.3, release: 2 if one_in(4)
  sleep 1.5
end 
Tee vaihtoehtoista musiikkia.


Ohjelmointi: treadit

Työn ohjeet: Rinnakkaisajo eli kaksi silmukkaa voi ajaa samaan aikaan (päällekkäin):

in_thread do

  loop do
    sample :drum_heavy_kick
    sleep 1
  end
end

loop do
  use_synth :fm
  play 40, release: 0.2
  sleep 0.5
end 
Tai vaikkapa kolme

in_thread do

  loop do
    sample :drum_heavy_kick
    sleep 1
  end
end

in_thread do
  loop do
    use_synth :fm
    play 40, release: 0.2
    sleep 0.5
  end
end

loop do
  use_synth :zawa
  play 52, release: 2.5, phase: 2, amp: 0.5
  sleep 2
end 

Nämä voidaan nimetä. Tee musiikkia trwadeilla.


ohjelmointi: funktiot

Työn ohjeet: Määritetään funktio:

define :foo do

  play 50
  sleep 1
  play 55
  sleep 2
end 
Kun se on määritetty, sitä voidaan soittaa

foo


sleep 1

2.times do
  foo
end 

Funktioille voidaan antaa parametreja:

define :my_player do |n|

play n

end


my_player 80

sleep 0.5

my_player 90

Tai kokeilepa alla olevaa

define :chord_player do |root, repeats|

  repeats.times do
    play chord(root, :minor), release: 0.3
    sleep 0.5
  end
end

chord_player :e3, 2
sleep 0.5
chord_player :a3, 3
chord_player :g3, 4
sleep 0.5
chord_player :e3, 3

Muuta käskyjä funktioiksi, ryhdy luovaksi.


Ohjelmointi: muuttujat

Työn ohjeet: Kokeile

sd = sample_duration(:loop_amen)
tai
s = play 50, release: 8

sleep 2

control s, note: 62 
Kokeile muuttujia eri paikoissa. 


Efektit

Työn ohjeet: Reverb


with_fx :reverb do

  play 50
  sleep 0.5
  sample :elec_plip
  sleep 0.5
  play 62
end 
Kaikki kuulostaa hyvältä, kun siinä on reverbiä. Kokeile tätä:

with_fx :reverb do

  play 50
  sleep 0.5
  sample :elec_plip
  sleep 0.5
  play 62
end

sleep 1

play 55 

Kaiku ja kieku. 

with_fx :echo do

  play 50
  sleep 0.5
  sample :elec_plip
  sleep 0.5
  play 62
end 
Phase:-parametri säätää kaikua

with_fx :echo, phase: 0.5 do

  play 50
  sleep 0.5
  sample :elec_plip
  sleep 0.5
  play 62
end 
tai nopeampana:

with_fx :echo, phase: 0.125 do

  play 50
  sleep 0.5
  sample :elec_plip
  sleep 0.5
  play 62
end 
Pidempi kaiku:

with_fx :echo, phase: 0.5, decay: 8 do

  play 50
  sleep 0.5
  sample :elec_plip
  sleep 0.5
  play 62
end 
Yhdistetyt efektit:

with_fx :reverb do

  with_fx :echo, phase: 0.5, decay: 8 do
    play 50
    sleep 0.5
    sample :elec_blup
    sleep 0.5
    play 62
  end
end 
Efektit löytyvät taas alariviltä. Joitain hyviä ovat 

wobble, 
reverb, 
echo, 
distortion, 
slicer 

Tee hyvää efektimusiikkia.


Livekoodaus

Työn ohjeet: Anna mennä!


Haluatko aivan varmasti tehdä tämän tehtävän?