Building a desktop piano synth with Raspberry PI and SFIZZ (Part 1)

  Рет қаралды 15,046

Floyd Steinberg

Floyd Steinberg

Күн бұрын

Пікірлер: 90
@mr_floydst
@mr_floydst 2 жыл бұрын
*There is no latency at **6:34** - I messed this up in editing, sorry* Resources for this video: SFIZZ github.com/sfztools/sfizz Audio hat raspiaudio.com/produit/audio Salamander Piano sfzinstruments.github.io/pianos/salamander Join this channel to get access to perks: kzbin.info/door/NmTQerbBm8AFzXYYvs1ywQjoin Or become a patreon www.patreon.com/floyd_steinberg Table of contents 00:00 introduction 00:45 hardware needed 01:24 hardware assembly, installation 02:04 software setup 04:29 launching sfizz & stuff 05:23 important things to consider 05:44 trying this on a Raspberry PI Zero 2 06:32 ... and on the Raspberry PI 3b 07:00 conclusion, outlook, short demo 07:57 bye-bye
@rot_studios
@rot_studios 2 күн бұрын
SFIZZ link no longer exists. Awesome info though!
@mr_floydst
@mr_floydst 2 күн бұрын
@@rot_studios Thanks for bringing that to my attention - I've updated the links.
@rhodrillewellyn5127
@rhodrillewellyn5127 2 жыл бұрын
Legend! this seems like it has lot of potential, with a good sample library , open source ...., man , keep pushing, your efforts are appreciated.
@mr_floydst
@mr_floydst 2 жыл бұрын
I hope so ;) Thanks for watching!
@dustyaudio
@dustyaudio 2 жыл бұрын
I really like these RPi instruments videos, never sure if I’ll follow thru but this one seems promising, straight forward sounds and hopefully a simple/easy interface
@mr_floydst
@mr_floydst 2 жыл бұрын
I hope I'll build something worthwhile in the end :-) But I think it'll be a nice foundation to build upon at least.
@lundsweden
@lundsweden Жыл бұрын
This is a great tutorial Floyd... I wouldn't be surprised if teachers used this video for IT classes.
@mr_floydst
@mr_floydst Жыл бұрын
Hm, not so sure about that ;-) But thanks.
@matzer8846
@matzer8846 2 жыл бұрын
Great find and test .... very useful for us RPi addicts 👍 Thanks a lot for sharing
@mr_floydst
@mr_floydst 2 жыл бұрын
Glad it was useful :)
@johngalvin6352
@johngalvin6352 2 жыл бұрын
Wow Floyd, every video you put out is so interesting, you just get better and better. Love that piece of music at the end. As always respect.
@mr_floydst
@mr_floydst 2 жыл бұрын
Thank you very much for your kind words!
@GeoffPlitt
@GeoffPlitt 5 ай бұрын
This is SO helpful! I tried several other realtime synth setups on Pi (FluidSynth etc) and the latency was bad, so I can't wait to try this! Floyd you are a godsend. I watch all your videos. Please never stop innovating and sharing your passions!
@mr_floydst
@mr_floydst 5 ай бұрын
Thanks! Latency really depends on your buffer and sampling rate settings.
@TheTekordBay
@TheTekordBay 11 ай бұрын
Amazing! Looking forward to try it on my Rasperry Pi 2
@mr_floydst
@mr_floydst 11 ай бұрын
Thanks, and good luck with that!
@GertBoers
@GertBoers 2 жыл бұрын
Great info! I've been dabbling with this myself, but your collection of programs is definitely worth a try! Btw, you have a small error on the onscreen at 4:50: You type a2jmidid -e in the console, but onscreen it says a2jmidi -e ( where the d of daemon is missing). Looking forward to your sequel.
@mr_floydst
@mr_floydst 2 жыл бұрын
Thanks for pointing it out - the "d" is necessary. ;)
@JonathanDotExe
@JonathanDotExe 2 жыл бұрын
That's a cool idea. Too bad there aren't many realisitic free sample instruments for bread and butter sounds. Was the delay between pressing the keys and the sound playing actually there or didi it happen while editing?
@mr_floydst
@mr_floydst 2 жыл бұрын
There is no latency to speak of, so that happened in editing or processing.
@JonathanDotExe
@JonathanDotExe 2 жыл бұрын
@@mr_floydst That's great :)
@stephenhookings1985
@stephenhookings1985 2 жыл бұрын
I skimmed the video so will recheck but I played with this sfz a while back - I thought it was a SoundFont player? And is so there are a ton of SFs for realistic instruments - the choirs alone are worth it - and who doesn't like a Star Trek emulator.
@arcanics1971
@arcanics1971 2 жыл бұрын
"You can't make this up." That made me giggle.
@mr_floydst
@mr_floydst 2 жыл бұрын
You sure? Or did it make you exhale ever so slightly more sharply? ;)
@mikolasstrajt3874
@mikolasstrajt3874 2 жыл бұрын
I think it can be done even Zero when using single cycle waveform for piano sample(s). With some attention it can sounds passable (as not so bad 90s rompler). I used this trick for my own VST/Raspberry Pi contraption, but mine version sounded really synthetic (but nice in bass region).
@mr_floydst
@mr_floydst 2 жыл бұрын
The smaller soundfonts work flawlessly on PI Zero, but my goal here is to create a box that provides an expressive piano sound. In this case, bigger is better - but thanks for your input, I'll try to incorporate your idea. SFZ allows for more "synth stuff" to be applied to the samples and it should be possible to get more depth out of the material in software.
@gernrene
@gernrene 2 жыл бұрын
another great Raspberry Pi video, thanks!
@mr_floydst
@mr_floydst 2 жыл бұрын
Thanks for watching! :)
@mksln
@mksln 2 жыл бұрын
Is "sounds like a late 90s workstation" a good or a bad thing? 🙂 And of course another fantastic video Floyd! Thanks for reminding me about Sfizz. In regards to sample format support, a while ago I implemented basic support for Dave Hilowitz's Decent Sampler format in WebAudio and looking on his website I see he has Linux support but only for x86, maybe we should ask him if he could do a arm64 version to use on RPi's as I think there are some fantastic sample libs in that format...
@mr_floydst
@mr_floydst 2 жыл бұрын
That really depends on what you're trying to achieve ;) Workstation pianos sound nice in EDM style music. But for that moody Chopin soirée, well, not so much. ;-) I'll take a look at the sampler you mentioned!
@carl.wunsche
@carl.wunsche 7 ай бұрын
Hey Floyd, excellent video as always. I have 2 questions: does the hiss goes away if you use a usb audio interface? and did you use jack midi for a specific reason? e.g does that has less latency than using Alsa midi? Cheers!
@mr_floydst
@mr_floydst 7 ай бұрын
Thanks for watching! Yes, audio quality improves if you're using external interfaces. I used Jack + Alsa because it was the standard installation at that time, there's no specific reason to do that or not do that ;-)
@Darmstadtiensis
@Darmstadtiensis Жыл бұрын
Hallo! Danke für deine tollen Anregungen! Noch immer suche ich etwas wie die kleine piano Box als Ergänzung zu meinem kleinen Synth, habe aber nicht genug Ahnung vom Informatik-Kram und höre da leider auch dieselben Knacker, die es auch bei meiner DAW immer wieder gibt. Was rätst du mir?
@mr_floydst
@mr_floydst Жыл бұрын
Huhu! Dann würde ich dies hier empfehlen. Einfach zusammenstecken, und fertig. kzbin.info/www/bejne/aXLOY6Jrj6l8b6s&lc
@LS_Roblox-DG
@LS_Roblox-DG 2 жыл бұрын
Every Producer, DJ, soft Maker and writer will love tNice tutorials feature. Please encourage soft-soft to make tNice tutorials happen. Fingers
@mr_floydst
@mr_floydst 2 жыл бұрын
Thanks for watching!
@johnsaunders6510
@johnsaunders6510 2 жыл бұрын
Great content Floyd. It's a pity that Raspberry pies are still hard to get hold of.
@mr_floydst
@mr_floydst 2 жыл бұрын
Thank you! There are other boards that are compatible: BananaPI, RockPi, and so on. Sadly, they've also seen a price hike.
@HOLODECK-MUSIC-PROJECT
@HOLODECK-MUSIC-PROJECT Ай бұрын
Plane einen Raspi Standalone Ssntjesizer. Danke für deine Hilfe und deinen wertvollen Dschännähl 😊
@mr_floydst
@mr_floydst Ай бұрын
Hi, vielen Dank! Hoffe, alles klappt, poste gerne mal das Ergebnis, wenn's soweit ist! :-)
@Javier-qk7ms
@Javier-qk7ms 2 жыл бұрын
What about PianoTech? It is not a sampler but dynamic model, less RAM but more CPU usage. It does sound better as far as I know.
@mr_floydst
@mr_floydst 2 жыл бұрын
Thanks for your feedback! PianoTeq is an option, but it's not open source and the demo is lacking some notes. It's quite expensive at $129, too. But I'll mention it / show it in the next part, so thanks again for mentioning it.
@postamesta
@postamesta 2 ай бұрын
Hi Floyd, great video as usual. I'm having trouble with Jackd. I started it manually (jack_control start) and now i can see the ports but in the end, after the instruction jack_connect "a2j:[mykeyboardaddress]" "sfizz:input" i receive this message: ERROR sfizz:input not a valid port Any suggestion about that?
@mr_floydst
@mr_floydst 2 ай бұрын
Hi! Can you please copy the output of "jack_lsp -c" here? I guess sfizz isnt running, or it's using a different name to identify itself...
@postamesta
@postamesta 2 ай бұрын
@@mr_floydst Yes, the output is: system:capture_1 system:capture_2 system:playback_1 system:playback_2 And, in the beginning, i have to start manually jack with jack_control start
@mr_floydst
@mr_floydst 2 ай бұрын
@@postamesta Ok, seems sfizz is not listed there, which means it's not running. Are there any error messages when starting sfizz?
@postamesta
@postamesta 2 ай бұрын
@@mr_floydst no, but i tried again and now the message is: system:capture_1 system:capture_2 system:playback_1 system:playback_2 a2j:Midi Through [14] (capture): Midi Through Port-0 a2j:Midi Through [14] (playback): Midi Through Port-0 a2j:Oxygen 49 [28] (capture): Oxygen 49 Oxygen 49Oxygen 49 a2j:Oxygen 49 [28] (playback): Oxygen 49 Oxygen 49Oxygen 49
@mr_floydst
@mr_floydst 2 ай бұрын
That's strange, sfizz should be in that list, but isn't. What's the output of ps -eaf | grep sfiz ?
@FuZZbaLLbee
@FuZZbaLLbee 2 жыл бұрын
I saw a similar device on KZbin called the beat squeezer. But that one is very expensive
@mr_floydst
@mr_floydst 2 жыл бұрын
Thanks for mentioning it! I'll take a look.
@victorramamoorhy2010
@victorramamoorhy2010 Жыл бұрын
Where are the Salamander samples kept? I have followed your video and still not able to make things work. The wget command URL reference seems to have changed. I am also unsure what triggers what. Thanks.
@mr_floydst
@mr_floydst Жыл бұрын
Hi, thanks for watching! I posted the link in the pinned comment. Salamander Piano sfzinstruments.github.io/pianos/salamander You need to press the "Code" button and then "download zip".
@victorramamoorhy2010
@victorramamoorhy2010 Жыл бұрын
@@mr_floydst Hi I got the zip file downloaded in my pc. Where should I store the contents of the zip file in Raspberry pi (64 bit version)? I have already downloaded jackd and aj2midid on RPi. Since there was an error when executing wget, I had to resort to this work around. The idea of Sfizz seems to be great but I have not understood the internal structure of Sfizz. Thanks Floyd for your kindness
@romekatomek2159
@romekatomek2159 2 жыл бұрын
on pi3 i saw extra big latency ( time between pushing the key and hearing the sound ) .. if yes - that's imho not playable. this must be honestly said before, before someone spends money because they want a piano at home.
@mr_floydst
@mr_floydst 2 жыл бұрын
No, sorry, that was bad editing. There is no latency to speak of. I think the preview of my video editor is the culprit here...
@romekatomek2159
@romekatomek2159 2 жыл бұрын
@@mr_floydst then I am impressed.
@dineshkombala
@dineshkombala 8 ай бұрын
Hey Floyd ... many thanks for your great tutorial , me tried on rasphberry 3 and 3b ,working fine, with IQaudio DAC , but rasphberry 5 getting error like "Segmentation fault" running sfizz_jack --helpfull , any body tried?
@mr_floydst
@mr_floydst 8 ай бұрын
I'm sorry, but I haven't tried yet - at the moment, RasPi5 is not widely supported. They made a lot of questionable design decisions with that new RasPi, it seems. I'll take a look into it...
@ysteineiane5595
@ysteineiane5595 16 күн бұрын
I got also stuck here with my PI 5. Executed: sfizz_jack -helpfull And got Segmentation fault. Do you know if we can have any luck on this Floyd? Anyhow enjoying your work!
@kellerfrequenz2001
@kellerfrequenz2001 Жыл бұрын
in my case it seems the jack server could not be initialized. jackd is installed but cannot be started. What should I do?
@mr_floydst
@mr_floydst Жыл бұрын
Try running qjackctl, which can be used to configure jackd. It will also tell you what's wrong in a human readable format. ;-)
@_c_y_p_3
@_c_y_p_3 9 ай бұрын
I wanna see you build an automaton band to play all the DIY instruments.
@mr_floydst
@mr_floydst 9 ай бұрын
You mean a sequencer? ;-)
@sebastienmedard5522
@sebastienmedard5522 Жыл бұрын
Hello, I am just discovering your youtube channel about Raspberry Pi and music. I was wondering... Instead of playing with Jackd... Wouldn't it be better to use PipeWire ? This tuto is one year old. It seems that last Raspian version provides PipeWire or can use it...
@mr_floydst
@mr_floydst Жыл бұрын
You can do that, but there's no real benefit there (for the moment). Pipewire is another audio server that sits on top of Alsa, and while it certainly aims to improve a lot of things, JACK is a stable and mature low-latency audio solution for Linux.
@sebastienmedard5522
@sebastienmedard5522 Жыл бұрын
​​@@mr_floydstThank you for the time you took to answer me. I tried to use Surge XT on my computer (more efficient than a Rapsberry Pi) few weeks ago and experimented many audio crackles even with a low latency sound card. I tried to manage that with sample size, latency, etc. No way. Then I installed pipewire (because my Ubuntu version is not the last one) and used it in the Surge XT settings and it solved my problems. I can't tell why. But I didn't want to use jackd that is not user friendly (and you must launch it and select the good configuration every time you use the synth....)
@DeafBassist
@DeafBassist 7 ай бұрын
Hi! I've followed this tutorial, with the difference that I am using a USB audio interface for my sound output. I do have the USB audio interface selected to output audio via raspi-config. I have otherwise followed the rest of the tutorial, but I am getting no sound output at all. I'm really hoping someone could help?
@DeafBassist
@DeafBassist 7 ай бұрын
I forgot to add that I am using a Raspberry Pi 4.
@mr_floydst
@mr_floydst 7 ай бұрын
Please check if qjackctl works correctly first - launch it and then press the "play" button. There's a setup screen there that allows you to connect all the audio software running on your system with "virtual cables". Please try that first.
@DeafBassist
@DeafBassist 7 ай бұрын
@@mr_floydst Trying to start qjackctl on Raspbian OS Lite gives "could not connect to display" errors.
@DeafBassist
@DeafBassist 7 ай бұрын
Oh, nevermind. I figured out how to get the qjackctl GUI working!
@SteveJones172pilot
@SteveJones172pilot 2 жыл бұрын
From the youtube video it seemed there was still substantial lag.. Was this a sync problem between audio and video on the youtube conversion, or was it laggy in real life?
@SteveJones172pilot
@SteveJones172pilot 2 жыл бұрын
Nevermind - I see other comments now.. I may have to give this a shot just for fun! Thanks!!
@prakashkombala
@prakashkombala 8 ай бұрын
Anyone try this project in Raspberry Pi 5? It's not working for me. Please help me.
@mr_floydst
@mr_floydst 8 ай бұрын
I didn't try yet, which problem are you running into?
@brutdescan
@brutdescan Жыл бұрын
Hey Floyd !!! I don't know if it's the right place about ma technical question but I've got a big problem with this command line: sudo sfizz_jack --jack_autoconnect --preload_size 16384 Salamander\ Grand \ Piano \ V3.sfz with this answer: Flags - Client name: sfizz - Oversampling: 1x - Preloaded size: 16384 - Num of voices: 32 - Audio Autoconnect: 1 - Verbose State: 0 Positional arguments: Salamander Grand Piano V3.sfz, Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jackdmp 1.9.17 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2016 Grame. Copyright 2016-2021 Filipe Coelho. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" Failed to connect to session bus for device reservation: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11 To bypass device reservation via session bus, set JACK_NO_AUDIO_RESERVATION=1 prior to starting jackd. Audio device hw:0 cannot be acquired... Cannot initialize driver JackServer::Open failed with -1 Failed to open server Cannot connect to server socket err = No such file or directory Cannot connect to server request channel Cannot connect to server socket err = No such file or directory Cannot connect to server request channel Cannot connect to server socket err = No such file or directory Cannot connect to server request channel Cannot connect to server socket err = No such file or directory Cannot connect to server request channel Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock Could not open JACK client Merci d'avance de ta réponse !!!!!!
@mr_floydst
@mr_floydst Жыл бұрын
Hmmm. Obviously, JACKD can't start. In order to debug this, check what happens if you start jackd manually. Or perhaps JACKD is already running. In that case, terminate it and try again... Does that help?
@MarzipanFondue52
@MarzipanFondue52 Жыл бұрын
I had this problem I removed and reinstalled jackd and then rebooted. It fixed it but I think the reboot by itself would have done it.
@praveenfernando717
@praveenfernando717 Жыл бұрын
where can I get a full documentation for this. I'm using this on my rbi 4b with your tutorial. it runs perfectly. my idea is to make a sfz sampler python program. and I haven't seen any documentation to use this sfizz with python. first thing I need to load multiple sfz files as patches and change them via GPIO or midi cc. can u plz guide me. thank you
@mr_floydst
@mr_floydst Жыл бұрын
Thanks for watching! sfizz isn't well-documented unfortunately. Please try their GitHub page, sfz.tools/sfizz/ and their discord server.
@praveenfernando717
@praveenfernando717 Жыл бұрын
thanks you @@mr_floydst
@praveenfernando717
@praveenfernando717 Жыл бұрын
where did you find sfizz:input command . I need to access running sfizz_jack terminal in another terminal. so then I can run load_instrument instrument.sfz command and load another. I need to know more about sfizz:input @@mr_floydst
@elnatan90
@elnatan90 2 жыл бұрын
Demo ??
@mr_floydst
@mr_floydst 2 жыл бұрын
Pardon?
@Bene-cf3nd
@Bene-cf3nd 2 жыл бұрын
Hallo
@mr_floydst
@mr_floydst 2 жыл бұрын
Hi! :-)
MICRODEXED - DIY 80s home studio in a nutshell
20:07
Floyd Steinberg
Рет қаралды 21 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 10 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 639 М.
Lazy days…
00:24
Anwar Jibawi
Рет қаралды 9 МЛН
路飞做的坏事被拆穿了 #路飞#海贼王
00:41
路飞与唐舞桐
Рет қаралды 25 МЛН
I Spy, with my Little Pi...
23:46
Jeff Geerling
Рет қаралды 336 М.
Headless Raspberry Pi Synthesizer Update
13:36
The White Tornado
Рет қаралды 51 М.
Emulating the DX7 the HARD way. Part 1.
18:41
plgDavid
Рет қаралды 19 М.
Piano + MIDI: The Ultimate Super Power
16:18
Doctor Mix
Рет қаралды 67 М.
Autosampler on Raspberry PI / Samplerbox update
10:17
Floyd Steinberg
Рет қаралды 14 М.
Making A $2000 Synth For $99
8:31
Edward Wang
Рет қаралды 277 М.
The Keyboard IS the Computer! (Pi 500)
10:20
Jeff Geerling
Рет қаралды 220 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 10 МЛН