blob: 44acf9f6a557d8efae02e1a4349e4a7858548621 [file] [log] [blame] [view]
Gerryaad72a12021-02-03 12:16:05 -08001# Oboe [![Build CI](https://github.com/google/oboe/workflows/Build%20CI/badge.svg)](https://github.com/google/oboe/actions)
Don Turnerb268bab2018-10-16 17:17:54 +01002
Don Turner8184e9a2018-11-12 17:30:34 +00003[![Introduction to Oboe video](docs/images/getting-started-video.jpg)](https://www.youtube.com/watch?v=csfHAbr5ilI&list=PLWz5rJ2EKKc_duWv9IPNvx9YBudNMmLSa)
Don Turnerb268bab2018-10-16 17:17:54 +01004
Don Turner1b3c4732017-10-18 18:50:03 +01005Oboe is a C++ library which makes it easy to build high-performance audio apps on Android. It was created primarily to allow developers to target a simplified API that works across multiple API levels back to API level 16 (Jelly Bean).
Don Turnerca6f91a2017-09-05 14:52:39 +01006
Don Turner07927502017-10-17 18:48:59 +01007## Features
8- Compatible with API 16 onwards - runs on 99% of Android devices
Don Turner025a9902018-02-06 21:39:37 +00009- Chooses the audio API (OpenSL ES on API 16+ or AAudio on API 27+) which will give the best audio performance on the target Android device
Don Turner07927502017-10-17 18:48:59 +010010- Automatic latency tuning
11- Modern C++ allowing you to write clean, elegant code
Phil Burk3c80d092020-08-12 12:17:11 -070012- Workarounds for some known issues
Don Turnere3003502021-05-19 11:17:08 +010013- [Used by popular apps and frameworks](https://github.com/google/oboe/wiki/AppsUsingOboe)
Don Turnerca6f91a2017-09-05 14:52:39 +010014
Don Turnerae12ad22020-11-25 14:00:37 +000015## Documentation
Don Turner902e42a2018-06-13 16:42:03 +010016- [Getting Started Guide](docs/GettingStarted.md)
17- [Full Guide to Oboe](docs/FullGuide.md)
Robert Wu5dd6a7d2022-07-12 14:26:17 -070018- [API reference](https://google.github.io/oboe)
Phil Burkc6808e62020-01-03 12:24:20 -080019- [Tech Notes](docs/notes/)
Phil Burk15efeab2018-12-04 07:17:40 -080020- [History of Audio features/bugs by Android version](docs/AndroidAudioHistory.md)
Don Turnerae12ad22020-11-25 14:00:37 +000021- [Migration guide for apps using OpenSL ES](docs/OpenSLESMigration.md)
Phil Burk15efeab2018-12-04 07:17:40 -080022- [Frequently Asked Questions](docs/FAQ.md) (FAQ)
Phil Burkc6808e62020-01-03 12:24:20 -080023- [Our roadmap](https://github.com/google/oboe/milestones) - Vote on a feature/issue by adding a thumbs up to the first comment.
Phil Burkb40a8fe2020-02-11 07:33:14 -080024
Phil Burk9e3ad322021-02-01 13:56:58 -080025### Community
26- Reddit: [r/androidaudiodev](https://www.reddit.com/r/androidaudiodev/)
27- StackOverflow: [#oboe](https://stackoverflow.com/questions/tagged/oboe)
28
Phil Burkb40a8fe2020-02-11 07:33:14 -080029## Testing
Phil Burk8ff28902022-05-13 17:23:50 -070030- [**OboeTester** app for measuring latency, glitches, etc.](apps/OboeTester/docs)
31- [Oboe unit tests](tests)
Don Turnerca6f91a2017-09-05 14:52:39 +010032
Don Turner57be62b2019-11-04 12:52:42 +000033## Videos
34- [Getting started with Oboe](https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_duWv9IPNvx9YBudNMmLSa)
Don Turnerd23f7a42019-11-04 12:53:11 +000035- [Low Latency Audio - Because Your Ears Are Worth It](https://www.youtube.com/watch?v=8vOf_fDtur4) (Android Dev Summit '18)
Phil Burk89ed2812019-12-17 07:09:25 -080036- [Winning on Android](https://www.youtube.com/watch?v=tWBojmBpS74) - How to optimize an Android audio app. (ADC '18)
Don Turner57be62b2019-11-04 12:52:42 +000037
Don Turner05323082020-04-23 12:18:11 +010038## Sample code and apps
39- Sample apps can be found in the [samples directory](samples).
Don Turner554400f2020-04-23 12:18:38 +010040- A complete "effects processor" app called FXLab can be found in the [apps/fxlab folder](apps/fxlab).
Don Turner3ef83c12021-02-26 09:38:33 +000041- Also check out the [Rhythm Game codelab](https://developer.android.com/codelabs/musicalgame-using-oboe?hl=en#0).
Don Turner219bd592017-10-09 15:43:03 +010042
Don Turner4b8e25c2018-05-23 15:45:56 +020043### Third party sample code
Don Turner7256bb22018-06-05 17:33:35 +010044- [Ableton Link integration demo](https://github.com/jbloit/AndroidLinkAudio) (author: jbloit)
Don Turner4b8e25c2018-05-23 15:45:56 +020045
Don Turner07927502017-10-17 18:48:59 +010046## Contributing
Don Turner1b3c4732017-10-18 18:50:03 +010047We would love to receive your pull requests. Before we can though, please read the [contributing](CONTRIBUTING.md) guidelines.
48
49## Version history
Don Turner797c2402019-01-21 10:10:22 +000050View the [releases page](../../releases).
gfanc351bd02018-06-11 11:25:36 -070051
52## License
53[LICENSE](LICENSE)
54