Percussa as audio interface (stops working)

I am using the SSP as a DC-coupled audio interface, sending signals from Max(MSP) to it. If the Percussa is newly started, it all works, but after a while it just stops, although Max is continuing to send audio. Disabling audio, rerouting it to something else and back, etc. doesn’t solve the issue. Only a reboot of the SSP (or resetting the sample rate, rebooting the audio) fixes it once I has reached this state. When the digital input stops working, output of other audio (synth voice or whatever) continues to work.

Steps to reproduce (use numbered list):

  1. In Max, change the input and output devices to Percussa
  2. Make a [dac~ 1 2] object and connect two [phasor~ 0.5] objects to it (or whatever)
  3. Start audio in Max, see that the signals are arriving at the Percussa in the input module
  4. Wait for a little bit, eventually the input will stop being displayed at the Percussa and the audio system will need resetting (should happen in < 5 minutes)

if that didn’t work, try disconnecting one of the [phasor~] objects and then reconnecting it in Max. That seems to increase the chances of it happening.

Software version (blank if unknown): 14092019

Type (major or minor): major? Obviously I cannot rule out a problem at the source, but Max works with pretty much every other audio interface I’ve ever tried without a hiccup. 48kHz on the Percussa.

Please let me know if there’s anything I can do to debug this on my end, or help you debug it on yours…

Thank you!

Windows or Mac, what version of OS, and what version of Max/MSP? Have you tried using REAPER (free demo version available on their website) or Pure Data, and see if you can reproduce the problem?

I’m on macOS, 10.14.6, latest MaxMSP (sorry for the incomplete infos).

I haven’t tried Pd or REAPER, Pd is probably the more comparable. I’ve tried Live, and it works. When adding or removing connections in Max, the signal chain is rebuilt and there is a discontinuity in the audio (although you should continue to receive samples over USB). Presumably Pd does something similar.

I suspect that there is a condition which will lead to your input driver crashing – once it’s down, it won’t work in any software until I’ve restarted the SSP or reset the sample rate. And that we’re probably exercising that condition from Max by virtue of the signal chain rebuild, but it’s all just an educated guess at this point.

I’d love to help you figure this out, so I’ll grab a recent Pd and try from there to start.

And if you need the latest Max, just drop a note, but I think you’ve got it already.

I tested on Mojave and had no problems. That said I didn’t test extensively with Max/MSP in particular so it’s possible something slipped through the cracks.

does Max close and re-open its audio devices each time you make or break a connection? I’m assuming no, but I thought I’d ask. Perhaps the packet stream is stopped or started by Max/MSP over USB somehow, which perhaps trips the driver code on the side of the SSP.

OK, I just made it happen in Live (10.1.2) as well (without Max for Live, just playing an audio file back). Buffer size = 64. Set attached, just loop the audio file and let it run for a bit. Eventually the input driver will crash on the SSP.

Thank you for investigating!

PercussaSet Project.zip (480.0 KB)

thanks, does this happen when you increase the buffer size in Live?

I’ll check tomorrow and let you know!

Yes it does, also at 256 and 512. So I’m kind of leaning toward the premise that the problem lies on the SSP’s end, although I can continue to poke around. Have there been no similar reports?

not that I know of. What audio i/o framework do you guys use in max? have you tried reproducing the problem with pure data? just to have an additional reference point.

Hi, as I wrote above, the problem is reproducible in Ableton Live (I attached a test set to the post), just looping an audio file for a few minutes, without any Max/MSP involvement at all.

ok got it, I’ll look into it and see if I can reproduce your problem.

I have a similar problem to the OP. I am using an old Logic 9 setup (I have to to get old tracks mixed and finished for an album that were done on it) but this was working with the SSP via USB. Now it doesn’t seem to be. If I reset the sample rate on the SSP to 48K it starts to work for a bit then Logic will just stop making audio. I feel the SSP is triggering something in Logic to not work as it plays fine when I reset to my normal soundcard. I have it playing back into the computer just through the monitors. This set up was working so not sure why now it won’t for longer than a minute. Trying to avoid bouncing out the stems and doing this another way as I quite liked the idea of running the track as stems through the modular, reworking a few bits but still being able to edit the original plugins when necessary. Anyone had similar issues or resolutions?

I am testing this again now with the latest max version, 8.1.8, on mac osx mojave (10.14.6) and I have no problems in max/msp, sending audio to or from the SSP. So I would think there was a bug in max.

Unfortunately I can’t support old versions of operating systems or DAWs, I can only test / support relatively recent versions, resources permitting.

I think I’m having this issue on Mac. The SSP simply disappears as a USB audio interface after about 1-2 mins from boot-up. So it can be reproduced without audio software running.

Steps to reproduce:

  1. Power up SSP and plug in USB (in either order)
  2. See Percussa Audio in audio devices menu (Option + Speaker icon)
  3. Wait 1-2 min
  4. Experience weird USB activity like mouse freezing and typed text disappearing
  5. Weird USB activity stops
  6. No longer see Percussa Audio in audio devices menu
  7. Unplugging and re-plugging USB doesn’t help

Percussa firmware: 28112020
OS: macOS 10.15.7

What else is on the USB bus?

  • Kinesis Advantage MPC/USB keyboard
  • Kensington trackball
  • UGreen USB switch

I was able to capture some logs from the Console app (filter: “usb”) that show the SSP being “removed” as an interface. Please see below (not sure how to attach):

default	10:49:35.389269+0800	icdd	               Added | [USB][      Percussa Audio ] ( 0, 0, 0) @ 0x14200000 |
default	10:49:35.978737+0800	kernel	Notice - new kext com.apple.driver.usb.AppleUSBHostPlatformProperties, v1.2 matches prelinked kext but can't determine if executables are the same (no UUIDs).
default	10:49:35.997314+0800	kernel	001101.066037 systemstats@(null): AppleUSBHostUserClient::start: missing entitlement com.apple.bluetooth.control
default	10:49:36.143574+0800	kernel	Notice - new kext com.apple.driver.usb.AppleUSBHostPlatformProperties, v1.2 matches prelinked kext but can't determine if executables are the same (no UUIDs).
error	10:49:36.184990+0800	VDCAssistant	CMIO_DPA_VDC_Server_USBClient.cpp:334:USBClient [guid:0x1420000016c007c1] Could not find SC_VIDEOCONTROL interface
default	10:49:36.186140+0800	icdd	            Inferior | [USB][      Percussa Audio ] ( 1, 1,20) @ 0x14200000 |
default	10:49:36.188452+0800	kernel	001101.257173 systemstats@(null): AppleUSBHostUserClient::start: missing entitlement com.apple.bluetooth.control
default	10:49:36.189205+0800	icdd	            Inferior | [USB][      Percussa Audio ] ( 1, 2,20) @ 0x14200000 |
default	10:49:36.190592+0800	icdd	            Inferior | [USB][      Percussa Audio ] ( 1, 2,20) @ 0x14200000 |
default	10:49:37.527734+0800	coreaudiod	 HALS_Device::Activate: activating device 931: AppleUSBAudioEngine:Percussa:Percussa Audio:0001:1,2
default	10:49:37.530286+0800	coreaudiod	 HALS_DefaultDeviceManager::FindPreferredDefaultDevice: 'dIn ' | found preferred[0] 931: 'AppleUSBAudioEngine:Percussa:Percussa Audio:0001:1,2'/''
default	10:49:39.398705+0800	icdd	           [Removed] | [USB][      Percussa Audio ] ( 0, 0, 0) @ 0x14200000 |
default	10:49:39.398838+0800	icdd	           [Removed] | [USB][      Percussa Audio ] ( 1, 1,20) @ 0x14200000 |
default	10:49:39.398889+0800	icdd	           [Removed] | [USB][      Percussa Audio ] ( 1, 2,20) @ 0x14200000 |
default	10:49:39.398952+0800	icdd	           [Removed] | [USB][      Percussa Audio ] ( 1, 2,20) @ 0x14200000 |
default	10:49:39.399060+0800	coreaudiod	 HALS_Device::_Deactivate: deactivating device 931: AppleUSBAudioEngine:Percussa:Percussa Audio:0001:1,2

Great, this is a really frustrating problem which limits the usability significantly. I hope a solution can be found. Happy to provide additional resources, if there’s motivation to investigate it.

are you using the SSP audio interface at the time?
I believe I have seen the SSP ‘timeout’, if is not currently in use by an app (or set to the default audio interface)

I say ‘believe’ , as I generally have the SSP assigned to something when its connected, so I dont really see this.

I use the SSP everyday and dont have an issue, almost all the time (90%) its part of my default audio interface - so even run things like youtube thru it :wink:

(recently I started using Loopback by Rogue Amobea which lets me dynamically change what hardware devices im using without having to mess about changing system or app preferences)

I run it thru a usb 2 hub with multi-tt (very important for usb 2 audio interfaces!)

Im now running Big Sur, but before that I was running Mojave and it was also fine.
I didn’t bother with Catalina, as it had known usb issues in early days , so I skipped it - but suspect thats not the issue (Im pretty sure they fixed the issues)

I’d try to connect the SSP directly to your computer (so not via hub) just to check that is not causing extra issues… like doing something stupid like going into a power save mode.

Okay… I don’t want to speak too soon, but for me it seems to have been the USB cable :joy: It was long and old, and now it is not. So far, so good.

@thetechnobear thanks for reminding me about Rogue Amoeba! They took over Soundflower from Cycling74 back in the day, and I like their products. From Loopback I was able to see the SSP constantly “disappearing” and reappearing, which made me think of the cable.

1 Like