FDWaveformView alternatives and similar libraries
Based on the "Audio" category.
Alternatively, view FDWaveformView alternatives based on common mentions on social networks and blogs.
-
AudioKit
Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS -
EZAudio
An iOS and macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. -
StreamingKit
A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS (iPhone, iPad) -
novocaine
Painless high-performance audio on iOS and Mac OS X -
PandoraPlayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift. -
SubtleVolume
Replace the system volume popup with a more subtle indicator. -
SwiftySound
SwiftySound is a simple library that lets you play sounds with a single line of code. -
AudioPlayer
AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). -
IQAudioRecorderController
A drop-in universal library allows to record audio within the app with a nice User Interface. -
Jukebox
Player for streaming local and remote audio files. Written in Swift. -
TheAmazingAudioEngine2
The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. -
MusicKit
A framework for composing and transforming music in Swift -
ESTMusicIndicator
Cool Animated music indicator view written in Swift -
QuietModemKit
iOS framework for the Quiet Modem (data over sound) -
FDSoundActivatedRecorder
Start recording when the user speaks -
AudioPlayerSwift
AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps. -
ModernAVPlayer
ModernAVPlayer is a persistence AVPlayer wrapper -
Chirp
The easiest way to prepare, play, and remove sounds in your Swift app! -
SRGMediaPlayer-iOS
An advanced media player library, simple and reliable -
sound-fader-ios
A sound fader for AVAudioPlayer written in Swift for iOS, tvOS and macOS. -
BPMAnalyser
Fast and simple instrument to get the BPM rate from your audio-files. -
QHSpeechSynthesizerQueue
Queue management system for AVSpeechSynthesizer
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of FDWaveformView or a related project?
README
FDWaveformView
FDWaveformView is an easy way to display an audio waveform in your app. It is a nice visualization to show a playing audio file or to select a position in a file.
:hatching_chick: Virtual tip jar: https://amazon.com/hz/wishlist/ls/EE78A23EEGQB
Usage
To use it, add an FDWaveformView
using Interface Builder or programmatically and then just load your audio as per this example. Note: if your audio file does not have file extension, see this SO question.
let thisBundle = Bundle(for: type(of: self))
let url = thisBundle.url(forResource: "Submarine", withExtension: "aiff")
self.waveform.audioURL = url
Features
Set play progress to highlight part of the waveform:
self.waveform.progressSamples = self.waveform.totalSamples / 2
Zoom in to show only part of the waveform, of course, zooming in will smoothly re-render to show progressively more detail:
self.waveform.zoomStartSamples = 0
self.waveform.zoomEndSamples = self.waveform.totalSamples / 4
Enable gestures for zooming in, panning around or scrubbing:
self.waveform.doesAllowScrubbing = true
self.waveform.doesAllowStretch = true
self.waveform.doesAllowScroll = true
Supports animation for changing properties:
UIView.animate(withDuration: 0.3) {
let randomNumber = arc4random() % self.waveform.totalSamples
self.waveform.progressSamples = randomNumber
}
Creates antialiased waveforms by drawing more pixels than are seen on screen. Also, if you resize me (autolayout) I will render more detail if necessary to avoid pixelation.
Supports iOS8+ and Swift 3.
Includes unit tests which run successfully using Travis CI.
Installation
Add this to your project using Swift Package Manager. In Xcode that is simply: File > Swift Packages > Add Package Dependency... and you're done. Alternative installations options are shown below for legacy projects.
Contributing
This project's layout is based on https://github.com/fulldecent/swift4-module-template If you would like to change the layout, please change that project FIRST. Also you may appreciate that project has "recipes" -- you don't just change code, you also explain why you are doing things. As a maintainer this makes my job MUCH simpler. In a similar respect, if you are introducing non-minor changes, it will be VERY helpful if you could please reference to another project (like AlamoFire) that has seen and discussed the types of design challenges you are touching.) Thanks again and we all really do appreciate your contributions.
*Note that all licence references and agreements mentioned in the FDWaveformView README section above
are relevant to that project's source code only.