reporter looking for information on Satin and Lyra

154 views
Skip to first unread message

Stewart Wolpin

unread,
Sep 10, 2022, 8:24:45 AM9/10/22
to discuss-webrtc
Folks –

Sorry for the intrusion here. 

My name is Stewart Wolpin, a long-time consumer tech reporter/reviewer.

I'm doing some research on next-gen voice codecs and obviously want to know as much as I can about Microsoft Satin and Google Lyra, if anyone on this board can help.

I have two overarching questions about these codecs, if any of you know, and their smartphone compatibility and implementation. (And forgive the potentially nonsensical nature of these questions – I am not that technical!)

1. Do either of these codecs need to be included in either iOS or Android in order for them to be activated when using compatible apps – i.e. Microsoft Teams, Skype, or Google Meet – on a smartphone? Or, is the codec included within these Satin- or Lyra-compatible apps within iOS or Android with no OS or chip-based Satin or Lyra codec necessary? In other words, how are these codecs activated/implemented on a smartphone since they are not supported by iOS or Android or by WebRTC? 

2. How likely is it that Satin or Lyra is eventually, sooner or later, included in WebRTC or either iOS or Android? Or, is it that if/when Satin or Lyra is implemented within WebRTC that one or the other will automatically be included in iOS and Android? Neither Satin nor Lyra would be implemented within iOS or Android separately without WebRTC, right?

I'm happy to move this conversation to email if appropriate. I just don't know if it's allowed to list email addresses here.

Thanks in advance if anyone can help!

Stewart

www.stewartwolpin.com


Roman Shpount

unread,
Sep 10, 2022, 10:37:15 PM9/10/22
to discuss-webrtc
1. No, neither of those codecs need to be included as part of the operating system, such as iOS or Android. This is just another library that application developers will use when building their own implementation of conferencing clients. Considering that these are audio codecs, there is little benefit of hardware optimization or making them part of the operating system. In fact, there are existing smartphone applications (Google Duo and Teams) that use these codecs

2. It is unlikely that WebRTC standard will include either of those codecs in the near future. These codecs will need to go through a standardization process and review, and none of these processes have even started. These codecs are essentially experiments. Browser vendors, however, can include additional codecs without going through the standardization process.

3. There is no reason why a library implementing Satin or Lyra has to be shipped with a WebRTC release. OS vendors, such as Apple or Google, or even phone vendors, can include the libraries implementing these codecs in their OS distribution at any time.

To summarize, these codecs are just libraries. They can be distributed as a part of the application or by the OS vendor, and there is nothing special about them. Custom audio codecs are being used all the time with smartphone applications.

Stewart Wolpin

unread,
Sep 11, 2022, 7:36:27 AM9/11/22
to discuss...@googlegroups.com
Roman –

Thank u SO much for ur answers!

One quick follow up. If, by chance, either Apple or Google would want to include either codec into iOS or Android, or there was some willingness to consider including them in WebRTC at some future point, do you have any idea how long either process might take?

For instance, is there any chance of either of these occurrences in, say, the next five years?

I assume from ur response “no” is the answer to my second question. 

Thanks again!

Stewart


Sent from my iPhone 12 Pro Max

On Sep 10, 2022, at 10:37 PM, Roman Shpount <rshp...@gmail.com> wrote:

1. No, neither of those codecs need to be included as part of the operating system, such as iOS or Android. This is just another library that application developers will use when building their own implementation of conferencing clients. Considering that these are audio codecs, there is little benefit of hardware optimization or making them part of the operating system. In fact, there are existing smartphone applications (Google Duo and Teams) that use these codecs
--

---
You received this message because you are subscribed to a topic in the Google Groups "discuss-webrtc" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/discuss-webrtc/-jLeZAQoSP8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/bc6a47b2-9528-4ddc-82bd-ef6f0937fa27n%40googlegroups.com.

Philipp Hancke

unread,
Sep 11, 2022, 10:37:03 AM9/11/22
to discuss...@googlegroups.com
From what is being said in
adding Lyra to the C++ WebRTC library is fairly easy and it is already integrated into Google Duo.
It has not been added to the public version of libwebrtc (which is fully governed by Google) since.

https://bloggeek.me/lyra-satin-webrtc-voice-codecs/ is still quite a good summary of the whole topic.

You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/ED1BDE2D-6A53-49B8-8D06-FC2B6A475C29%40gmail.com.

Stewart Wolpin

unread,
Sep 11, 2022, 11:14:10 AM9/11/22
to discuss...@googlegroups.com
Thanks much, Philipp!

Stewart


Sent from my iPhone 12 Pro Max

On Sep 11, 2022, at 10:37 AM, 'Philipp Hancke' via discuss-webrtc <discuss...@googlegroups.com> wrote:



Roman Shpount

unread,
Sep 11, 2022, 6:06:32 PM9/11/22
to discuss-webrtc
Stewart,

It would help to clarify what you mean by including in WebRTC. WebRTC is one of three things:

1. It is the libwebrtc library. As Philipp has already mentioned, it is relatively trivial to integrate new codecs with this library. Including a new codec in the standard distribution of this library is something that Google can decide at any point, or they can accept a contribution from one of the third parties. This does not take a lot of effort or time. As it stands, this library includes audio (ISAC) and video (VP9) codecs that are not part of the WebRTC standard.

2. It is the browser implementation. For instance, the VP9 video codec is not part of the WebRTC standard but is included in multiple browser implementations. If there is a compelling reason to do so (like including Satin for support of Teams in Edge browser or Lyra to support Google Duo). In any case, it is plausible for browser vendors to do so with reasonably short notice.

3. Including codec in WebRTC standard. This is the least likely to happen. It will require an effort to standardize the audio codec first and then update the WebRTC codecs in IETF and W3C. This is a substantial effort with minimal gain, which is unlikely in the next five years. Furthermore, there is an effort to allow the implementation of browser codecs using WebAssembly, which will make standard codec support less critical.

One scenario that I do see plausible is the future development of Opus. Opus codec is a combination of two codecs, SILK, and CELT. SILK is a low-bitrate codec that can encode speech well. CELT works a lot better with high-fidelity audio or music. The combination gives a codec that performs well across the entire range of different signals. SILK is based on what traditionally is the basis for low-bitrate voice codecs -- LPC. Satin and Lyra showed a better way to encode voice signals using pre-trained ML. It would make sense to have a joint effort across multiple companies that creates a new codec (let's call it Opus2), which is based on an AI-based low-bitrate codec instead of SILK and CELT for high fidelity. This codec can be standardized and replace Opus. The primary purpose of this effort would be to promote a better quality audio codec across the industry. Having more people involved and reviewing the codec would also likely produce better results that work well across different languages or implementation scenarios. If this happens, this codec has a good chance of becoming part of the WebRTC standard. It can also give Google a codec that is more competitive with Satin.

Best Regards,

Stewart Wolpin

unread,
Sep 11, 2022, 6:22:55 PM9/11/22
to discuss...@googlegroups.com
Roman –

Thanks again! This is incredibly helpful, especially the defining exactly what WebRTC is (I was never clear on this) and the Opus2 bit!

Stewart


Reply all
Reply to author
Forward
0 new messages