Picovoice / porcupine

On-device wake word detection powered by deep learning
https://picovoice.ai/
Apache License 2.0
3.69k stars 496 forks source link

Porcupine Issue: visionOS support #1229

Closed Spencer-L closed 6 months ago

Spencer-L commented 7 months ago

Have you checked the docs and existing issues?

SDK

Unity

Porcupine package version

3.0.1

Framework version

Unity 2022.3.18

Platform

iOS

OS/Browser version

visionOS 1.0.3

Describe the bug

Hey so great work with Porcupine, it's a fantastic cross-platform package that I love incorporating in pretty much all the projects I do. I know Porcupine wasn't explicitly marketed to be compatible with Apple's visionOS, but I figured I'd push this as a bug just in case anyone at Picovoice is curious about the compatability of Unity Porcupine with Apple Vision Pro. Reason being I know a lot of things are interoperatable between visionOS and iOS while a lot aren't... Short answer for Porcupine is I don't think it's compatible. I got a barebones project up and running and the only thing I have is pretty much Polyspatial and Porcupine in the project. Porcupine works well with just the built in wake words both in-editor and on a M3 Max macbook. But when deploying to visionOS, I get a GPU permissions error it seems. Thanks!

Screenshot 2024-02-19 at 1 24 52 AM

Steps To Reproduce

  1. Create Unity project with Polyspatial 1.0.3 template.
  2. Import Porcupine package
  3. Set up a simple test scene ie. Porcupine + play test sound when wake word detected
  4. Deploy to visionOS

Expected Behavior

A confirmation sound should play when a wakeword is detected (this works perfectly well in-editor and on macOS build) but a GPU error is thrown instead when deployed to the Apple Vision Pro. Please let me know if there's a possible fix or if I'm doing something wrong!

laves commented 7 months ago

@Spencer-L thanks for your interest and thank you for giving it a try on visionOS - we have not had a chance to do this. As you mentioned, we don't officially support visionOS so, even if it did work, we can't guarantee that it will function as expected. That said, Porcupine does not use any GPU acceleration and thus shouldn't be the cause of the GPU permission errors you are experiencing. The only permission that Porcupine requires is for the microphone, which is something you may need to acquire in your application before Porcupine will work on device.

Spencer-L commented 7 months ago

Yup, mic access is given to the app and I made sure to check that. Definitely not looking for a bug fix, but more so out of curiosity, any future plans for visionOS support?

laves commented 7 months ago

We'd love to, but there are no plans as of yet. I'll leave this issue open though and if it gets enough traction we may add support in the future.

ErisMik commented 6 months ago

Closed due to inactivity