Sonic Pi

Wanneer moet ik de C-toets indrukken? Ik moet toch "run" doen?
 
Daar kan je voor kiezen. Om het programma op te starten moet je altijd run doen. Van 0 tot 9 kan dat zelfs door elkaar. Als het verbeterd of veranderd is werkt het alleen als je direct run deed. Als je het programma zelfs weg haalt blijft het nog werken. Bij run gaat het laatste wat je getypt hebt aan-de-gang.
En dan kun je de start ook nog laten beginnen met een toets op het toetsenbord. In het programma zie een regel die groen is. Op die regel moet je eigen inteface staan. Die kan je knippen uit dat `bewegende deel` Waar je wat ziet als je iets ingedrukt hebt. Dat bewegen scrol-achtig zie je als je de toet(sen) vasthoud.
 
Bij mij werkt het niet. Waarschijnlijk moet je je programma hier als code posten zodat ook anderen het zuiver en correct kunnen kopiëren. Zo:

Code:
# Coded by Sam Aaron

live_loop :haunted do
  sample :perc_bell, rate: rrand(-1.5, 1.5)
  sleep rrand(0.1, 2)
end
 
Laatst gewijzigd:
# Definieer per toets 2–3 noten
melodies = {
48 => [:c3, :e3, :g3], # C3
50 => [:d3, :f3, :a3], # D3
52 => [:e3, :g3], # E3
53 => [:f3, :a3], # F3
55 => [:g3, :b3], # G3
57 => [:a3, :c4], # A3
59 => [:b3, :d4], # B3
60 => [:c4, :e4], # C4
62 => [:d4, :f3], # D4
64 => [:e4, :g3], # E4
65 => [:f4, :a4], # F4
67 => [:g4, :b4], # G4
69 => [:a4, :c5], # A4
71 => [:b4, :d5], # B4
72 => [:c5, :e5], # C5
74 => [:d5, :f5], # D5
76 => [:e5, :g5], # E5
77 => [:f5, :a5], # F5
79 => [:g5, :b5], # G5
81 => [:a5, :c6], # A5
83 => [:b5, :d6], # B5
84 => [:c6, :e6] # C6
}

live_loop :midi_looper do
note, velocity = sync "/midi:irig_pro_duo_midi_0:1/note_on"
held = get(:held_notes)

if melodies.keys.include?(note)
if velocity > 0
unless held[note]
set :held_notes, held.merge({note => true})

in_thread(name: "melody_#{note}") do
while get(:held_notes)[note]
melodies[note].each do |n|
midi_note_on n, vel: 80, channel: 1
sleep 0.2
midi_note_off n, channel: 1
end
end
end
end
else
set :held_notes, held.merge({note => false})
end
end
end
 
# Hier is die dan het door AI gegenereerde SonicPi programma.
Als je run gedaan hebt gaat het programma pas aan-de-gang wat er veranderd is , of geknip-plakt is , of geprogrammeerd is.
Knip-plak dan eerst zoals je het wil hebben daarna run doen en dan met het indrukken van C3 >>>> laat hij C3 horen en direct daarna E3 En G3
In dit geval.
Die zijn naar eigen inzicht aan te vullen of te veranderen.
Let ook op de komma`s dubbele punten e.d. Als er even iets fout staat doet ìe het al niet meer.
midi:irig_pro_duo_midi_0:1/note_on" <<< dat is mijn eigen midi inteface maar heb je een ander ? dan vul je die op die plaats in.
Die irig . . . enz. verschijnt in groene letters. Heel veel met knip-plak cntr X of cntr C of plak cntr C
Direct na het hekje # kun je aanwijzingstekst invullen dat blijft buiten het programma.
 
# werkt dit?
# en zo ga je verder, steeds op iets dat werkt.


44.times do
use_bpm 700

midi_note_on :c3, channel: 1 ; sleep 1 ; midi_note_off :c3, channel: 1
midi_note_on :d3, channel: 1 ; sleep 1 ; midi_note_off :d3, channel: 1
midi_note_on :e3, channel: 1 ; sleep 1 ; midi_note_off :e3, channel: 1

midi_note_on :f3, channel: 1 ; sleep 1 ; midi_note_off :f3, channel: 1
midi_note_on :g3, channel: 1 ; sleep 1 ; midi_note_off :g3, channel: 1
midi_note_on :a3, channel: 1 ; sleep 1.5 ; midi_note_off :a3, channel: 1


end
 
# Of deze die ik zelf maakte een drum geluid.

777.times do
use_bpm 100
2.times do
midi_note_on rrand(46, 48, channel: 10 ; sleep 0.2
end


use_bpm 100
2.times do
midi_note_on rrand(49, 49), channel: 10 ; sleep 0.2
end



use_bpm 100
2.times do
midi_note_on rrand(57, 57), channel: 10 ; sleep 0.2
end


use_bpm 100
2.times do
midi_note_on rrand(57, 60), channel: 10 ; sleep 0.2
end

end
 
# werkt dit?
# en zo ga je verder, steeds op iets dat werkt.


44.times do
use_bpm 700

midi_note_on :c3, channel: 1 ; sleep 1 ; midi_note_off :c3, channel: 1
midi_note_on :d3, channel: 1 ; sleep 1 ; midi_note_off :d3, channel: 1
midi_note_on :e3, channel: 1 ; sleep 1 ; midi_note_off :e3, channel: 1

midi_note_on :f3, channel: 1 ; sleep 1 ; midi_note_off :f3, channel: 1
midi_note_on :g3, channel: 1 ; sleep 1 ; midi_note_off :g3, channel: 1
midi_note_on :a3, channel: 1 ; sleep 1.5 ; midi_note_off :a3, channel: 1


end

Daar komen MIDI-noten uit, maar dat geeft op zich geen geluid. Stuur je dat dan weer naar een synth?
 
Daar komen MIDI-noten uit, maar dat geeft op zich geen geluid. Stuur je dat dan weer naar een synth?

Inderdaad.

Bij mij op de computer laat hij ook simpele tonen horen.
Maar de aardigheid begint pas als je een externe sampler aanstuurt. Op die plaats zet je dan wat je wil horen. En door een keyboard toets aan te raken maakt die dan een complexe sample riedel. En juist een volgorde die je je wil horen.
Het lijkt me een mooie mogelijkheid die ik nog niet uitgeprobeerd heb.
 
Bedoel je met "de C-toets indrukken' het aanslaan van de C-toets op een MIDI-keyboard?? Ik zat steeds de C-toets op mijn computer toetsenbord in te drukken...
 
Bedoel je met "de C-toets indrukken' het aanslaan van de C-toets op een MIDI-keyboard?? Ik zat steeds de C-toets op mijn computer toetsenbord in te drukken...
Ja natuurlijk en dan moet je nog even kijken C1 of C2 of C3 of C4 of C5 enz.
In het programma staan steeds de witte toetsen C,D,E,F,G,A,B
Steeds alles op midi en keyboard aangesloten houden.
 
Voor een sampler gebruik ik 12 toetsen achter elkaar. Ik gebruik alleen midi bij de sonic pi. Ik houd van knopjes draaien aan hardware.
Voorbeeld :
  • 60 = C
  • 61 = C♯ (Cis) / D♭ (Des)
  • 62 = D

Gebruik je Sonic Pi via je keyboard als soft synth?
 
Als ik wil beluister ik wel eens de voorbeelden die zo te knip/plakken zijn uit de S-Pi `gebruiksaanwijzing` die hoor ik dan direkt op mijn computer waar verder niks bij nodig is met het gebruik van de Sonic-Pi. Soms verander ik enkele parameters om eens iets anders te horen.
Maar ! :
Ik heb een masterkeybord waar alleen midi uit komt (via die ouderwetse `philips-aansluiting` euro of zo.) via input>computer
Dat gaat via een (input-)output computer-interface naar een sintersyzer.
Als ik dan een toets indruk van m`n keyboard-toetsenbord-masterkeybord.
Dan kan ik een hele `ridel` horen, desnoods een heel liedje wat ik heb ingeprogrameerd.
In de vooraf gaande programmeer voorbeelden eerder in deze draad laat die maar een paar tonen horen.
Eigenlijk niet zo bijzonder want met een aperigator op de sinth is het zelfde te bereiken.
Als er minstens een stuk of acht of zestien tonen of meer naar de sintersyzer worden gestuurd gaat het pas leuk worden.
Want die mogelijkheid heb ik nog amper uitgeprobeerd.
. . . . Door één toets in te drukken van het muziek toetsenbord een gecomposeerd liedje ten gehore te brengen.
En dat heeft met een synt meerdere mogelijkheden. Meer nog dan bij een sampler die alleen maar wat effecten uiteindelijk naderhand er aan kan toevoegen.
Het draaien aan de low-pass frequentie intensiteit knoppen en de octaaf, volume knoppen geeft al meer het gevoel persoonlijke besturing.

De computer staat dus tussen het muziek toetsenbord en de sintersyzer.



Gebruik je Sonic Pi via jekeyboard als soft synth?
Sonic Pi / computer zit, tussen het toetsenbord / keyboard en sintersyzer.
 
Laatst gewijzigd:
Goed - ik ga proberen je idee hier op mijn computer te reproduceren zodat ik beter begrijp wat je doet. Om te beginnen kan ik met onderstaande code via mijn Alesis Q25 midi-keyboard en Sonic Pi noten op mijn computer spelen.

Code:
live_loop :midi_piano do
  use_real_time
  note, velocity = sync "/midi:q25_midi_1:1:1/note_on"
  synth :piano, note: note, amp: velocity / 127.0
end
 
Weer een stapje verder. Met onderstaande code kan ik op mijn midi-keyboard bij het aanslaan van een willekeurige toets via Sonic Pi een soft synth op mijn computer de noot e3 laten spelen:

Code:
live_loop :midi_piano do
  use_real_time
  note, velocity = sync "/midi:q25_midi_1:1:1/note_on"
  synth :piano, note: note, amp: velocity / 127.0
  midi_note_on :e3, 50
  sleep 1
  midi_note_off :e3
end
 
Back
Top