A Swift library for fading audio in and out with AVAudioPlayer on iOS, tvOS, and macOS.
Cephalopod is a Swift library designed to add smooth fade-in and fade-out effects to audio playback using AVAudioPlayer on Apple platforms. It solves the problem of abrupt audio starts and stops by providing customizable, natural-sounding transitions that enhance user experience in audio apps.
iOS, tvOS, and macOS developers who need to implement audio fade effects in their apps, such as music players, games, or multimedia applications.
Developers choose Cephalopod for its simple integration, fine control over fade parameters (duration, velocity, volume), and natural exponential fade curves that sound better to the human ear compared to basic linear fades.
A sound fader for AVAudioPlayer written in Swift for iOS, tvOS and macOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows customization of fade duration, start/end volume, and velocity for linear or exponential curves, as detailed in the fade method arguments in the README.
Uses velocity settings (2-5) to create exponential fades that sound more gradual and human-ear-friendly, based on the natural sounding fades feature described.
Offers a minimal API that integrates seamlessly with AVAudioPlayer, requiring only a few lines of code for setup, as shown in the usage examples.
Provides control over CPU usage via volumeAlterationsPerSecond, allowing developers to balance fade smoothness against resource consumption, with a default of 30.
Only works with AVAudioPlayer, making it incompatible with other audio systems like AVAudioEngine or custom players, which restricts its use in more complex audio applications.
Focuses exclusively on fade effects, lacking features for broader audio needs such as playback control, effects, or crossfade support, as indicated by its specialized purpose and alternative solutions list.
Tied to Swift and Apple platforms with no support for other environments, limiting usability in cross-platform or non-Apple projects, as highlighted in the platform support.