Android bindings for SoundTouch lib, focused on size optimization and real-time processing.

Overview

Android binding library for SoundTouch

This library allows to use SoundTouch in real-time processing mode. It has also few Android-specific changes for SoundTouch:

  1. Reduced binary size from ~300KB to 15KB per arch -> by using only features needed for processing of frames (no BPM/PeakFinder etc) you can get to ~80KB. However ~60KB is wasted by the fact that NDK by default uses c++_static STL and doesn't remove all unused symbols. SoundTouch doesn't use C++ STL (just C), so we can use system STL, but this one is deprecated, so it's better to use none STL and provide ::new and ::delete operators. This way we can get down to 15KB with few minor inconveniences.
  2. Added JNI variant for put/receive methods, that can reduce overhead of calling native methods from JVM side.

Licensing

Check LICENSE.txt.

NOTICE: I am not a lawyer and this is not legal advice.

How it should work in practice for Android project -> Most of C++ files are LGPL-licensed and other files are Apache-licensed, what means that ".so" file needs to satisfy LGPL requirements (f.e. provide sources of ".so" file so user can rebuild it and replace in final product).

Because ".so" file is dynamically loaded/linked, the rest of ".apk" may keep its license, however sources of this library have to be provided/linked in the application, so user can, compile lib and replace it in ".apk".

Try it

You can check (hear) code in action, in this app: Music Speed Changer

You might also like...
Youtube Android Clone 🚀an Android Youtube Clone made out of XML and Kotlin
Youtube Android Clone 🚀an Android Youtube Clone made out of XML and Kotlin

Youtube Android Clone 🚀 This app consumes The Youtube Api to fetch and display a list of popular videos, The app uses MVVM design pattern to allow se

Custom Android view with video player, loader and placeholder image
Custom Android view with video player, loader and placeholder image

VideoPlayerView Custom Android view with video player, loader and placeholder image. To stay up-to-date with news about the library Usage Here is an e

This is a project designed to help controlling Android MediaPlayer class. It makes it easier to use MediaPlayer ListView and RecyclerView. Also it tracks the most visible item in scrolling list. When new item in the list become the most visible, this library gives an API to track it. Android Texture VideoView having a variety of scale types like the scale types of ImageView such as fitCenter, centerCrop, centerTopCrop and more
Android Texture VideoView having a variety of scale types like the scale types of ImageView such as fitCenter, centerCrop, centerTopCrop and more

Android-ScalableVideoView Looking for the extra scale types of ImageView? Check out ScalableImageView. Android Texture VideoView having a variety of s

A elegant and light weight music player for android
A elegant and light weight music player for android

A elegant and light weight music player for android

Android podcast app made with Jetpack Compose and ExoPlayer.
Android podcast app made with Jetpack Compose and ExoPlayer.

Podcast App Android podcast app made with Jetpack Compose and ExoPlayer. Podcast information provided by Listen Notes API. Features Jetpack Compose UI

 Fire TV Sample App Android - Touch and D-Pad
Fire TV Sample App Android - Touch and D-Pad

Fire TV Sample App Android - Touch and D-Pad This sample Android project demonstrates how to build the main UI of a Fire TV application in order to su

 An offline music player android app, with modern UI and powerful features
An offline music player android app, with modern UI and powerful features

Pulse Music An offline music player android app, with modern UI and powerful features If you liked this repo, fork it and leave a STAR. Your support m

Xtra is a Twitch player and browser for Android.
Xtra is a Twitch player and browser for Android.

Xtra for Twitch Xtra is a Twitch player and browser for Android. Download APK You can find released APKs here. Project status The app was removed from

Owner
null
Echo is a lightweight and minimal music player for Android, built with Android Studio and written in Kotlin

Echo - Echo, A light-weight, minimal music player for Android, with shuffle, favorites and audio visualization

Divins Mathew 0 Feb 7, 2022
Free p2p cdn android github sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀

Android p2p cdn sdk to distribute load and reduce costs(https://peervadoo.com) Vadootv is a p2p sdk integration to reduce your video streaming costs b

Vadootv 40 Oct 5, 2022
Simple and lightweight, yet polished and powerful Android video player based on ExoPlayer

Just (Video) Player Android video player based on ExoPlayer It uses ExoPlayer's extension-ffmpeg with all its audio formats enabled (it can handle eve

Marcel Dopita 677 Dec 28, 2022
Android app for streaming and downloading Movies, TV-Series and Anime.

CloudStream ⚠️ Warning: By default this app doesn't provide any video sources, you have to install extensions in order to add functionality to the app

null 309 Aug 21, 2022
Android app for streaming and downloading Movies, TV-Series and Anime.

CloudStream-3 DOWNLOAD: https://github.com/KillerDogeEmpire/Cloudstream/releases Features: AdFree, No ads whatsoever No tracking/analytics Bookmarks D

Sushil Great 3 Aug 15, 2022
Android app for streaming and downloading Movies, TV-Series and Anime.

CloudStream ⚠️ Warning: By default this app doesn't provide any video sources, you have to install extensions in order to add functionality to the app

Obaida AlBitar 2 Sep 22, 2022
A simple library for parsing and playing links from YouTube, YouTube Music, Vimeo and Rutube is WebView without the need to connect api data services. Request caching is available now

Android Oembed Video A simple library for parsing and playing links from YouTube, YouTube Music, Vimeo and Rutube and others in the WebView without th

Alexey Mostovoy 32 Oct 8, 2022
Fermata Media Player is a free, open source audio and video player with a simple and intuitive interface.

Fermata Media Player About Fermata Media Player is a free, open source audio and video player with a simple and intuitive interface. It is focused on

Andrey 227 Jan 6, 2023
Is an All in One app for Muslims with lots of features such as Prayer Times & Adhan, Collections of Dhikr and Prayer sourced from Authentic Hadith, The Holy Qur'an, Qibla, Notes and many more!

Is an All in One app for Muslims with lots of features such as Prayer Times & Adhan, Collections of Dhikr and Prayer sourced from Authentic Hadith, The Holy Qur'an, Qibla, Notes and many more!

DzikirQu 112 Dec 26, 2022
A Spotify Clone that plays music and has similar UI to actual Spotify Mobile App. Made with Exoplayer and love ❤️

Spotify Clone A Spotify Clone App that can play music, and has a good looking UI that is very similar to actual Spotify Mobile App on Play Store I use

Utku Oruç 4 Oct 12, 2022