Это видео недоступно.
Сожалеем об этом.
Headless Raspberry Pi Synthesizer Update
HTML-код
- Опубликовано: 17 авг 2024
- Put together an electronic synthesizer with lots of instruments that uses just a Raspberry Pi and your favorite MIDI controller! You can switch patches and banks using your controller's pads/buttons/knobs. This updated version has an install script that simplifies the setup - just log in to your Pi and enter:
curl -sL geekfunklabs.com/squishbox | bash
0:00 Intro
1:18 Demonstration
4:10 Install/Setup
8:11 Browser-based file manager
9:24 Origins/The SquishBox
11:05 Outro
If you need help getting things working, post a question in the Discussions at github.com/Gee...
More info, products, and music hacking stuff at Geek Funk Labs: geekfunklabs.com/
SquishBox (a.k.a. the pro version of this synth) in our Tindie Store: www.tindie.com...
SquishBox kits: www.tindie.com...
Build a SquishBox from scratch: hackaday.io/pr...
For me, a Raspberry as a MIDI controlled synthesizer is so obvious that I wonder why there is not more fuzz about it. As far as I know, Korg Kronos and Yamaha Motif are actually Linux computers inside a piano keyboard.
This is my feeling as well - if my keyboard basically has a computer inside it I want to be able to rewrite the code if I want to. That was part of my motivation for this.
I watched your first Pi synth video, and this is an amazing improvement. Your info has always been good, but the step up in production quality makes the content top notch. Good job.
Much appreciated!
Agreed. I am trying this soon.
I'm glad you did this! I created my own rpi fluidsynth box awhile back and I love it, but it's much cludgy-er than yours. I'm glad you made it more accessible to people who just want to play music. Keep on keepin' on.
Nice! Fluidsynth is great - have you posted the code anywhere? It's always good to see how other people do things.
man, your mind will be blown when you find mt32-pi. BAREMETAL
I love how he explains what every setting does in a simple way
Thanks! I worry the explanations make my videos too long and boring so it's good to get feedback
I am so happy I found this video! I tried putting together a Fluidsynth setup about 2 years ago so I could use my Casio MG-510 (an electric guitar with a built-in MIDI pickup) without a computer, but could never quite get it working the way I wanted. I'm excited to follow along with your instructions and hopefully get this all working! Thanks for making such an enjoyable and easy to follow video.
Good to hear man! Feel free to ask if you need guidance. Casio MG-510 ❤❤😉
@@white2rnado Thanks! I got it all installed and I'm trying it out with a 25 key USB MIDI keyboard, since the guitar needs a little work. It works but the audio is really distorted and jumbled, especially if I play more than one note at a time. The volume is also sort of low. I'm using a Pi Zero W and a USB sound card. Do you know what the issue could be?
The Pi Zero is a bit on the low end of processing power for this - you should be able to clean up the audio by increasing the value of --period in your /home/pi/.jackdrc file to 128 or 256. For more info check out github.com/albedozero/fluidpatcher/blob/master/troubleshooting.md#the-audio-cracklesstutters-or-theres-too-much-latency
@@white2rnado Gotcha. I tried both 128 and 256 and it's still pretty messed up. Looks like I'll be picking up a more powerful Pi!
I have been running squishbox on a pi 4 for a few months now and it's great! Really good work here, thanks for making it please continue its development.
Great to hear and thanks! I'm actively using it myself so development will continue!
You are a godsend, this is amazing! Thanks for all you do!
Good to know someone can make use of it!
This is awesome, thanks for your work!
Thanks - happy to share!
Thanks! this is exactly what i was looking for. Will get to putting this together tonight!
This is AWESOME!
There's a hot chance I'm going to make this exact build now that I've found this, and if so, there is a hotter chance I'll be back with follow up questions.
Sounds good. Feel free to use this or github.com/albedozero/fluidpatcher/discussions too - it's a bit easier to write long questions there.
Exactly! I was looking up prices for Nord Stage and Holy Manure, they are expensive. Then I decide to buy the Arturia Keylab Essential for 300 USD, then the Analog V pack with 6000 sounds for 50 USD. I now have a synth for 350. Suck it Nord!
Sounds like a nice alternative to the Minidexed which I am already loving :)
Minidexed is indeed very cool. The tradeoff is that this software runs on Raspberry Pi OS, so you don't have to wipe your SD card - but I think MiniDexed can get much lower latency audio since it's bare metal \m/
At this point, old tablets or old phones are cheap enough to just go that route. They have touch screens, powerful processors, and intuitive ui. I am just starting back into music and will be focused on cheap tablets running dedicated apps and midi controller as if they are hardware synth. Controllers labeled to the vst/app. Pretty much an endless possibilities at roughly 200 to 300 per 'synth' setup.
Everyone's synth setup is a unique animal. Go with what you like!
@@white2rnado Agreed.
Cheers for the update, I was testing fluidsynth on my Pi Zero not having touched Linux for 15 years :) will see how I go with your scripts, although I'm not familiar with the MIDI functions of my M-Audio Keyrig 49 (Edit button + a key for most 'advanced' functions).
Looks like you could assign the modulation wheel to send a different CC#, which you could assign to SELECT_PATCH: data2.manualslib.com/pdf/10/971/97024-maudio/keyrig_keyrig_49.pdf?7092eeaa5930e8504894cc4da1f83aa2#page=14
Some of those M-Audio controllers let you assign the octave buttons to send CC's, but not that one - just program/bank change messages. Unfortunately, there isn't a great way to capture those without python getting in the way and slowing the synth way down.
Good luck with the Pi Zero - I've done it with a USB sound card and it has a bit more delay but is still playable. Might work better if I wired on a headphone jack - possible future video.
how did it work out on the Zero?
Had issues with the USB splitter I bought not being able to power both the controller and USB audio interface, I have a hub now which seems to solve that problem but need to reinstall all the fluidsynth stuff as I made a huge mess of it. Considering just buying the NEW zero for a bit more grunt regardless!
hi , i tried installing this fluid naked synth in raspberry pi 2 B and it installed successfully but after reboot it does not starts automatically.. what to do..
I still write MIDI files using GM MIDI 128 instruments, then bring them into VSTis later. This is why I still use external synthesizers. x_x
respect
not to bad for !!! PWM !!! audio output.
Impulse-ordered Pi3b+ and the external DAC module. Can I run the headless version with the external DAC for the lower latency?
Would be lovely to use some MIDI controller, make a clean cutout and put the RaspBerry Pi alongside with a little 3.5" or whatever fits touchscreen inside as I can imagine that simple MIDI controller keyboards like this don't have too many electronics going on inside.
Cool idea! Now I'm thinking about doing some teardowns of my various MIDI controllers... If you found one with enough space, you could do this pretty easily with one of my SquishBox kits and a Raspberry Pi A+ 🤔
@@white2rnado This is definitely something I am aiming for but at the moment I am in the process of moving to a different more sunny country. However rather sooner than later I shall pick you up on this. Little side question. As we are talking python here, is there any reason why this code shouldn't be able to run on a X86 machine? The Pi A+ makes a lot more sense in terms of cooling that's a given.
My original idea was to fit my pi zero + hub/usb audio INSIDE my old M-Audio KeyRig. Might not be enough room though. considered using some of the existing ports/switches on it too. I'm probably not "advanced" enough to do so.
I watched your video and everything is up and running! I have one suggestion, though. Can you please make a tutorial on how to add and remove banks, soundfonts, and patches? Thank you!
This playlist of lessons should give you what you need: ruclips.net/p/PL4a8Oe3qfS_-CefZFNYssT1kHdzEOdAlD
Skip to 1:00 in the first lesson to see how to use the web editor to copy files over and edit banks 😉
dude thank u so much. this was fun and worked perfectly!
also i kind of accidentally made a double synth. I got the pi to make a midi host for the korg nts-1 so i could play that with an akai lpk25 keyboard which i did but it actually runs along side the patch you created. so I have the jack out of the pi with your nice clean piano to one amp and the nts-1 audio out (powered by the pi) a dirt synth to a second amp with an akai lpk keyboard triggering them both at once! it sounds amazing and i can even run the jack out into the mini korg audio in and use the delay and reverb! and it is tiny and running from one 5v phone battery bank. was all so cheap. thanks again man.
@@Neuri Thanks! Glad to hear it worked out easily!
Hey! Can anyone please give any idea about how well it works in a Pi Zero W?
Thanks for sharing this! Regarding corrupting the SD card on power down, there's a script floating around to configure read-only mode, enabled via a jumper on the GPIO.
Found it! That's interesting - I'll experiment and see how well the synth works running under busybox. Thanks for sharing!
Super Awesome!! Thank you!! I'm actually working on building a MIDI bass foot pedal, like you'd find on an old organ, I was looking for creative ways to do this, and this might just workout. (Assuming it all works the way I hope it will), once I get it rigged up, I'll take some video. Again, very very awesome. Cheers!!
>M
Sounds cool - look forward to seeing it!
Awesome! Thanks for your job! It really works fine with my PI4. However, I spent a lot of time trying to set up switching instrument and bank buttons on my Impact LX49+. The reason of issue is when you monitor events via "aseqdump" command via PI terminal on Linux, it shows "0" channel, or "15", e.g. (depends on pressed controls), and these values don't work. When I set up FluidPatcher and used its monitor, it shows "1" and "16" channels, and I found out that these values are correct and fixed the script on PI!
Thank you very much! It works out of the box! Abrazos
how many notes poly does the device support please ?
Default is 256-voice polyphony, and can be set up to 65535. Some sounds use multiple voices per note, but even at 256 I've never had any dropped notes.
I have been troubleshooting for 2 days and there´s no way of making work with any of mi Pies.
With windows 11 it works fantastic, but with Raspberry it just disables the audio jack and enables hdmi audio by default. Audio jack does not even appears listed.
If you post an issue at github.com/GeekFunkLabs/squishbox/issues with more details of your errors/problem I can help you troubleshoot
If this could double as a USB MIDI host with DIN MIDI out it would be the swiss army knife of MIDI boxes tbh
I've got a discussion about that here: github.com/albedozero/fluidpatcher/discussions/32
TLDR we're working on it 😉, but we need to code a better driver to create a MIDI port that sends/receives data from the serial port on the Pi
@@white2rnado could it get away with using a USB-MIDI adapter cable? That's what most Pi MIDI hosts I've seen do and that's a compromise I'd be fine with
@@synthgal1090 Sure, that would work!
Hi, this looks really great - it's exactly what I was looking for - but I can't install python3-rtmidi.
Your script failed then I tried running
sudo apt install python3-rtmidi,
but the package still can't be found.
Any ideas?
Thanks!
Are you getting those "Unable to fetch" messages when you run apt? This happens to me too - from what I understand, this happens because raspbian.raspberrypi.org is sometimes too slow to respond and direct you to a local mirror to download from. I usually retry a couple times until it works, but I think you can edit /etc/apt/sources/list and replace raspbian.raspberrypi.org/raspbian/ with a mirror that's near you from this list: www.raspbian.org/RaspbianMirrors/. Maybe I should add this as an option in the script..
@@white2rnado Hi, thanks for your prompt reply. I haven't seen any errors in the console, just that the package can't be found. I even ran apt full-update, etc, just to be sure I'm on latest version.
Embarrassed to say that I hadn't updated my Pi OS since the early middle-ages. I'm now reinstalling over a slow connection :-) Cross fingers.
Just FYI The script creates a file install-log.txt wherever you run it and dumps all the technical output from the commands in there - you could check that to see if there's any useful info in there.
@@white2rnado It works! I had Jessie installed on my old Raspberry PI 3 and had to upgrade to Buster before I could get your script to work. It would have been good if your script checked that the right OS was installed, but never mind, I'm really impressed and I now have a working MIDI keyboard. Thanks!
What minimum Pi can you use? I have some older pi2's around.
I haven't tried this with a Pi 2, but I remember the latency was kind of noticeable. I would say use at least a Pi 3B+
Are you going to have new SquishBox kids available anytime soon?
Just saw this today, and thinking it may be just what I need. I've a Pi4A+ board that now I get to print a case for to get itto d o something useful for me (I hope.) May have space for a hat to add buttons and an I2C screen on as well. Still would be fairly low profile I think. Thank you.
And two made. 1 Pi3A+, and 1 Pi4 2G. I doubt that I'll be performing any time soon, but it gives me some way to listen while dabbling. Thanks for the great work. Going to need a headphone amp from the sounds of things. Have a fun, and keep up the good work.
Glad it's useful! You could also use the PCB from my other video: ruclips.net/video/64-OijJMXRo/видео.html - that has an onboard DAC with line-level output.
@@white2rnado I may go with that on another build. I don't know if I ran into a flaky pi3a+, or some other issue. Amber showed the volume at max, but audioout of fluidity was low. Amp works with it. I didn't bring either on this trip though. Next time. :-) I will have to work out the codes for controls for three different keyboards. All in good time. I will consider the board though. And I do have a separate audio board hat I can try.
Thanks for the great work!
The Perc Pad has it's own sounds and can trigger midi, why you say different?
You got me. I was talking about MIDI controllers in general but that one does have its own sounds.
Amazing bro! regards from mexico, can you make a video using this synth with ableton?? you are amazing!
At the moment you can only record this synth into Ableton like any other audio source. However, I'm working on a plugin version of the software that should work in Ableton or any DAW that supports VST or AU!
Love this! The only issue I am having is delay. I am using a USB interface which has less delay than the headphone jack, but still more than I would like. Would using a sound card that connects to the GPIO pins be better? Also, I am using an install that runs the desktop environment. Would keeping the desktop from loading also improve the MIDI latency? In any case, thanks for your work!
Sorry to be long replying to this. A USB sound card should give you about the same latency as a GPIO-connected I2S card. Running a desktop environment doesn't seem to affect latency for me, either, as long as I'm not trying to run Firefox at the same time or something. The audio.period-size=64 and audio.periods settings=3 in SquishBox/squishboxconf.yaml should give a latency of about 1.1ms with a little USB dongle sound card like this one: www.amazon.com/Syba-external-Adapter-Windows-C-Media/dp/B001MSS6CS. If you run the script from a command line it will tell you if it can't provide those settings (like with the headphone jack). This also assumes you're using a Pi 3B+, older models run a bit slower.
@@white2rnado So I had the WCMCU-5102 on order so I tried it with this setup. Latency is now much better than with the Behringer UM2 USB interface. Not even noticeable using a Pearl Malletstation as the controller. I have no latency measurement or knowledge of the chip set of the Behringer but this changed the setup from a toy to a useable instrument. Thanks so much for this project!
very informative I love synthesiser but what is the exact model/type of the raspberry pi board I'm new to raspberry
This was a Raspberry Pi 3B+ but it will work with almost any Raspberry Pi model
Hi, Great video.
Is it possible to make this project with Raspberry pi zero?
Yes - the older Pi Zero has kind of noticeable latency, but a Pi Zero 2 W should do just fine. For audio you'll need a USB audio dongle and a hub so you can also plug in your controller - or you if you're into it you could add a headphone jack by following this: othermod.com/raspberry-pi-zero-audio-circuit/
squishbox from shop will work on midi keyboard too? im planning to buy the kit just for the latency thing, and i wonder if i can plug it to my computer interface or amp
Hi can you also give us some tutorial for sound effects boards using a regular keyboard or kepad?
This is definitely on my list - I have lots of videos to make!
@whiteTornado
Is there key press velocity settings available for this? I just finished your tutorial and noticed that I have lost me key velocity.
I'm redoing the lesson videos right now to bring them up to speed with the changes to banks in version 0.5. There's some description of them here: github.com/albedozero/fluidpatcher/discussions/20
If you post your bank file as an issue on github or send it to me I can help debug 😀
Any idea why I can't use any other bank (yaml) file than the three included in the script? No audio plays at all, even with router_rules copied over, same permissions, existing soundfont
Thanks for the question - I responded to your posts on github
@@white2rnado thank you and sorry for bombarding you with my issues. I can get anything out of the thing at all now, even after complete wipe and reinstall.
I have been working with this again and did a new install. With the current install script there doesn't seem to be a way to avoid starting automatically on bootup.
Help?
The command `sudo systemctl disable squishbox.service` will prevent the synth from running at startup. `sudo systemctl enable squishbox.service` will bring it back. This does seem like a useful option to have when installing - I'll work on adding it.
@@white2rnado Thank You!
I'm trying this right now and I have a gig in 2 weeks where I'm hoping to use this. I'll let you know my progress. Note, I did get a message about using Bullseye OS (I'm testing now on a virtualbox. Is this an issue?
Bullseye is the code name for the latest version of Debian Linux that is the basis for Rasbperry Pi OS - as long as you're using the latest (or even a recent) version of RPi OS you should be fine
What about latency? And creating soundwaves within The raspberry pi?
Latency with the headphone jack is about 10ms. Using a USB or GPIO sound card it can be as low as 1.5ms. For your second question - can you be more specific what you mean by "creating soundwaves"?
@@white2rnado I want a virtual analog synthesizer instead of soundfonts
@@gustavosalmeron2013 try out Zynthian: wiki.zynthian.org/index.php/Beginners_Headless_Zynthian_Tutorial
However, FluidSynth is also practically a virtual modeling synth all by itself - as required by the soundfont spec it has amp and mod envelopes, an LFO, and low-pass filter. You can easily use it as a modeling synth using the included ModSynth_R3.sf2 font, which I demo here: ruclips.net/user/shortsQUQe0vcsR1w
@@white2rnado "GPIO sound card it can be as low as 1.5ms." // What kind of logic or connections makes built-in RPi sound card to produce 10 ms latency as opposed to GPIO sound card?
Would you ever comsider a version that uses puredata?
Seems like someone did it: ruclips.net/video/Sec7Sf4q34s/видео.html. It would be nice to set up something that just requires your Pi and a MIDI controller. I've only messed with PD a bit, but this is on my list to try.
Hello I have a problem
at "which audio output would you like to use ?" I just have no change or default for choice ...
That's unusual - you should at least see the Headphones and hdmi devices. What output do you get from entering the command `aplay -l` ?
@@white2rnado the raspberry pi doesn't respond, when I try to execute aplay -i in terminal, but if I do a ctrl + c I have this message : "aplay: read_header:2839: erreur de lecture (sorry I'm french ^^)
@@white2rnado oh sorry l not i XD if I use this letter I have this list :
carte 0 : headphones [bcm2835 Headphones], périphérique 0 : bcm2835 headphones
sous-périphérique #0 : subdivise #0
sous-périphérique #1: subdivise #1
sous-périphérique #2 : subdivise #2
sous-périphérique #3 : subdivise #3
sous-périphérique #4 : subdivise #4
sous-périphérique #5 : subdivise #5
sous-périphérique #6 : subdivise #6
sous-périphérique #7 : subdivise #7
carte 1 : vc4hdmi [vc4-hdmi], périphérique 0 : MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
sous-périphérique: 1/1
sous-périphérique #0: subdevice #0
Ahh I see it was a bug due to the multilingual output of some programs. I have updated the install script to hopefully work around this. Let me know if you have more problems.
@@white2rnado I'll try this, this afternoon and thank you.
Awesome tutorial and great vid! I was thinking of buying a soundcard (usb) for my raspberry pi 4b. Any recommendations? Thanks.
hello! how updated is this project? Will I be able to use portmento and other effects with this install? Or I should make other steps for that? Grateful if you can bring some light in this subject matter... THANKS!
Yes - FluidSynth implements portamento - and you can hear an example of it in the "Smooth Flute" patch in bank1.yaml: github.com/albedozero/fluidpatcher/blob/c1079b9e4709955113641bf0ff96bd4ab40df971/SquishBox/banks/bank1.yaml#L79
You can also use FluidSynth's built-in Reverb and Chorus, and LADSPA plugins can give you delay, AutoWah, etc.
@@white2rnado i see! thanks!
Hi great video I have AKAI MPK Mini MK3 and works but volume is very quiet but if I push the button fast is louder. What the problem?
I see a lot of posts that the default velocity curve on the Mini MK3 is kind of weak. This person has a video explaining how to adjust it: ruclips.net/video/54cpv8Md10k/видео.html
@@white2rnado thx
Thanks for the clear explanation, I got it working with the headphone jack but too much latency. I still have a Scarlet Solo USB interface laying around so i've plugged it into the Pi. It connects and works when I play sound from youtube in the desktop environment. I did a re-install of your script and i chose to use the USB interface as audio output. But unfortunately no sound. When I boot the pi i can see the midi keyboard is connected and the usb interface too. Not sure where to start troubleshooting, do you have an idea? Thanks!
This should be doable. Did you see my troubleshooting tips at the link below?
github.com/albedozero/fluidpatcher/blob/master/troubleshooting.md#i-dont-hear-any-sound
Try editing the config file and using alsa instead of jack as the audio driver - that can be easier to get working.
Hello!
I want to make a sound box for my arduino midi drums. and I want to make more channels for triggers, is it possible to connect 2 midi devices to fluidsyns at once (2 modules of arduino-midi drums)?
Yes - you can theoretically connect as many USB devices as you want to fluidsynth, as long as your USB ports have enough amps to power them all. You'll want to set each device to send on a different MIDI channel, so you can route their MIDI messages to different sounds/functions if you want to.
This looks like it could be a good solution to a problem I have. I have a few RPi computers and I'm looking to get a midi keyboard controller. Since the feel is important get a hands on feel for the contoller, I want to physically play a weighted hammer action keyboard before I buy. That works with keyboards that have sounds to begin with, but when visiting a local music store, keyboard controllers weren't hooked up to anything so I couldn't get a feel for them and this was a big chain music store. One would think that a music store would understand this problem and have a laptop available to demo midi controllers. This looks like it could be made into a good plug and play solution to try out midi controllers.
Is the synthesizer software velocity sensitive? Are sampled sounds available, specifically a piano?
This would work fine as long as the store doesn't mind you plugging it in 😉. You could use one of those phone backup batteries to power the Pi. Keep in mind there's a little bit of latency (~10ms) with this barebones setup as explained at 10:32
Yes the synth is velocity sensitive, and piano is the first patch
very nice project. But how can i connect my midi keyboard?
This should happen automatically when you connect it to one of the Pi's USB ports. You can report any specific issues here: github.com/GeekFunkLabs/fluidpatcher/issues
Awesome video! Thanks. I was wondering, do you know if it's possible to load VST's from a Pi headless from boot? There's some softsynth I own that I really like and having a way to use them live without a laptop would be awesome.
Your VSTs will need to have a Linux version (some do, but def not all). Then you need a program to host the plugins - I hear Carla is a good one. You might check out Zynthian - it's an OS for Raspberry Pi built around running softsynths, and I think it has Carla built in.
Yo Bill! That was a fantastic project man, I'm quite excited to try it out! I've a couple of questions though, will it work on a Raspberry pi zero w? I'm not fully aware of the technical differences between the RPi 3 and the Zero, but I've seen people install and run a headless setup on a Zero W with FluidSynth, albeit not as precisely and neatly as you have. And the second question is, will the installing script you coded work on the Zero as well? You see, I've been a musician for about 16 years but I've just recently got into coding and this stuff is still way out of my league as of right now hehehe
Anyways, thanks man, I wish more people did tutorials as detailed and beginner-friendly as you do. Much appreciated! Stay funky dude!!!!
Thanks for the kudos! Yes, the install script works on a Pi Zero, but because it's slower than a 3B+ (single-core 1GHz vs. quad-core 1.4MHz) you'll probably want to increase the value of --periods in your /home/pi/.jackdrc file to 128 or 256. You'll also need a powered USB hub to be able to run both a USB sound card for output and your MIDI keyboard/controller. The newer Pi Zero 2 W will probably work better, but I haven't been able to get my hands on one yet. Feel free to ask questions here or at github.com/albedozero/fluidpatcher/discussions if you need!
@@white2rnado thanks for the quick reply man! Now's the time to get the rest of the gear you suggested, I'll surely ask again if I encounter other roadblocks along the way hehehe you've been of tremendous help!
How can I map knobs on my MIDI keyboard to do change effects such as filter or reverb
Also is there a way to add a looper in to the software?
You can set the knobs on your keyboard to send control change (CC) #91 for reverb level and #93 for chorus level. You can also modify the parameters of the chorus and reverb effects units as described in this lesson video:
ruclips.net/video/53OFZnKhPa8/видео.html
Though it might be a good idea to start with Lesson 1 and work your way up to that point 🙂
ruclips.net/p/PL4a8Oe3qfS_-CefZFNYssT1kHdzEOdAlD
Right now you can play MIDI files and trigger sequences/patterns - I'll be explaining this in some future lessons and you can look at the example bank file bank0.yaml or check out the bank file format wiki to see how it's done ( github.com/albedozero/fluidpatcher/blob/master/patcher/file_formats.md ).
I have some thoughts about adding a looper feature to the code, probably by leveraging the sequencer objects, but that's a work in progress.
Hi! I have a question: the sounds that the module use are from GM2 (General MIDI Two)? I know that you didn't say that but do we agree that it is the same quality of sounds, right?
¡Thank you very much for your time!
The sounds I'm playing from roughly 2:00 to 3:00 are mostly from the FluidR3_GM.sf2 font. From 3:00 onward you can hear me play a few higher-quality sounds - you have the option to download a large set of additional sounds (~400MB) during the install process. You're not restricted to GM2 by any means - you can upload whatever soundfonts you want to use.
Hi! love this! currently setting mine up. Is there a way to adjust the velocity curves?
You can, but it's usually easier to change on your keyboard/MIDI controller itself. Check out this discussion: github.com/albedozero/fluidpatcher/discussions/52
My midi controller (Mono Price Stage Right 606607) only has knobs and sliders. Do you know if I can use these to change sounds? Must I have a button to do this? Thanks for the great video. I have it working but am unable to change from the default piano sound.
Yes! By default, a knob or slider mapped to CC #23 will scroll through the patches. The Pi's green LED will blink on switching patches to provide feedback. You can also change the value of SELECT_PATCH in the headlesspi.py script to a different continuous controller number if that's more convenient.
is it possible to add knobs and buttons to the raspberry pi and control from there some parameters?
It would require some more coding but it's certainly possible.
Please, do you have an update to this video. I've just spent all afternoon trying to follow different instructions and got absolutely nothing to work. Eeek!
Hopefully I'll have a chance to create an updated video soon, but until then you can post details of your issues at github.com/GeekFunkLabs/squishbox/discussions and I can help you troubleshoot
@@white2rnado Trying it multiple times today with a Rasberry Pi 2 and the same keyboard as in this video, it seems like the script just isn't running properly, like there is some error/incompatibility.
Thank you so much for this post! Please confirm if it will work with Raspberry Pi Zero W.
Yes it will, with the newer Zero 2 or the original Pi Zero. You'll need a USB sound card to get the best audio.
very nice video! I would like to use this for electronic drum pads, can I add custom sounds and trigger them with different pads/midi notes? (also, Im currently making an adc with an arduino, y already made the "octopad" part)
Yes, you can do this. You create a soundfont with your different drum samples, then write a bank file that routes the notes on your pads to different notes in the soundfont. You could even set up one of your pads or a slider to switch patches, so you could have multiple sets of drum sounds.
@@white2rnado Im already picking up signals from my piezos on an arduino, and already have the piezos set up in an array like with cymbal support whole, so Im halfway there, :D trying to install your amazing software in my raspbi3 now
Will this run on a pi zero w or is that not enough overhead?
It runs fine on the older Pi Zero W, except you'll need a USB sound card, plus a hub to plug in your MIDI keyboard, and the latency is a bit more noticeable. Works great on the Zero 2 W too.
@@white2rnado awesome. Have you come across any looping or sampling modules that could work with fluidsynth? The idea of a box that can turn any midi keyboard into a poor man's OP-1 is very interesting.
@@WesDoesStuff Fluidsynth doesn't take audio input, so you couldn't sample live. You can put audio samples in a soundfont and play them back as you need. Also maybe check out samplerbox
I installed the software and get "Root path "/home/og/SquishBox" not found!" when starting the web app, although the directory is there. What's going on?
Check the permissions on your SquishBox directory - they should be drwxrwxr-x
how do i configure the script for akai mpk mini also im using a raspi4
When you run the install script it should ask you for the control change (CC) values for patch and bank change buttons. Enter the CC values sent by the pads on your MPK mini, or use the Editor software to configure the pads to send CCs 21, 22, and 24.
@@white2rnado got it. thanks!
User "pi" is no longer available on Raspberry Pi OS. "Headless Pi Synth" Fails to start because of non existant "pi" user. Please advise.
Thanks for the catch! Re-running the install script now will fix the issue. You can answer "n" to everything except the "What script should be run on startup?" question if you don't want to reinstall everything.
@@white2rnado Thank you. You are awesome!
Neat!
Sorry if I missed this, but how do you deal with powering off the pi without potentially corrupting the sd card? Do you have some button to trigger the pi to shutdown?
No problem! At 3:36 if you hold down one of the patch change buttons for 7 seconds it will initiate a safe shutdown. After 5 seconds the PWR led starts blinking to warn you're about to shut down.
@@white2rnado thank you!
Hi, I would like to install this on a rpi v2 but when I type the download adress I'm getting an error " line 1 syntax error near unexpected token ' Newline' " any idea what I can do to get the script running?
That sounds unexpected - are you using the latest version of Raspberry Pi OS? It might help me if I could see the exact text of your command and the output. You can post them easier by creating an issue at github.com/albedozero/fluidpatcher/issues, or you can just email me 🙂
Hi, got it working at first I coppied what was typed in in the youtube film, later I found the commands in the text, and that worked.
I have tried to connect a usb soud card but that gave to much latency and the headphone sounds weak.
can you tell me how to ajust de fluidsynts gain? I know it is possible burI dont know how to do this
@@dennisollebek2683 If you add `synth.gain: 0.6` underneath `fluidsettings:` in the SquishBox/squishboxconf.yaml file it will increase the gain. You can set values 0.0-5.0 but above 1.0 it will sound distorted. If you re-ran the installer script to set up your USB sound card (you can just say no to the other options), it should give you the best latency settings. You can also try adjusting the values of audio.periods and audio.period-size in squishboxconf.yaml. Unfortunately, there are many different types of USB sound cards and some have worse latency than others.
@@white2rnado thanks for the answers, as soon as I can find the time I'm gone give it a try.
You,ll be hering from me, one again thanks.
Hi,
I've played abit with the settings and it works, latency could be better but by calculations it should be around 8 msec.
The sound card didn't work " out of the box" I had to change the alsa.conf file to get it working.
Squishbox be good on a rpi 3 or 4 but the version 2b must be pushed to it's limits go get an accepteble result, thanks for sharing squishbox with us.
Regards,
Dennis
Great video!
How can I make a headless drum machine sampler with a real-time 8 track sequencer for rap and oldschool funk production?
If you choose the option to download the soundfonts when running the install script you'll get the 'Hip Hop Combo.sf2' soundfont that has some decent drumkits and samples. You can create as many simultaneous sequences as you want using the built-in sequencer: ruclips.net/video/GfelD8ZofyM/видео.html. If you want something with more physical controls where you can create sequences on the fly this guys project looks pretty sweet: ruclips.net/video/h5UmPTttN1s/видео.html
Really great explanation, I have a question, I wan to build this onto my midi avcordion to have internal sounds, the Bass is on Ch1, Chords Ch2, Right hand notes Ch3, how can I configure that to change the patch independently for every channel?
Or can I use it without the patcher and use just plain fluisynth?
I would apreciate your help, you did a great job overall. I like your projects.
You would create multiple patches, each with a different combination of soundfont presets assigned to channels 1, 2, and 3. There isn't a built-in way to scroll through different sounds on each channel individually, but you could get pretty much the same effect by picking out the specific set of combinations of sounds that you actually want to use. If your controller sends program change messages, you could use router rules to do some changing of presets on individual channels. Check out the Fluidpatcher lessons for more on how to create patches: ruclips.net/p/PL4a8Oe3qfS_-CefZFNYssT1kHdzEOdAlD
@@white2rnadoThank you very much, ok I will give it a try, I already set up the program on my Pi, is there a size limit on uploading soundfonts? Because I got one thats 1gig and it uploads for about 20% and then throws an error, what can I do for this?
@@unboxingglory8451 unfortunately that's because a Raspberry Pi 3B+ has 1G of RAM total, with only about 700MB being available for loading soundfonts. You could get a RPi 4 with 2, 4, or 8G of RAM, but your font will still take a while to load. IMO a lot of soundfonts are terribly bloated in size, packed with absurdly high quality samples that don't actually sound better, and are often unusable in many situations because they've been recorded with room effects to make them sound pretty - that's my hot take. The largest single instrument soundfont I use is the 75MB jRhodes font, and it sounds perfect. Check out www.polyphone-soundfonts.com - there are a lot of good ones on there.
@@white2rnado ok, thanks, I tried other way to copy it to the pi but it doesn't want to load it, now I know
Thank you very much for this, a way better and more stable than any other pi headless synth that I come across. I get all working but I have one small problem that I cannot figure out. I have transferred the sf2 file into the sf2 folder via squishbox file manager. However, I cannot select that soundfont when headless scrolling through all soundfonts. How can I make it work, do we need to edit bank1.yaml ? Also, I am curious how can I change the default order of soundfonts, to make one that I upload play first when turning it on?
You do need to edit one of the bank files so it uses preset(s) from your new soundfont, or create a new bank file. The pi will always load the last bank file you were using when you turn it on and select the first patch in that bank file. Check out my lesson series on creating banks and patches for more info: ruclips.net/p/PL4a8Oe3qfS_-CefZFNYssT1kHdzEOdAlD
Your question does make me think I ought to add an option for button(s) that will just scroll through every possible preset in every soundfont you've loaded onto the Pi - although that could take a lot of scrolling!
Ah yes thank you. Very well explained!
Anyway, yes I also think it would be great update if you add scroll through root bank folder. As for example my midi keyboard is poor on program keys so I can only assign previous and next preset to two buttons but lack third for bank.
As always thank you very much for your hard work!
I flashed my raspberry according to the instructions, connected my midi drum module, the raspberry flashes a red diode 3 times in a period. I don't have buttons with notes 24,23,22,21
Same here :/ Hope we would have a workaround for this ?
I've tried 2 fresh install with RPI Imager, 32bit Lite, RaspberryPi 2B, with and without the extended 400MB soundfonts, giving the same results.
I've also tried to put the sd card in a RasPi 3B, ended with same Power Led Blinking 3 times.
It is said on github that this is due to a bank issue... well, having not touched any file, i do not know how to fix it.
My bad! I was updating the main bank file and made a typo. Should be fixed now! If you run the install/update script again and say yes to the question about "Overwrite existing banks/settings" it should work.
@@white2rnado Thanks for the fast fixing ! It is now working as expected !
And a big Thank you for sharing this easy to make solution !
@виталий соколовский you can change the values of CTRLS_MIDI_CHANNEL, DEC_PATCH, INC_PATCH, and BANK_INC at the top of the headlesspi.py file to match control change values that are sent by your drum controller.
@@white2rnado I reinstalled everything, but I still did not hear the sound. If I go to the command line of my raspberry - I see two midi clients 20 - my drums and 128 - fluidsynth. if I run fluidsynth -a alsa -g 5 /usr/share/sounds/sf2/FluidR3_GM.sf2 - I still can't hear anything, but when I check midi clients - I see another fluidsynth 129 if I run aconnect 20: 0 129:0 - I hear drums. but restarting my raspberry I can't hear anything again. What am I doing wrong? How to get away from the command line every time?
You can prevent SD card corruption by telling the Pi not to write to the SD card. Obviously, it won't work if your script needs to write to the card, but if it doesn't, or you can get around it, here's the link: medium.com/@andreas.schallwig/how-to-make-your-raspberry-pi-file-system-read-only-raspbian-stretch-80c0f7be7353
Nice - could be very useful! Currently the script has to write to a file object to blink the LEDs, but maybe it's worth trading that off for longer SD card life. Thanks!
Amazing job! But I can't install in my Rpi 3B :( After a long time installing appears: Apt failed to install tap-plugins! Logged to install-log.txt
Any ideas to solve it?
Sometimes the Raspbian software repository is too slow to respond and gives up midway through the install. Usually it works if you try the install a couple more times, but if you're feeling technical you can edit /etc/apt/sources/list and replace raspbian.raspberrypi.org/raspbian/ with a mirror that's near you from this list: www.raspbian.org/RaspbianMirrors/. I'm going to add an option for this in the install script in the near future.
Hi, great work bro,
i have also one question, it can work with soundfount who have aftertouch and velocity? it can read velocity and release ?
Yes! As long as your keyboard/controller can send aftertouch and note on/off velocity messages, the software will handle them properly.
Another question 😅,
can i do this with the "Raspberry pi 0"?
@@randriamamonjytsilavina9257 Sure, although there will be a bit more lag since the Pi Zero isn't as fast as a 3B+, and you'll need to use a USB sound card or solder on your own headphone jack (here's an example: ruclips.net/video/3pXB90IDNoY/видео.html)
Looks like I'm at least a month late on getting a premade squishbox. Any plans for restocking your tindie store or was it more of a one run and done type of deal? Amazing job BTW...
I'll definitely be restocking within the next couple weeks - I had a run of orders and sold out of my last few quicker than I expected. As long as people are buying, I plan to keep making them!
@@white2rnado Awsome' that's great to hear. I'll get on the waiting list. I would love to attempt to build one from scratch but at the moment it seems a bit daunting. 😅 I'm definitely going to give it a try soon though. Thanks for your code and design work, it's great to have people putting their work out there for hopeful makers to explore. 👍🏽
You did a great job! I have only a slight problem with "headless"!
Everythings works properly when keyboard an HDMI are connected!
When I try to start headless I get no sound; LED is blinking red 4 times!
I added manually : "sudo python3 /home/pi/headlesspi.py" to the rc.local but it didn`t help.
Any idea?
Four blinks means the script is running but encountering an error. Try this - with your screen and keyboard connected, enter command "sudo systemctl stop squishbox.service; python3 headlesspi.py". That will run the script interactively and should give you some more info about the error.
Nice idea trying to get the script to run by adding it to rc.local, but since it's already running as a startup service this will actually start a second instance of the synth, and you won't know which your controller is connecting to.
@@white2rnado It's strange:
Start with HDMI connected:
pi@raspberrypi:~ $ sudo systemctl stop squishbox.service
pi@raspberrypi:~ $ python3 headlesspi.py
fluidsynth: warning: Requested a period size of 64, got 444 instead
fluidsynth: Connection of Midi Through Port-0 succeeded
fluidsynth: Connection of USB Keystation 49e MIDI 1 succeeded
Connection is already subscribed
fluidsynth: warning: Sample 'SineWave': ROM sample ignored
Loading bank 'bank1.yaml' .. done!
Selected patch 1/26: Piano
Start without HDMI connected (via SSH):
pi@raspberrypi:~ $ sudo systemctl stop squishbox.service
pi@raspberrypi:~ $ python3 headlesspi.py
fluidsynth: error: Failed to open the "default" audio device
fluidsynth: Connection of Midi Through Port-0 succeeded
fluidsynth: Connection of USB Keystation 49e MIDI 1 succeeded
Connection is already subscribed
fluidsynth: warning: Sample 'SineWave': ROM sample ignored
Loading bank 'bank1.yaml' .. done!
Selected patch 1/26: Piano
@@alfredruethlein9934 had the same problem, after several hours of research and messing around i found the fix, put the sd in a standard computer to browse the files and open the config text file, the first option is #hdmi_safe=1 I deleted just the # symbol(uncomment), saved and closed. and now it just works as it should, I'm guessing without a display detected it was automatically going to safe mode.
@@nickgarber30 Thanks for this good idea. I will test ASAP
Anyone else not able to access the web site? I can ping my box but I can’t connect to the webpage.
What do you get - a 404 not found page or something else?
Can you re-run the install script and say no/no change to everything except installing the web-based file manager, and post the output here or at github.com/albedozero/fluidpatcher/discussions?
@@white2rnado I get a 404 I guess. Just a website note available. I can reinstall. I will say that the keyboard works which is great. Was playing it today. Just wanted to be able to add sounds.
Howdy. I've downloaded, and thank you for the share. When I change patch from the first which is piano, the pi crashes. I have a 3b+, any help would be awesome. I literally got my pi on Saturday, so am a total beginner when it comes to this computer language, I'm gonna start learning python ASAP. Thanks from England.
Forgot to add I'm running Ubuntu desktop😀
@@MegaAshski would you open up a terminal and enter the commands:
sudo systemctl stop squishbox.service
python3 squishbox.py
Then switch patches and paste any error output you get. That should help debug. Feel free to reply here or post an issue at github.com/albedozero/fluidpatcher/issues 😊
@@white2rnado Ok so I booted up, the piano soundfont voiced when I played the midi keyboard, I entered the command you provided in terminal. The following messages appeared and the sound stopped. "Failed to stop python3.service: Unit python3.service not loaded.
"Failed to stop squishbox.py.service: Unit squishbox.py.service not loaded. Usually when it's headless the pi just crashes as soon as I load a new track. I tried last night on my NI KKm32, and nektar lx49+. The Nektar I pressed every button to change patch with no luck. The M32, one of the encoders changes cc settings, and this is when the pi crashes. Thanks for taking the time to help me get this sorted.
Hey, great project. Do you know if it's easy to set this up with scala tuning files?
Thanks! I wouldn't say it's easy, but I think it's possible. You'd have to convert your scala file to an MTS sysex file, which you could do using this tool: www.microtonalsoftware.com/scl-scala-to-mts-converter.html. Then you can send your sysex file when a bank is loaded or a patch is selected using the `sysex` keyword, described here: github.com/albedozero/fluidpatcher/wiki/Bank-Files
@@white2rnado ah brilliant thank you! I'm going to have to give this a go :)
So, one bugfix (maybe): don't know if you recently changed the file on the "geekfunklabs.com/squishbox" but it is returning an "DOS/Windows" version of the text (with CR/LF end lines) instead of a UNIX version (with just LF). I was getting an error from "bash", but then I got the file locally and I just run "dos2unix" and it worked.
Thanks! I did do an update and those carriage returns keep sneaking in on me somehow 😡😂
Hi, this looks very handy to me. Thx! But I can‘t find a full image of this project. Can you please post a link with ready to play image for raspberry 3?
OK, it is done. Sorry for my lazyness :). I started headles.py with plugged in Keyboard, but nothing happens... Where do I get help?
I've decided it's best for me to not provide full SD card images - the install script should work on any Raspberry Pi with one of the standard Raspberry Pi OS images installed!
@@lumm71 You can post a question here, or at github.com/albedozero/fluidpatcher/discussions! (on GitHub it's easier to paste code/attach images)
@@white2rnado Thx!
@@white2rnado Everything works now fantastic for me!!! Thanks for helping me at the github-project with configurating my midikeyboard :D. Sometimes it is hard to find the problem if you have no experience and don't know where to start. No I am very happy and learned lots of things. Thanks again!!!
Awesome, it's like my old yamaha keyboard have a new life, can you please explain how the router rules work because when i'm playing midi song and the channel 9(percussion) goes to a piano sound, thanks master
I made a series of videos on setting up bank files: ruclips.net/p/PL4a8Oe3qfS_-CefZFNYssT1kHdzEOdAlD
Sounds like you might need to select the correct bank in the soundfont - percussion is usually bank 128. Note that MIDI channels in this software start with channel 1, like most keyboards, so percussion is actually MIDI channel 10 😉
@@white2rnado so many thanks dude, you rock 😃, i'll try this, i want to work on a raspberry that can run ".STY" (yamaha) file, but my knowlege on raspberry is very basic, i have almost all knowlege on MIDI ,it could be a big deal
@@onjaravanonjanahary632 Cool idea! I didn't know about Yamaha .sty files before. FYI the update I'm working on will have the ability to play MIDI files, loops, sequences, and arpeggios - so a conversion could be very useful!
@@white2rnado oh yes, can i have your facebook ID? it's more fast
@@onjaravanonjanahary632 I like to use github for discussing ideas/updates - feel free to post an idea here: github.com/albedozero/fluidpatcher/discussions
Good stuff! Has anyone tried this with a wind controller like EWI USB? I’m certain it would work, just wondering which sound fonts and settings to recognize breath control.
Headless with USB sound card on a pi zero W2 and a battery? (small enough to tuck away with the wind instrument)
People have used this with breath controllers with good results. You just want to route breath control (CC 2) to expression or volume (CC 11 or 7). You may also want to turn on the legato "pedal" by sending a value >63 on CC 68. When you play successive notes without releasing the previous note (i.e. stopping your breath), most soundfonts will play the next note with less of an attack, allowing them to blend together. This example shows how to set this up in a bank file: gist.github.com/albedozero/0c2561be1d4100a6632339cd29a85789
Should work great with a Pi Zero, USB sound card, and a small phone battery! These guys did something very similar: ruclips.net/video/Qz8cj-6Ql4s/видео.html
This is really cool. I may have to give this a try. I would really like to try my hand at creating my own audio filter. Something like an fx pedal for a guitar or bass but for whatever type of audio I choose to run through it.
Anybody have any experience with something like this? I think I can figure it out by looking through similar projects but damn do I wish more of my tech buddies were into music the way that I am. Instead they prefer video games and cartoons which is cool, but I couldn’t care less about those things to be honest. 😂
Thanks! You'll probably want a USB audio interface to get good audio input fyi. Have fun hacking and reach out if you have questions.
@@white2rnado already have an audio interface but thanks man.
Just trying the setup now but I don't get any sound when I plug in the midi controller (Launchpad Pro Mk3). How do I debug because I am very new to audio on a Raspberry Pi.
Are you certain you're sending note messages from the Launchpad? The default initial MIDI Mapping on the Mk3 only sends CC (continuous controller) messages - Custom 3 and Custom 4 look like they send some notes. To do some debugging, you can log in to your Pi via ssh (see www.raspberrypi.org/documentation/remote-access/ssh/ for how) and type:
sudo systemctl stop squishbox.service
python3 headlesspi.py
This will give you some feedback on when the script changes patches, banks, etc. You can also type `aseqdump -p 20:0` to see what MIDI messages your controller is sending (if your controller is not on port 20:0 type `aconnect -i` to see what it is).
Feel free to reply or post in the forum at geekfunklabs.com/forums/forum/questions-issues/ if you have more questions!
@@white2rnado Just had a look at the forum and don't see a way to register to ask a question. I have run the scripts and I can see the launchpad as device 24 and there are note on and off messages. I have tried changing the channel for the midi notes but nothing happens. What's the next step to test?
Here's the output
24:0 Note on 0, note 51, velocity 25
24:0 Clock
24:0 Clock
24:0 Channel aftertouch 0, value 120
24:0 Channel aftertouch 0, value 126
24:0 Clock
24:0 Channel aftertouch 0, value 127
24:0 Clock
24:0 Note off 0, note 53, velocity 0
Here's the midi details:
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 24: 'Launchpad Pro MK3' [type=kernel,card=2]
0 'Launchpad Pro MK3 MIDI 1'
1 'Launchpad Pro MK3 MIDI 2'
2 'Launchpad Pro MK3 MIDI 3'
Try rebooting the Pi (so the script is running) and log in via ssh again and type `aconnect -iol` - this will let you see if the Launchpad is connecting to FluidSynth. Also, see if your audio output is working by typing `speaker-test`.
hi, great tutorial, just what I needed. but please Help!! my midi M-audio Keystation49 does not play any sound on de piano keys, only the to keys make sound!? it is recognized see:
Port Client name Port name
0:0 System Timer
0:1 System Announce
14:0 Midi Through Midi Through Port-0
20:0 Keystation 49 Keystation 49 MIDI 1
20:1 Keystation 49 Keystation 49 MIDI 2
If I debug my keys I hear sound on top keys (play, stop, pauze button) and I see hits with following command but NO sound:
aseqdump -p "Keystation 49"
Waiting for data. Press Ctrl+C to end.
Source Event Ch Data
20:0 Note on 13, note 36, velocity 67
20:0 Note off 13, note 36
20:0 Note on 13, note 38, velocity 53
20:0 Note off 13, note 38
20:0 Note on 13, note 40, velocity 63
20:0 Note off 13, note 40
20:0 Note on 13, note 41, velocity 36
20:0 Note off 13, note 41
20:0 Note on 13, note 57, velocity 29
20:0 Note on 13, note 48, velocity 6
20:0 Note off 13, note 57
20:0 Note off 13, note 48
any Ideas what I am doing wrong?? tnx
Looks like your Keystation is sending notes on MIDI channel 13, but the default banks in the software assume your keyboard sends on channel 1. You could edit the bank files, but it's probably easier to change your keyboard channel to 1 as described on page 11 of the manual (www.m-audio.com/support/documents-search)
You'll probably want to assign your octave buttons to send momentary CC messages to change patches as well!
@@white2rnado thanks !! I got it works find now. my sounds has low volume with volume at 100% can I offset it volume level in config?
@@xgansterplayz Sure - in the "fluidsettings" section of SquishBox/squishboxconf.yaml just add an item " synth.gain: XX". XX can be from 0.0-5.0, but value above 1.0 will probably sound distorted. Check the headphones volume with the 'alsamixer' command as well.
@@white2rnado thanks ur the greatest
@@xgansterplayz try: Bring up terminal, type in alsamixer, F6 to choose soundcard "bcm2835 Headphones". Hold up arrow key.
It works *BUT* the software crashes when I load another SoundFont. If you got a fix for this, please let me know!! (i have a Raspberry pi 4 model b with a 16GB sd card, it's raspberry pi os lite)
Can you run from a command line by entering `python3 headlesspi.py` then get it to crash again and let me know what the output is?
@@white2rnado
fluidsynth: warning: Requested a period size of 64, got 444 instead
fluidsynth: warning: Failed to set thread to high priority
fluidsynth: Connection of Midi Through Port-0 succeeded
fluidsynth: Connection of Impulse MIDI 1 succeeded
fluidsynth: Connection of Impulse MIDI 2 succeeded
fluidsynth: warning: Failed to set thread to high priority
Connection is already subscribed
Connection is already subscribed
Connection is already subscribed
Loading bank 'bank0.yaml' ..
fluidsynth: warning: Sample 'SineWave': ROM sample ignored
Bank loaded.
Selected patch 1/6: Simple EP
Selected patch 6/6: Elevator Jam
Selected patch 5/6: Analog Saw
Selected patch 4/6: Weird Keys
Shutting down..
Tho I think I know what the error is. The button to change soundfont is a slider on my keyboard. (Novation Impulse 63) And fluidsynth think that I press the button constantly and that would explain why it's shutting down after a few seconds. But I don't know what numbers the buttons on my keyboard are, Do you know how I can find that?
@@najjjb2 type `aconnect -io` to see what port ## your midi controller is, then `aseqdump -p ##` to see what messages it sends when you press keys/buttons/etc. If you use a slider to change patches its CC# should match SELECT_PATCH in the headlesspi.py script, not DEC_PATCH or INC_PATCH
@@white2rnado Sorry for the very late response, but I did what you said and everything now works. Thanks! :-)
@@najjjb2 Nice - glad you were able to come back to it and get things working 👍
can the raspberry pi act as a keyboard as far as your daw can play the pi?
In theory, you should be able to send MIDI from the Pi to another computer running a DAW and vice versa, but there isn't a simple, readily available hardware solution for connecting USB MIDI hosts (i.e. computer computer) that I'm aware of. Working on it, though - speak up if anyone knows of one!
Sending MIDI over a network connection between the Pi and your DAW could be another way to get it done.
Does this work on raspberry pi 4?
I haven't had the opportunity to test it on a Pi 4, but I don't see any reason it wouldn't. Let me know if you run into any problems.
Aha I figured it out! Thanks for setting all this up this is amazing
Got another issue.. so it FINALLY works but then my pi crashes within 5 minutes. I have raspi 4 on the latest raspberry software and I also have a mini fan connected to it so I feel like it’s not over heating. Any thoughts?
Yeah - if you're running the Pi headless, the synth shouldn't cause it to heat up enough to even need the fan, unless you've got some other software doing lots of things as well. Here are tips on how to figure out what might have caused a system crash/restart: raspberrypi.stackexchange.com/a/38005 - let me know if you find anything there.