Google showcased Lyra audio codec for high-quality voice calls at a low 3 kbps bitrate last February. But at the time, it was only for our eyes to see, or rather our ears to listen to, as the company did not release any software, but only audio samples with excellent quality compared to Speex @ 3 kbps or Opus @ 6 kbps.
Google has now released the Lyra source code, written in C++ for optimal speed, efficiency, and interoperability and relying on both the Bazel build framework and the GoogleTest framework.
The beta release provides the tools and APIs needed for Lyra encoding and decoding, and is currently optimized for the 64-bit Arm Android platform, but can also be run in Linux x86 64-bit.
There is also an example app – lyra_android_example – that integrates with the Android NDK and offers a minimal GUI with two buttons to either record from the microphone and encode/decode with Lyra, or runs a benchmark that encodes and decodes in the background and prints the timings to logcat.
The Lyra source code is available on Github together with instructions to build the code for Linux and Android, and released under the Apache license, except for a math kernel, for which a shared library (libsparse_inference.so) is provided until Google implements a fully open solution.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
I hope that radio amateurs adopt this to replace the proprietary and controversial commercial codecs.
For that purpose, there is Codec2 already, mature enough to be recommended where Opus is insufficient.
While I agree that the proprietary codec is a show stopper for me, I also think Codec2 is already filled that gap in the open Amateur radio world.
Somebody asked about Lyra for amateur radio, and it may be too computationally complex, so Codec2 is still be preferred codec.