Piano: Difference between revisions

From wikiluntti
No edit summary
No edit summary
Line 210: Line 210:
line4
line4
</syntaxhighlight >
</syntaxhighlight >


== Mods: Volume, Amplification ==
== Mods: Volume, Amplification ==
Line 220: Line 221:


== Mods: Stereo ==
== Modifying notes ==
 
=== Mods: Stereo ===


<syntaxhighlight >
<syntaxhighlight >
Line 230: Line 233:
</syntaxhighlight >
</syntaxhighlight >


== Mods: Release time ==
=== Mods: Release time ===


<syntaxhighlight >
<syntaxhighlight >
Line 242: Line 245:
[[File:Paastoaika.png|thumb|Release Time]]
[[File:Paastoaika.png|thumb|Release Time]]


== Mods: Attack time ==
=== Mods: Attack time ===


<syntaxhighlight >
<syntaxhighlight >
Line 254: Line 257:
[[File:molemmatAjat.png|thumb|Attack and Release Times]]
[[File:molemmatAjat.png|thumb|Attack and Release Times]]


== Mods: Sustain time ==
=== Mods: Sustain time ===


<syntaxhighlight >
<syntaxhighlight >
Line 262: Line 265:
[[File:pitoaika.png|thumb|Sustain Time]]
[[File:pitoaika.png|thumb|Sustain Time]]


== Mods: Decay time and level ==
=== Mods: Decay time and level ===


<syntaxhighlight >
<syntaxhighlight >

Revision as of 17:38, 12 October 2020

The Piano

Sonic Pi plays all piano keys. The command play 70 means the 70th key, play 71 plays the next to the right. Sonic Pi plays also decimal notes, try play 71.67. Also, you can play multiple notes at the time:

play 72
play 75
play 79


Melody

Use sleep command in between.

s  = 0.5
play 72
sleep s
play 75
sleep s
play 79


Notes

The notes C, D, E, F, G, A, B are available. Also, the black keys are there; use s as sharp or b as flat.

play :C
sleep 0.5
play :D
sleep 0.5
play :E

The different octaves are available as numbers, try play :C3 or play :Fs3.

https://upload.wikimedia.org/wikipedia/commons/c/c0/Klaviatur-3-en.svg


Chords

Chords are usually written on top of the charts.

play chord(:D, :minor7)
sleep 1
play chord(:D, :major7)
sleep 1
play chord(:D, "7")
sleep 1
play chord(:Db, "7")
sleep 1
play chord(:Db, :major7)
sleep 1

play chord(:E3, :minor)
sleep 1
play chord(:E3, :major)
sleep 1
play chord(:E, "7")
sleep 1
play chord(:G, :minor7)
sleep 1
play chord(:A, :major)
sleep 1
play chord(:G, "m7-5")

Also, you can type the chord in once: play_chord [:c4, :e4, :g4]. More chords are available at e.g. Chord progression map.

Variables

Play all the keys starting from the 60th key.

nappain = 60
live_loop :kaikki do
  play nappain, attack:0.01, sustain:0.1, release:0.9
  sleep 1.5
  nappain  = nappain + 1
end


Functions

The Jingle Bells is a very famous Christmas song. Note that there is a lot of repeating, and thus we code the lines in own functions:

use_bpm 70

define :line1 do
  play :E
  sleep 0.5
  play :E
  sleep 0.5
  play :E
  sleep 0.5
  play :E
  sleep 0.5
  play :E
  sleep 0.5
  play :E
  
  sleep 0.5
  play :E
  sleep 0.5
  play :G
  sleep 0.5
  play :C
  sleep 0.5
  play :D
  sleep 0.5
  play :E
  sleep 0.5
end

define :line2 do
  play :F
  sleep 0.5
  play :F
  sleep 0.5
  play :F
  sleep 0.5
  play :F
  sleep 0.5
  play :F
  sleep 0.5
  play :E
  sleep 0.5
  play :E
  sleep 0.5
  play :E
  sleep 0.5
end


define :line3 do
  play :E
  sleep 0.5
  play :D
  sleep 0.5
  play :D
  sleep 0.5
  play :E
  sleep 0.5
  play :D
  sleep 0.5
  play :G
end


define :line4 do
  play :G
  sleep 0.5
  play :G
  sleep 0.5
  play :F
  sleep 0.5
  play :D
  sleep 0.5
  play :C
  sleep 0.5
end

line1
line2
line3 
line1
line2
line4


The lines can be written shorter as

use_bpm 70

define :line1 do
  play_pattern_timed [:e, :e, :e, :e, :e, :e], [0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
  sleep 0.5
  play_pattern_timed [:e, :g, :c, :d, :e], [0.5, 0.5, 0.5, 0.5, 0.5]
  sleep 0.5
end

define :line2 do
  play_pattern_timed [:f, :f, :f, :f, :f, :e, :e, :e], [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
  sleep 0.5
end

define :line3 do
  play_pattern_timed [:e, :d, :d, :e, :d, :g], [0.5, 0.5, 0.5, 0.5, 0.5]
  
end

define :line4 do
  play_pattern_timed [:g, :g, :f, :d, :c], [0.5, 0.5, 0.5, 0.5, 0.5]
  sleep 0.5
end

line1
line2
line3
line1
line2
line4


Mods: Volume, Amplification

play 60, amp: 0.5
sleep 1
play 60, amp: 2


Modifying notes

Mods: Stereo

play 60, pan: -1 
sleep 1
play 60, pan: 1
sleep 1
play 60, pan: 0

Mods: Release time

play 70, release: 1 
sleep 1
play 70, release: 2 
sleep 2
play 70, release: 0.2
Release Time

Mods: Attack time

play 60, attack: 2
sleep 3
play 65, attack: 0.5
Attack Time
Attack and Release Times

Mods: Sustain time

play 60, attack: 0.3, sustain: 1, release: 1
Sustain Time

Mods: Decay time and level

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

play 60, attack: 0.1, attack_level: 1, decay: 0.2, decay_level: 0.3, sustain: 1, sustain_level: 0.4, release: 0.5
Decay Time
Decay Level