oboe
OpenFrameworks
Our great sponsors
oboe | OpenFrameworks | |
---|---|---|
17 | 43 | |
3,576 | 9,751 | |
1.0% | 0.7% | |
8.6 | 9.5 | |
8 days ago | 7 days ago | |
C++ | C++ | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
oboe
- Android low latency audio in 2023
-
Object-Oriented Programming in C (Quantum Leaps, LLC; April 2019) [pdf]
https://microsoft.github.io/microsoft-ui-xaml
> WinUI is powered by a highly optimized C++ core that delivers blistering performance, long battery life, and responsive interactivity that professional developers demand. Its lower system utilization allows it to run on a wider range of hardware, ensuring your sophisticated workloads run with ease.
Apparently Microsoft does care about OOP in C++.
As does Apple,
https://developer.apple.com/metal/
https://developer.apple.com/documentation/driverkit
And Google,
https://github.com/google/oboe
https://www.tensorflow.org/api_docs
Maybe modern C++ is safe from OOP, so lets look into ranges,
https://en.cppreference.com/w/cpp/ranges
So we have factories, adaptors, concepts (aka interfaces/traits in other languages), std::ranges::view_interface as base class mixin, all stuff I can find on the Gang of Four book.
-
Ask HN: What are some of must have skills for a Mobile App Developer in 2021?
Just getting back into Android dev myself. Rapid workflow stack: Jetpack Compose / Kotlin, Material Design UI kits and Stripe / Firebase Cloud Functions. The emphasis on being able to go from idea to release in the shortest time frame. Target being Fast Mobile Commerce
https://github.com/android/compose-samples
https://firebase.google.com/docs/use-cases/payments
Other than that I'm excited about next-gen low latency audio library Oboe and real-time physically based renderer Filament
https://github.com/google/oboe/tree/master/samples
https://github.com/google/filament/tree/main/samples
Best of Luck ;)
-
The current state of audio manipulation frameworks in Android
Google Oboe
-
An update on Android's audio latency
https://github.com/google/oboe/blob/master/apps/OboeTester/d...
We do not use the Larsen Effect any more because it was too sensitive to variations in gain. We now use a random encoded bit stream that sounds like a short noise burst. We can get a better correlation peak with that signal.
> Many of the latency measurements break the latency down between
I'm the author. My testing methodology was to run the round-trip latency test using OboeTester: https://github.com/google/oboe/tree/master/apps/OboeTester/d....
It's a simple test: produce a tone (either on built-in speaker or over wired headphones if using a loopback dongle), measure the time it takes for that tone to reach the audio input.
For devices which I didn't have access to (our team has a limited number of test devices) I used the figures from Superpowered, but with some assumptions/rules:
#1 If AAudio was available on the device I used the measurements from that rather than OpenSL ES
OpenFrameworks
-
Resolume
Not exactly VJ, but could be used for it. https://openframeworks.cc
- VVVV – A Hybrid Visual/Textual Development Environment
- Valve Says Counter-Strike 2 for macOS Not Happening, There Aren't Enough Players
-
UI framework with C++ simulation.
Have you come across openFrameworks (https://openframeworks.cc/) or Cinder (https://libcinder.org/)?
-
Looking for a C++ 2D/3D rendering engine/api.
Not sure it checks all your boxes, but check openFrameworks?
-
Nannou – An open-source creative-coding framework for Rust
I mean, https://www.libcinder.org and https://openframeworks.cc have been mainstays of the creative coding industry for a long time now. A Rust take on the problem shouldn't be too surprising.
OpenFrameworks[0] is quite popular for creative coding even though it's written in C++ - framework is actually pleasant to use. If you want to do some creative coding on both iOS and Android you don't have many options. If you want to use sensors (cameras, microphones, gyroscope, accelerometer, etc) and e.g. process video stream at 120fps you have even less choices.
Sadly OpenFrameworks development seems kind of stalled. Nannou + Rust could be a good or even better alternative:
1) painless cross-compilation to different platforms
2) plugins installation via cargo
3) more up-to-date plugins as tiny wrappers around CPAL [1] (audio I/O), nokhwa [2] (video i/o), opencv-rust[3] (video I/O and processing), rust-sdl2 [4](IMU sensors + game controllers), egui [5] (immediate mode gui + plotting)
4) better errors and more modern language
- Learning C++ for Multimedia and Audio programming
-
Launching glitchIO pocket glitch art app on iOS with oF
glitchiO is a piece of visual generative Pocket Art for mobile phones and tablets that explores the space inside randomness and glitch. It is inspired by the analogue VHS tape noise of damaged video cassettes and dirty playback heads on domestic VCRs. Reimagining this space for contemporary digital media and mobile phones glitchiO is a contemplation and treatise on what it is to hear machines speak in the interstitial spaces between human defined functions.Using touch gestures and accelerometer you can navigate the visual world of noise, glitch, randomness and higher stochastic functions. you can download it for free from the Apple app store here https://apps.apple.com/app/id1620340485you can find the source code using openFrameworks here on my github pages https://github.com/danbz/glitchiO glitchiO is crafted with pride using openFrameworks artists C++ toolkit. http://openframeworks.cc
-
Are there more elegant languages for generative art and creative coding?
How about https://openframeworks.cc/ in C++?
What are some alternatives?
Cinder - Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.
Qt - Qt Base (Core, Gui, Widgets, Network, ...)
JUCE - JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
processing - Source code for the Processing Core and Development Environment (PDE)
SFML - Simple and Fast Multimedia Library
Folly - An open-source C++ library developed and used at Facebook.
p5 - p5 is a simple package that provides primitives resembling the ones exposed by p5js.org
p5 - p5 is a Python package based on the core ideas of Processing.
MonoGame - One framework for creating powerful cross-platform games.
Boost - Super-project for modularized Boost
hypseus-singe - Hypseus is a SDL2 version of Daphne and Singe. Laserdisc game emulation.
raylib - A simple and easy-to-use library to enjoy videogames programming