As I’m digging deeper into Sonic Pi, I’m realizing it’s quite massive at this point. All the different built-in samples, synth options, effects and those options.
Do you know if anyone has arranged a “tour” of all what’s available?
Thinking maybe something that interleaves a variety of sounds with puts to tell you what part of Sonic Pi you’re hearing.
Not a tutorial exactly, as there are lots of fantastic ones that I’ve seen around. Something quicker to get an idea of what’s available.
Although a video series tour is something I want to eventually work on. The Patreon-only live sessions are part of the work-up to this as I figure out how to effectively deliver Sonic Pi info in video form
puts "Welcome to the SonicPi sound tour"
sleep 0.5
puts "First up, the samples..."
sleep 0.5
sample_groups.each do |group|
puts "Playing #{group}"
sample_names(group).sort.each do |s|
puts s
load_sample s
sample s
sleep sample_duration(s) + 0.1
end
end
sleep 0.5
puts "And now the synths..."
sleep 0.5
synth_names.each do |s|
next if [:sound_in, :sound_in_stereo].include?(s)
puts s
use_synth s
play :c4
sleep 1
end
sleep 0.5
puts "And finally some effects..."
sleep 0.5
fx_names.each do |f|
next if [:record].include?(f)
puts f
with_fx f do
use_synth :saw
play :c4
sleep 1
end
end
Would be nice to extend this to cover a sampling of interesting synth & fx options, but I think it gives a quick idea of what’s in the box without having to read/copy/paste through the whole list.
@matschaffer if such a thing were to be implemented it could alternatively make use of a bunch of functions currently available in the sonic pi language, rather than the underlying plumbing:
For samples, see sample_groups and sample_names, (or, if you’re not interested in printing by category, all_sample_names).
For synths and FX there’s synth_names and fx_names.