I installed the Hifiberry DAC+ on my Pi following this guide:
The audio works however depending on the script the sound can be very laggy and return Timing exceptions. The example “Sonic Dreams” seems to work fine (although I think I can hear light audio glitches) but my own script with 4 simple live_loops results in horrible audio.
I doubt it’s due to the complexity of my code. The Pi’s CPU is at 50% while running it.
use_bpm 120 set :amp_bd, 1 set :amp_bass, 1 set :amp_pentatonik, 1 set :amp_snare, 1 set :amp_guitar, 1 live_loop :metronome do sleep 1 end live_loop :bd, sync: :metronome do #stop sample :bd_haus, amp: get[:amp_bd], lpf: 80 if (spread 8, 16).tick sleep 1 end with_fx :echo, mix: 0.1 do live_loop :snare do #stop sync :bd sample :drum_snare_hard, amp: get[:amp_snare], attack: 0.2, sustain: 1, release: 0.5 if(spread 2,4).tick sleep 1 end end with_fx :reverb, mix: 0.5 do live_loop :bass, sync: :metronome do #stop with_fx :lpf, amp: get[:amp_bass], cutoff: 80 do use_synth :piano play_pattern_timed [:A2, :A2, :C3, :C3, :E3, :E3, :F3, :F3, :A3, :A3, :F3, :F3, :E3, :E3, :C3, :C3], [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,] end end end with_fx :tremolo, mix: 0.5 do live_loop :ambient, sync: :metronome do #stop sample :guit_e_slide, amp: 1.2, sustain: 4, release: 1, lpf: 70 sleep 8 end end
Connecting a Midi-controller and playing simple notes with a synthesizer sometimes also lead to audio glitches with higher overload.
I ran the following commands to upgrade my Pi:
sudo apt-get upgrade
sudo apt-get update
sudo apt-get dist-upgrade
and added to /boot/config.txt
pi@raspberrypi:/opt/sonic-pi $ aplay -l **** Liste der Hardware-Geräte (PLAYBACK) **** Karte 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], Gerät 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0  Sub-Geräte: 0/1 Sub-Gerät #0: subdevice #0
and followed this guide to configurate Sonic Pi
However the guide tells me to use the hardware slot 1 instead of 0 because I won’t get sound but I do have sound? Anyway neither the tutorial’s proposal
sys("jackd -R -T -p 32 -d alsa -d hw:1,0 -n 3 -p 2048 -r 44100& ")
sys("jackd -R -T -p 32 -d alsa -d hw:0 -n 3 -p 2048 -r 44100& ")
This exchange between Sam, Robin and other’s didn’t help either.
Please let me know if you need additional information. Thank you!