TuningForkSamples
Sonic Pi's sample bank for TuningFork: 206 recordings, public domain,
fetched from Sonic Pi's repository the first time each is played and kept under
$XDG_CACHE_HOME/tuning_fork/samples.
{:tuning_fork, "~> 0.1"},
{:tuning_fork_samples, "~> 0.1"}
With this package started, every name in the bank plays wherever a drum name does:
s("bd_haus*4 elec_blip") # a Strudel pattern
part(bpm: 120, synth: Kit.voice("perc_bell", 1)) # a loop
sample :perc_bell, rate: 0.5 # the Sonic Pi vocabulary
TuningFork.Samples.load!(:ambi_choir) # the recording itself
Names
The names are Sonic Pi's. TuningFork.Samples.names/0 lists all 206;
TuningFork.Samples.families/0 groups them by prefix:
| Family | Some of them |
|---|---|
bd | bd_hausbd_808bd_fatbd_tekbd_zumbd_boom |
sn | sn_dubsn_dolfsn_zomesn_generic |
hat | hat_snaphat_zaphat_taphat_bduhat_metal |
drum | drum_heavy_kickdrum_snare_harddrum_cymbal_closeddrum_cowbelldrum_roll |
elec | elec_blipelec_beepelec_pingelec_twangelec_bellelec_snare |
perc | perc_bellperc_snapperc_swashperc_tillperc_door |
ambi | ambi_choirambi_droneambi_pianoambi_lunar_landambi_glass_hum |
bass | bass_hit_cbass_hard_cbass_thick_cbass_trance_cbass_dnb_f |
loop | loop_amenloop_amen_fullloop_breakbeatloop_industrialloop_garzul |
tabla | tabla_ghe1tabla_natabla_tas1tabla_te1tabla_tun1 |
glitch | glitch_bass_gglitch_perc_1glitch_robot_1 |
vinyl | vinyl_backspinvinyl_hissvinyl_rewindvinyl_scratch |
guit | guit_e_fifthsguit_e_slideguit_em9guit_harmonics |
misc | misc_burpmisc_crowmisc_cineboom |
mehackit | mehackit_phone_1mehackit_robot_1 |
arovane | arovane_beat_a … arovane_beat_e |
tbd | tbd_pad_1tbd_perc_hattbd_highkey_c4tbd_fxbed_loop |
ride | ride_triride_via |
A pitched recording is played at its own speed unless the voice is told what note it is
(Sample.load! takes a :root). A number after the name — bd_haus:2 — picks a file where
a name holds several, and is the same recording where it holds one.
Loading
A recording is fetched on its first use and decoded from FLAC — TuningFork.Flac is pure
Elixir — then kept in TuningFork.Sample.Bank. On a live stage a recording still on its way
is silent for that hit and plays from the next; TuningFork.Samples.prefetch/0 fetches all
206 (34 MB) in the background beforehand, and a pattern or loop prefetches the names it is
about to play. TuningFork.Samples.source/1 points the package at another directory of
<name>.flac files, local or on the web, for a machine without access to GitHub.
Licence
Every recording is under Creative Commons Zero. priv/SOURCES.md is Sonic Pi's own list of
where each came from on freesound.org, and of the sets donated by Uwe Zahn (Arovane) and
The Black Dog.