Comments (6)
Okay, this is dumb... It appears to run headlesspi just fine if i don't have a monitor connected. I know how dumb that sounds to read, but I didn't think it would matter. 🤦♂️
from fluidpatcher.
Sorry for the troubles! The message about Sine Wave is more of a warning than an error - it refers to the fact that drum preset 128:001 in the VintageDreamsWaves-v2.sf2 soundfont expects a ROM sample that used to be available on the old Sound Blaster cards, but of course doesn't exist on the Pi - I would fix it but the author's license doesn't allow modification.
If you're running the install script to set everything up (curl https://geekfunklabs.com/squishbox | bash
) you shouldn't have to set up a cron job or edit rc.local to have headlesspi run on startup - the install script creates a systemd service for you that should be much more reliable than either of those methods. In fact, if you also add headlesspi.py to crontab you might be running two separate instances of the synth, which could cause some of your issues. Are you never seeing the 5 blinks from the green ACT led to indicate readiness after booting up? It does take 15-30 seconds to boot. You can check on the status of the startup service by logging in and typing at the command line
sudo systemctl status squishbox.service
You should get a blink from the Pi's green ACT led when changing patches or solid green when loading the next bank. You can also run the script with the option --interactive
to get more information about errors - I'll add some print statements about patch/bank changes as well.
I did originally do set this up with an MPK mini mkII, and one annoyance I remember is that the drum pads only send on MIDI channel 10, while the knobs can be assigned to whatever channel, but are channel 1 by default. If you set CTRLS_MIDI_CHANNEL = 10
, do the pads work to change patches for you? Make sure they're sending momentary as opposed to toggling CC values.
from fluidpatcher.
Firstly, thanks for getting back to me :)
-
Okay, interesting! So, in this image Terminal shows it as running, but there is no audio until i run it myself. Any ideas?
-
The pads send on 10? How bizarre, though I get the historical reason. Okay I'll try changing that now and see what happens.
Update: that did not fix it, but in the below image, I confirmed that the controller is using channel 1, so i reverted headlesspi back to 1, and lo and behold, it's working! Your momentary vs toggle note was the answer (they were still set to toggle). That said, I was getting erratic change behavior last week enabling PROG CHANGE and using that. So... maybe that is doing something?
I added some of my own print() commands while trying to debug this on Friday, and they are now working! It says 'patch incremented' when, you guessed it, the patch is incremented.
I am getting pretty solid crashing behavior, but I think it's my pi being sad. It happens pretty reliably when the pi reaches 60 degrees. I need to solve that somehow...
from fluidpatcher.
I've had this exact same problem, and it turned out to be my power supply! HDMI draws a lot of power, more so on the newer Pis, and the 2-amp power supply I had just couldn't quite make it if I had a monitor connected.
PROG CHANGE is that PC row on the pads, which is yet another type of MIDI message called program change, which tells the synthesizer to switch to that preset number in the current soundfont. I know this is confusing - soundfont files have presets organized into banks, numbered XXX:YYY (XXX=bank, YYY=preset), while our code allows you to switch between patches in different bank files, where a patch can activate any preset(s) you want from any number of soundfonts at once (memory allowing).
from fluidpatcher.
Fascinating! I never would have expected the power supply to be the issue...
Ahh, so prog change is functional in this setup, but just not documented - is that correct?
Thanks for all the help! Please feel free to close this issue if you're happy :)
from fluidpatcher.
Correct! Program changes will be received by Fluidsynth, but this might produce some confusing behavior. For example, sending PC 3 on MIDI channel 1 while on the second patch in bank1.yaml - 'Rhodes' will not select the third patch, but will select the third preset in 'FluidR3_GM.sf2' - the soundfont assigned to channel 1 - which is 'Honky Tonk Piano'. This can sort of be useful if you have a controller with program change +/- buttons, so you can step through all the presets in a soundfont, but this isn't really the software's intended use - it's meant to let you set up the specific sounds/effects you want to perform with, rather than be stuck with the presets as they're ordered in a single soundfont. It would be nice to be able to bind program change messages to switching patches, but Fluidsynth's public API doesn't expose anything you can really use for this (AFAIK), and control changes are more available on most controllers anyway.
from fluidpatcher.
Related Issues (20)
- Windows Fluidpatcher setup program fails -- and provides insufficient info to troubleshoot
- Midi Monitor on fluidpatcher_cli crashes when receiving sysex messages HOT 2
- Notes from MIDI keyboard do not produce audio HOT 2
- No sound or lcd output HOT 2
- Question about routing HOT 4
- LADSPA plugins won't work on Raspberry pi HOT 2
- Error in bank0 Elevator Jam preset HOT 1
- Unable to update squishbox from version <= 0.7.11 using menu HOT 1
- fluidpather won't install with python 11 , wxpython throws bugs while installing HOT 1
- Small security quibble HOT 1
- RFE: adding all instruments from FluidR3_GM.sf2 HOT 3
- Unable to start FluidPatcher (pyw) after running Windows installer due to failing wxpython pip install HOT 5
- MIDI messages not being received by headlesspi.py HOT 11
- Doesn't install on macOS Ventura HOT 1
- midi.autoconnect not working HOT 6
- FluidPatcher 0.7.15 isn't intaling python modules HOT 1
- squishbox-install.bash no longer works HOT 1
- Install script errors under Raspberry Pi OS Bookworm HOT 2
- Problems installing fluid-soundfont-gm! HOT 1
- Save patch issue HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluidpatcher.