这是indexloc提供的服务,不要输入任何密码
Skip to content

Rewrite iOS implementation based on AVAudioEngine #334

@ryanheise

Description

@ryanheise

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.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions