soundscape-community / soundscape

An iOS application/service that aids navigation through spatialized audio
https://soundscape.services
MIT License
21 stars 22 forks source link

Separate audio engine from app #41

Closed steinbro closed 8 months ago

steinbro commented 1 year ago

There may already be a logical delineation between the spatial-speech-related code and the visual app UI in the organization of the codebase, but it might be useful if they were entirely separate build targets. This would be one step towards enabling other apps that use the same 3D audio engine, e.g. #30.

ngoiyaeric commented 8 months ago

Hi, port audio seems like a good alternative to the audio engine. I am thinking to also replace the native ios speech technologies. I don't think any of the good ones would be free. I suppose this feature change would go in conjunction with self hosting the codebase on a cloud provider.

ngoiyaeric commented 8 months ago

https://github.com/PortAudio/portaudio

steinbro commented 8 months ago

Hmm, I think I posited the idea for this issue under the (very wrong) mental model that only the visual components of the app would be platform-specific, and that the spatial audio engine could be readily extracted for other platforms. In practice, the audio and speech APIs are pretty iOS-heavy, not to mention they're written in Swift. So I'm not sure that rearranging the current architecture would help the cross-platform cause at all.

Regarding PortAudio, iOS seems to be the one platform people haven't used it on. There are some other ideas here from someone in a similar situation: https://www.reddit.com/r/cpp/comments/rmqy1o/crossplatform_foss_audio_library/