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.
Zynaddsubfx crashing on instrument change
Moderators: MattKingUSA, khz
- lucidbeaming
- Established Member
- Posts: 34
- Joined: Tue Mar 21, 2017 8:44 am
- Location: San Jose, CA
- Contact:
- lucidbeaming
- Established Member
- Posts: 34
- Joined: Tue Mar 21, 2017 8:44 am
- Location: San Jose, CA
- Contact:
Re: Zynaddsubfx crashing on instrument change
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
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
-
- Established Member
- Posts: 165
- Joined: Thu Nov 07, 2013 1:19 pm
- Been thanked: 1 time
Re: Zynaddsubfx crashing on instrument change
"/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.
- 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
CorrectFrom 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?
- Reverb is expensive (dynamic filter too IIRC)Any suggested strategies?
- 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
- lucidbeaming
- Established Member
- Posts: 34
- Joined: Tue Mar 21, 2017 8:44 am
- Location: San Jose, CA
- Contact:
Re: Zynaddsubfx crashing on instrument change
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/
https://lucidbeaming.com/blog/setting-u ... iguration/