in english norsk korean

Kappaleen tekeminen

Päämelodia

Nyt kun kappaleen pohja on kunnossa on aika keksiä sille toimiva päämelodia. Sen sijaan että kirjoittaisimme melodiakulun toistuvilla play ja sleep komentojen sarjoilla, voimme käyttää komentoa play_pattern_timed säästääksemme aikaa ja koodirivejä.

Sen sijaan että kirjoittaisit:

play :c2
sleep 0.5
play :d2
sleep 0.25
play :e2
sleep 0.75
play :d2
sleep 0.5

Voit kirjoittaa saman asian myös näin:

play_pattern_timed [:c2, :d2, :e2, :d2], [0.5, 0.25, 0.75, 0.5]

Ensimmäinen lista [:c2, :d2, :e2, :d2] on joukko säveliä ja toinen lista [0.5, 0.25, 0.75, 0.5] on joukko sävelten välissä olevia taukoja.

Melodia

Tee uusi live_loop nimeltä melodia, johon voimme kirjoittaa kappaleen päämelodian. Jos se tuntuu helpommalta, käytä play_pattern_timed komentoa melodian kirjoittamiseen. Voit myös halutessasi käyttää selaimessa toimivaa pianoa päämelodian tavailua varten. Alla on esimerkki melodiasta:

live_loop :melodia do
  play_pattern_timed [:c4, :e4, :f4, :g4, :f4, :e4, :f4, :g4, :f4, :e4, :f4], [0.25, 0.25, 0.25, 1.5, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25]
end

Nyt koko kappale kuulostaa jotakuinkin tältä:

use_bpm 120

live_loop :rummut do
  sample :drum_heavy_kick
  sleep 1
  sample :drum_snare_hard
  sleep 1
  sample :drum_heavy_kick
  sleep 1
  sample :drum_snare_hard
  sleep 1
end

live_loop :hihat do
  sample :drum_cymbal_closed
  sleep 0.25
  sample :drum_cymbal_pedal
  sleep 1
end

live_loop :basso do
  use_synth :fm
  play :c2, attack: 0, release: 0.25
  sleep 0.25
  play :c2, attack: 0, release: 0.3
  sleep 2
  play :e2
  sleep 0.75
  play :f2
  sleep 1
end

live_loop :melodia do
  play_pattern_timed [:c4, :e4, :f4, :g4, :f4, :e4, :f4, :g4, :f4, :e4, :f4], [0.25, 0.25, 0.25, 1.5, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25], attack: 0, release: 0.2
end

Nyt olet jo saanut upean alun kappaleen kirjoittamiseen Sonic Pi:llä. Seuraavaksi kannattaakin tutkia miten kappale muuttuu kokeilemalla erilaisia melodiakulkuja, syntetisaattorin ääniä, sampleja ja sleep, attack ja release -arvoja.