Gerry | aad72a1 | 2021-02-03 12:16:05 -0800 | [diff] [blame] | 1 | # Oboe [](https://github.com/google/oboe/actions) |
Don Turner | b268bab | 2018-10-16 17:17:54 +0100 | [diff] [blame] | 2 | |
Don Turner | 8184e9a | 2018-11-12 17:30:34 +0000 | [diff] [blame] | 3 | [](https://www.youtube.com/watch?v=csfHAbr5ilI&list=PLWz5rJ2EKKc_duWv9IPNvx9YBudNMmLSa) |
Don Turner | b268bab | 2018-10-16 17:17:54 +0100 | [diff] [blame] | 4 | |
Don Turner | 1b3c473 | 2017-10-18 18:50:03 +0100 | [diff] [blame] | 5 | Oboe 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 Turner | ca6f91a | 2017-09-05 14:52:39 +0100 | [diff] [blame] | 6 | |
Don Turner | 0792750 | 2017-10-17 18:48:59 +0100 | [diff] [blame] | 7 | ## Features |
| 8 | - Compatible with API 16 onwards - runs on 99% of Android devices |
Don Turner | 025a990 | 2018-02-06 21:39:37 +0000 | [diff] [blame] | 9 | - 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 Turner | 0792750 | 2017-10-17 18:48:59 +0100 | [diff] [blame] | 10 | - Automatic latency tuning |
| 11 | - Modern C++ allowing you to write clean, elegant code |
Phil Burk | 3c80d09 | 2020-08-12 12:17:11 -0700 | [diff] [blame] | 12 | - Workarounds for some known issues |
Don Turner | e300350 | 2021-05-19 11:17:08 +0100 | [diff] [blame] | 13 | - [Used by popular apps and frameworks](https://github.com/google/oboe/wiki/AppsUsingOboe) |
Don Turner | ca6f91a | 2017-09-05 14:52:39 +0100 | [diff] [blame] | 14 | |
Don Turner | ae12ad2 | 2020-11-25 14:00:37 +0000 | [diff] [blame] | 15 | ## Documentation |
Don Turner | 902e42a | 2018-06-13 16:42:03 +0100 | [diff] [blame] | 16 | - [Getting Started Guide](docs/GettingStarted.md) |
| 17 | - [Full Guide to Oboe](docs/FullGuide.md) |
Robert Wu | 5dd6a7d | 2022-07-12 14:26:17 -0700 | [diff] [blame] | 18 | - [API reference](https://google.github.io/oboe) |
Phil Burk | c6808e6 | 2020-01-03 12:24:20 -0800 | [diff] [blame] | 19 | - [Tech Notes](docs/notes/) |
Phil Burk | 15efeab | 2018-12-04 07:17:40 -0800 | [diff] [blame] | 20 | - [History of Audio features/bugs by Android version](docs/AndroidAudioHistory.md) |
Don Turner | ae12ad2 | 2020-11-25 14:00:37 +0000 | [diff] [blame] | 21 | - [Migration guide for apps using OpenSL ES](docs/OpenSLESMigration.md) |
Phil Burk | 15efeab | 2018-12-04 07:17:40 -0800 | [diff] [blame] | 22 | - [Frequently Asked Questions](docs/FAQ.md) (FAQ) |
Phil Burk | c6808e6 | 2020-01-03 12:24:20 -0800 | [diff] [blame] | 23 | - [Our roadmap](https://github.com/google/oboe/milestones) - Vote on a feature/issue by adding a thumbs up to the first comment. |
Phil Burk | b40a8fe | 2020-02-11 07:33:14 -0800 | [diff] [blame] | 24 | |
Phil Burk | 9e3ad32 | 2021-02-01 13:56:58 -0800 | [diff] [blame] | 25 | ### Community |
| 26 | - Reddit: [r/androidaudiodev](https://www.reddit.com/r/androidaudiodev/) |
| 27 | - StackOverflow: [#oboe](https://stackoverflow.com/questions/tagged/oboe) |
| 28 | |
Phil Burk | b40a8fe | 2020-02-11 07:33:14 -0800 | [diff] [blame] | 29 | ## Testing |
Phil Burk | 8ff2890 | 2022-05-13 17:23:50 -0700 | [diff] [blame] | 30 | - [**OboeTester** app for measuring latency, glitches, etc.](apps/OboeTester/docs) |
| 31 | - [Oboe unit tests](tests) |
Don Turner | ca6f91a | 2017-09-05 14:52:39 +0100 | [diff] [blame] | 32 | |
Don Turner | 57be62b | 2019-11-04 12:52:42 +0000 | [diff] [blame] | 33 | ## Videos |
| 34 | - [Getting started with Oboe](https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_duWv9IPNvx9YBudNMmLSa) |
Don Turner | d23f7a4 | 2019-11-04 12:53:11 +0000 | [diff] [blame] | 35 | - [Low Latency Audio - Because Your Ears Are Worth It](https://www.youtube.com/watch?v=8vOf_fDtur4) (Android Dev Summit '18) |
Phil Burk | 89ed281 | 2019-12-17 07:09:25 -0800 | [diff] [blame] | 36 | - [Winning on Android](https://www.youtube.com/watch?v=tWBojmBpS74) - How to optimize an Android audio app. (ADC '18) |
Don Turner | 57be62b | 2019-11-04 12:52:42 +0000 | [diff] [blame] | 37 | |
Don Turner | 0532308 | 2020-04-23 12:18:11 +0100 | [diff] [blame] | 38 | ## Sample code and apps |
| 39 | - Sample apps can be found in the [samples directory](samples). |
Don Turner | 554400f | 2020-04-23 12:18:38 +0100 | [diff] [blame] | 40 | - A complete "effects processor" app called FXLab can be found in the [apps/fxlab folder](apps/fxlab). |
Don Turner | 3ef83c1 | 2021-02-26 09:38:33 +0000 | [diff] [blame] | 41 | - Also check out the [Rhythm Game codelab](https://developer.android.com/codelabs/musicalgame-using-oboe?hl=en#0). |
Don Turner | 219bd59 | 2017-10-09 15:43:03 +0100 | [diff] [blame] | 42 | |
Don Turner | 4b8e25c | 2018-05-23 15:45:56 +0200 | [diff] [blame] | 43 | ### Third party sample code |
Don Turner | 7256bb2 | 2018-06-05 17:33:35 +0100 | [diff] [blame] | 44 | - [Ableton Link integration demo](https://github.com/jbloit/AndroidLinkAudio) (author: jbloit) |
Don Turner | 4b8e25c | 2018-05-23 15:45:56 +0200 | [diff] [blame] | 45 | |
Don Turner | 0792750 | 2017-10-17 18:48:59 +0100 | [diff] [blame] | 46 | ## Contributing |
Don Turner | 1b3c473 | 2017-10-18 18:50:03 +0100 | [diff] [blame] | 47 | We would love to receive your pull requests. Before we can though, please read the [contributing](CONTRIBUTING.md) guidelines. |
| 48 | |
| 49 | ## Version history |
Don Turner | 797c240 | 2019-01-21 10:10:22 +0000 | [diff] [blame] | 50 | View the [releases page](../../releases). |
gfan | c351bd0 | 2018-06-11 11:25:36 -0700 | [diff] [blame] | 51 | |
| 52 | ## License |
| 53 | [LICENSE](LICENSE) |
| 54 | |