How to make chord progressions in Sonic-Pi with Guitar wav files

Here is a tutorial I am following

guitar_waves.rb contents (The wave files are taken from philharmonia website.)

A2 = "path/to/guitar_A2_very-long_forte_normal.wav"
A2 = "path/to/guitar_A2_very-long_piano_normal.wav"
A3 = "path/to/guitar_A3_very-long_forte_harmonics.wav"
A3 = "path/to/guitar_A3_very-long_forte_normal.wav"
A3 = "path/to/guitar_A3_very-long_pianissimo_harmonics.wav"
A3 = "path/to/guitar_A3_very-long_piano_harmonics.wav"
A3 = "path/to/guitar_A3_very-long_piano_normal.wav"
A4 = "path/to/guitar_A4_very-long_forte_harmonics.wav"
A4 = "path/to/guitar_A4_very-long_forte_normal.wav"
A4 = "path/to/guitar_A4_very-long_piano_harmonics.wav"
A4 = "path/to/guitar_A4_very-long_piano_normal.wav"
As2 = "path/to/guitar_As2_very-long_forte_normal.wav"
As2 = "path/to/guitar_As2_very-long_piano_normal.wav"
As3 = "path/to/guitar_As3_very-long_forte_normal.wav"
As3 = "path/to/guitar_As3_very-long_piano_normal.wav"
As4 = "path/to/guitar_As4_very-long_forte_normal.wav"
As4 = "path/to/guitar_As4_very-long_piano_normal.wav"
B2 = "path/to/guitar_B2_very-long_forte_normal.wav"
B2 = "path/to/guitar_B2_very-long_piano_normal.wav"
B3 = "path/to/guitar_B3_very-long_forte_normal.wav"
B3 = "path/to/guitar_B3_very-long_piano_harmonics.wav"
B3 = "path/to/guitar_B3_very-long_piano_normal.wav"
B4 = "path/to/guitar_B4_very-long_forte_harmonics.wav"
B4 = "path/to/guitar_B4_very-long_forte_normal.wav"
B4 = "path/to/guitar_B4_very-long_pianissimo_harmonics.wav"
B4 = "path/to/guitar_B4_very-long_piano_normal.wav"
B5 = "path/to/guitar_B5_very-long_forte_harmonics.wav"
B5 = "path/to/guitar_B5_very-long_piano_harmonics.wav"
C3 = "path/to/guitar_C3_very-long_forte_normal.wav"
C3 = "path/to/guitar_C3_very-long_piano_normal.wav"
C4 = "path/to/guitar_C4_very-long_forte_normal.wav"
C4 = "path/to/guitar_C4_very-long_piano_harmonics.wav"
C5 = "path/to/guitar_C5_very-long_piano_harmonics.wav"
C6 = "path/to/guitar_C6_very-long_piano_normal.wav"
Cs3 = "path/to/guitar_Cs3_very-long_forte_normal.wav"
Cs3 = "path/to/guitar_Cs3_very-long_piano_normal.wav"
Cs4 = "path/to/guitar_Cs4_very-long_forte_normal.wav"
D3 = "path/to/guitar_D3_very-long_forte_normal.wav"
D3 = "path/to/guitar_D3_very-long_piano_normal.wav"
D4 = "path/to/guitar_D4_very-long_forte_harmonics.wav"
D4 = "path/to/guitar_D4_very-long_forte_normal.wav"
D4 = "path/to/guitar_D4_very-long_pianissimo_harmonics.wav"
D4 = "path/to/guitar_D4_very-long_piano_normal.wav"
D5 = "path/to/guitar_D5_very-long_forte_harmonics.wav"
D5 = "path/to/guitar_D5_very-long_forte_normal.wav"
D5 = "path/to/guitar_D5_very-long_piano_harmonics.wav"
D5 = "path/to/guitar_D5_very-long_piano_normal.wav"
Ds3 = "path/to/guitar_Ds3_very-long_forte_normal.wav"
Ds3 = "path/to/guitar_Ds3_very-long_piano_normal.wav"
Ds4 = "path/to/guitar_Ds4_very-long_forte_normal.wav"
Ds4 = "path/to/guitar_Ds4_very-long_piano_harmonics.wav"
Ds4 = "path/to/guitar_Ds4_very-long_piano_normal.wav"
Ds5 = "path/to/guitar_Ds5_very-long_forte_normal.wav"
Ds5 = "path/to/guitar_Ds5_very-long_piano_normal.wav"
E2 = "path/to/guitar_E2_very-long_forte_normal.wav"
E2 = "path/to/guitar_E2_very-long_piano_normal.wav"
E3 = "path/to/guitar_E3_very-long_forte_harmonics.wav"
E3 = "path/to/guitar_E3_very-long_forte_normal.wav"
E3 = "path/to/guitar_E3_very-long_pianissimo_harmonics.wav"
E3 = "path/to/guitar_E3_very-long_piano_normal.wav"
E4 = "path/to/guitar_E4_very-long_forte_harmonics.wav"
E4 = "path/to/guitar_E4_very-long_forte_normal.wav"
E4 = "path/to/guitar_E4_very-long_piano_harmonics.wav"
E4 = "path/to/guitar_E4_very-long_piano_normal.wav"
E5 = "path/to/guitar_E5_very-long_forte_harmonics.wav"
E5 = "path/to/guitar_E5_very-long_forte_normal.wav"
E5 = "path/to/guitar_E5_very-long_pianissimo_harmonics.wav"
E5 = "path/to/guitar_E5_very-long_piano_harmonics.wav"
E5 = "path/to/guitar_E5_very-long_piano_normal.wav"
E6 = "path/to/guitar_E6_very-long_forte_harmonics.wav"
E6 = "path/to/guitar_E6_very-long_piano_harmonics.wav"
F2 = "path/to/guitar_F2_very-long_forte_normal.wav"
F2 = "path/to/guitar_F2_very-long_piano_normal.wav"
F3 = "path/to/guitar_F3_very-long_forte_normal.wav"
F3 = "path/to/guitar_F3_very-long_piano_normal.wav"
F4 = "path/to/guitar_F4_very-long_forte_normal.wav"
F4 = "path/to/guitar_F4_very-long_piano_harmonics.wav"
F4 = "path/to/guitar_F4_very-long_piano_normal.wav"
Fs2 = "path/to/guitar_Fs2_very-long_forte_normal.wav"
Fs2 = "path/to/guitar_Fs2_very-long_piano_normal.wav"
Fs3 = "path/to/guitar_Fs3_very-long_forte_normal.wav"
Fs3 = "path/to/guitar_Fs3_very-long_piano_normal.wav"
Fs4 = "path/to/guitar_Fs4_very-long_forte_normal.wav"
Fs4 = "path/to/guitar_Fs4_very-long_piano_harmonics.wav"
Fs4 = "path/to/guitar_Fs4_very-long_piano_normal.wav"
Fs5 = "path/to/guitar_Fs5_very-long_piano_harmonics.wav"
G2 = "path/to/guitar_G2_very-long_forte_normal.wav"
G2 = "path/to/guitar_G2_very-long_piano_normal.wav"
G3 = "path/to/guitar_G3_very-long_forte_normal.wav"
G3 = "path/to/guitar_G3_very-long_piano_harmonics.wav"
G3 = "path/to/guitar_G3_very-long_piano_normal.wav"
G4 = "path/to/guitar_G4_very-long_forte_harmonics.wav"
G4 = "path/to/guitar_G4_very-long_forte_normal.wav"
G4 = "path/to/guitar_G4_very-long_pianissimo_harmonics.wav"
G4 = "path/to/guitar_G4_very-long_piano_harmonics.wav"
G4 = "path/to/guitar_G4_very-long_piano_normal.wav"
G5 = "path/to/guitar_G5_very-long_forte_harmonics.wav"
G5 = "path/to/guitar_G5_very-long_forte_normal.wav"
G5 = "path/to/guitar_G5_very-long_piano_harmonics.wav"
Gs2 = "path/to/guitar_Gs2_very-long_forte_normal.wav"
Gs2 = "path/to/guitar_Gs2_very-long_piano_normal.wav"
Gs3 = "path/to/guitar_Gs3_very-long_forte_normal.wav"
Gs3 = "path/to/guitar_Gs3_very-long_piano_normal.wav"
Gs4 = "path/to/guitar_Gs4_very-long_forte_normal.wav"
Gs4 = "path/to/guitar_Gs4_very-long_piano_normal.wav"
Gs5 = "path/to/guitar_Gs5_very-long_forte_normal.wav"

How to make chord progressions 1-5-6-4 or C, G, Am, F as explained in the tutorial in sonic pi?

1 Like

Hi
emlyn offered some examples here, which may help get you started:

PD-Pi

I thought I have a go myself. This is a fairly brute-force, lazy Saturday morning version. You’ll have to organise the progression and voicings yourself. But if, like me, you are lazy, the rpitch: opt for sample playback works surprisingly well on those samples; for example rpitch -5 will give you a G major chord, with an authentic (guitaristic) voicing.

PD-Pi

[edit]

In fact, using rpitch: you can create several chords, either major or minor, from only one chord. Here, for example is C major to A minor, with the caveat that the A minor voicing is not authentic, it simply shifts the C major voicing down 3 semitones.


with_fx :reverb, mix: 0.6, room: 0.8 do
  5.times do
    tick
    use_sample_defaults amp: 0.3
    sample gtr, [4, 9, 15, 5, 10].look
    # c3, e3 etc
    sleep 0.05
  end
  sleep 4
  5.times do
    tick
    use_sample_defaults amp: 0.3
    sample gtr, [4, 9, 15, 5, 10].look, rpitch: [-3, -4, -3, -3, -4].look
    # the 3rd of the chord is now minor
    sleep 0.05
  end
end

‘0-wavz’ folder you have shown. Are the .wav files in public domain. If it is in public domain can you share it.

No they are from the source you mentioned, the Philharmonia website, I simply edited and converted them to wavefiles in Audacity.

PD-Pi

The philharmonia samples are free from Sound samples | Philharmonia

Thanks for the link! I’m always on the lookout for good free samples.