Zynaddsubfx crashing on instrument change

All your LV2 and LADSPA goodness and more.

Moderators: MattKingUSA, khz

User avatar
lucidbeaming
Established Member
Posts: 34
Joined: Tue Mar 21, 2017 8:44 am
Location: San Jose, CA
Contact:

Re: Zynaddsubfx crashing on instrument change

Post by lucidbeaming »

Ok, a few OSC goals for this small web app. What I'd like to have is a simple way of switching effects on and off on a global level, as well as basic filter cutoff, resonance, and global envelope control. Some of that is for expression, but also to simplify complex instruments that give XRUNs when played to fast. The cutoff, resonance, etc. can be controlled from midi controls.

I think if I had a way of intercepting the OSC messages from the GUI to the backend, I could probably reverse engineer the address/msg packages. I tried a loopback port scanner, but couldn't get the OSC packages out. I'm fine with oscprompt, but as you say in the readme, OSC isn't exactly a verbose protocol for debugging.

for effects:

/sysefx[0,3]/efftype i
/sysefx[0,3]/preset i

those are straightforward, but I can't figure out the address for sysefx amount [0,3] for the current instrument, maybe /Psysefxvol[0,3]/part[0,15] i) thought it would be simple.

ADSR:

From what I can tell, each of the instrument synth types (AD,PAD,SUB) have their own ADSR envelopes, but there isn't a global amplitude envelope that can be set with OSC. Is that the case?

XRUNS:

I have an excellent sound card for the Raspberry, but can't go above 48000khz because I get XRUNS. I have tried all sorts of jackd/zyn parameters and I think there just isn't enough horsepower for certain instruments. But, If could send an OSC message(s) that turns off all reverb/delay insfx and sysfx I think those instruments would play fine. I have enough outboard effects to make up for that if I shut them off. Any suggested strategies?

Btw, thanks for your help. Glad to have this up and running again.
User avatar
lucidbeaming
Established Member
Posts: 34
Joined: Tue Mar 21, 2017 8:44 am
Location: San Jose, CA
Contact:

Re: Zynaddsubfx crashing on instrument change

Post by lucidbeaming »

Version requests:

cmake version 3.6.2
gcc (Raspbian 4.9.2-10) 4.9.2

hardware:

cat /proc/cpuinfo

processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 2
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 3
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

Hardware : BCM2709
Revision : a02082
fundamental
Established Member
Posts: 165
Joined: Thu Nov 07, 2013 1:19 pm
Been thanked: 1 time

Re: Zynaddsubfx crashing on instrument change

Post by fundamental »

"/Psysefxvol[0,3]/part[0,15] i" should be the system effect input volume. There is also the effect routing matrix /sysefxfrom*/to* i, but it sounds like you're looking for the former.

From what I can tell, each of the instrument synth types (AD,PAD,SUB) have their own ADSR envelopes, but there isn't a global amplitude envelope that can be set with OSC. Is that the case?
Correct
Any suggested strategies?
- Reverb is expensive (dynamic filter too IIRC)
- Too many notes are expensive (see /part*/Pkeylimit)
- Running the GUI can introduce some overhead (polling the VU meters for instance can create a decent amount of overhead
- Compiler optimizations help the overall speed a *ton*. I'm hoping that falktx finds the root cause and then you're able to re-enable optimizations
ZynAddSubFX maintainer
User avatar
lucidbeaming
Established Member
Posts: 34
Joined: Tue Mar 21, 2017 8:44 am
Location: San Jose, CA
Contact:

Re: Zynaddsubfx crashing on instrument change

Post by lucidbeaming »

For those interested, here is a tutorial I put together to get ZynAddSubFX running on a Raspberry Pi 3 in a headless configuration. It incorporates the info we found through this thread discourse.

https://lucidbeaming.com/blog/setting-u ... iguration/
Post Reply