-
-
Notifications
You must be signed in to change notification settings - Fork 746
Description
Is your feature request related to a problem? Please describe.
Certain features such as a visualizer (#97 ), equalizer (#147 ), pitch shifting (#329 ) may be more easily implemented if based on AVAudioEngine rather than the current AVQueuePlayer.
Describe the solution you'd like
Either reimplement using AVAudioEngine directly, or use an AVAudioEngine-based library such as AudioKit.
Describe alternatives you've considered
We can get some of the way there by plugging an audio tap processor into AVQueuePlayer, but unfortunately this does not give us access to iOS's built-in pitch shifting API which is only available via AVAudioEngine. This could still be possible via the audio tap processor by manually implementing the pitch shifting algorithm, or perhaps integrating the C version of sonic, but long term an AVAudioEngine-based implementation may end up being more flexible in terms of implementing other audio processing features.
Additional context
None
UPDATE
This will be a collaborative effort. Anyone can contribute, and we will be following the plan in this shared Google Doc:
https://docs.google.com/document/d/17EZEvmiyn94GCwddBGS5BAaYer5BTRFv-ENIAPG-WG4/edit?usp=sharing
We are currently in the research phase, so you can contribute by sharing any relevant links to useful resources you have found to help implement each feature in the list.