Skype releases source code for SILK super wideband audio codec – the details…
March 11th, 2010 by Dan York
Want to implement Skype’s SILK super wideband audio codec? You know, the software that makes Skype’s audio calls sound so rich and like you are “right there”?
If so, just check out Appendix A of this massive Internet-Draft:
Coming in at 566 pages, this I-D is what the word “ginormous” was meant for… but if you look closer, you’ll see that the first 26 pages describe the SILK codec and provide the usual IETF language. The remaining 540 pages are the C source code for a reference implementation of SILK!
This is part of the work of the IETF’s “CODEC Working Group” (see “MOVING INTO THE IETF” below) to standardize on a new wideband audio codec and essentially upgrade the audio quality of the Internet. Let me lay out some background…
LAUNCHING SILK
Last year at eComm 2009, Skype’s Jonathan Christensen announced the SILK codec and that it was being released for free licensing to third-party software and hard developers. Skype made available a developer site focused on the codec:
Christensen trumpeted these items as the strengths of SILK:
- improving audio bandwidth going from 8 kHz to 12 kHz, meaning that a SILK conversation sounds like you are in the same room as the person you are speaking with
- providing real-time bandwidth scalability to deal with degraded network conditions
- balancing codec optimization between voice, music and background noise, each of which can have an impact on the overall user experience
- delivering a robust solution that delivers a more consistent audio experience, regardless of network conditions and an individual user’s voice signature
You can watch his eComm announcement here:
or view his slides here:
As a heavy user of Skype, I can personally attest to the fact that the SILK codec, available in all the latest versions of Skype, really does provide an outstanding audio experience.
MOVING INTO THE IETF
With the SILK codec available, folks at Skype started to look at how the codec could be made an open standard so that more folks would implement it. In May 2009, Skype’s Jason Fischl started a discussion around forming a new IETF working group to produce a standardized wideband audio codec. Much discussion and several meetings followed that did lead to the creation of the CODEC Working Group within the IETF. The group, created in January 2010 and co-chaired by Peter Saint-Andre and Michael Knappe, is open to the public – anyone can join the mailing list – and the problem statement is very clear:
According to reports from developers of Internet audio applications and operators of Internet audio services, there are no standardized, high-quality audio codecs that meet all of the following three conditions:
1. Are optimized for use in interactive Internet applications.
2. Are published by a recognized standards development organization (SDO) and therefore subject to clear change control.
3. Can be widely implemented and easily distributed among application developers, service operators, and end users.
There exist codecs that provide high quality encoding of audio information, but that are not optimized for the actual conditions of the Internet; according to reports, this mismatch between design and deployment has hindered adoption of such codecs in interactive Internet applications.
There exist codecs that can be widely implemented and easily distributed, but that are not standardized through any SDO; according to reports, this lack of standardization and clear change control has hindered adoption of such codecs in interactive Internet applications.
There exist codecs that are standardized, but that cannot be widely implemented and easily distributed; according to reports, the presence of various usage restrictions (e.g., in the form of requirements to pay royalty fees, obtain a license, enter into a business agreement, or meet other special conditions imposed by a patent holder) has hindered adoptions of such codecs in interactive Internet applications.
According to application developers and service operators, an audio codec that meets all three of these would: (1) enable protocol designers to more easily specify a mandatory-to-implement codec in their protocols and thus improve interoperability; (2) enable developers to more easily easily build innovative, interactive applications for the Internet; (3) enable service operators to more easily deploy affordable, high-quality audio services on the Internet; and (4) enable end users of Internet applications and services to enjoy an improved user experience.
Now, here is a critical point:
The CODEC Working Group is *NOT* just about Skype’s SILK codec!
The CODEC WG is working to identify and standardize a wideband audio codec that could be widely used over the Internet. Skype’s SILK codec is one of the potential codec candidates, as shown on this matrix of codecs from the CODEC WG. Another strong contender is the CELT codec from the Xiph.org team. There is a Internet-Draft out now for discussion that specifies the requirements for a standardized codec:
The goal of the CODEC WG is to either identify an existing codec that meets those requirements or create a new codec. Either way, the goal is to have a standardized high quality audio codec that we can all use.
For those interested, the CODEC working group will be holding its first official face-to-face meeting at IETF 77 in Ananheim, California, on March 22nd. A draft agenda has been posted.
SKYPE’S SILK SOURCE CODE
So back on Monday, March 8, a new version of the SILK Internet-Draft was published and announced on the codec mailing list. As the draft notes:
The source code for the reference implementation of the SILK codec is provided in Appendix A. This fixed-point source code is the normative specification of the codec. The corresponding text description in this document is provided for informative purposes. For more information about SILK, the patent licensing terms, and to download the source code in a convenient format, please visit [silk-website]. For any additional questions, please send an email to SILKSupport@skype.net.
This particular phrase is interesting and amusing to me:
This fixed-point source code is the normative specification of the codec.
I translate that as “the source code is the specification”.
If you do read the source code, you see Skype’s license on the code is rather open:
Copyright (c) 2006-2010, Skype Limited. All rights reserved. Redistribution and use in source and binary forms, with or without modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - Neither the name of Skype Limited, nor the names of specific contributors, may be used to endorse or promote products derived from this software without specific prior written permission. NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Essentially it is a Skype version of the permissive “Simplified BSD License“, which I would summarize as a non-lawyer as essentially “keep the copyrights intact, don’t use Skype’s name for endorsement, and Skype is in no way responsible if bad things happen from using this code”.
Still to be seen is if there are any additional licensing terms from Skype, but overall this is a great step forward for those of us who want to see better overall audio quality on the Internet. Obviously it’s in Skype’s interest to do this so that the CODEC WG might consider SILK as the codec to standardize on versus the others or creating a new one… but still… it’s great to see. What do you all think?
Related posts:
- P2P SIP – an effort to make a open standards/SIP version of Skype?
- Skype announces “Skype For SIP” to provide SIP connectivity to premise systems
- Skype imports some SIP DNA by hiring CounterPath CTO Jason Fischl
- How to participate in IETF-71 remotely through real-time audio and IM groupchat
- Guest post: David Bryan responds on P2P, P2PSIP and Skype
Want to learn how Voxeo can help unlock your communications and deliver
a better customer experience?
Please contact us!
If you found this post interesting or helpful, please consider either
subscribing via RSS, becoming
a fan on Facebook, or
following us on Twitter.
RSS Feed





March 11th, 2010 at 10:19 am
Speaking of Standards – Skype releases source code for SILK super wideband audio codec – the details… http://bit.ly/csGCku
This comment was originally posted on Twitter
March 11th, 2010 at 10:20 am
Important HD audio news – RT @voxeo: Skype releases source code for SILK super wideband audio codec – the details… http://bit.ly/csGCku
This comment was originally posted on Twitter
March 11th, 2010 at 10:21 am
@techmeme tip Skype releases source code for SILK super wideband audio codec – the details… http://bit.ly/csGCku
This comment was originally posted on Twitter
March 11th, 2010 at 10:22 am
RT @danyork: Important HD audio news -Skype releases source code for SILK super wideband audio codec – the details… http://bit.ly/csGCku
This comment was originally posted on Twitter
March 11th, 2010 at 10:25 am
RT @DaveMIchels: RT @danyork: Important HD audio news -Skype releases source code for SILK super wideband audio codec – the details… http://bit.ly/csGCku
This comment was originally posted on Twitter
March 11th, 2010 at 10:33 am
RT @voxeo: Speaking of Standards – Skype releases source code for SILK super wideband audio codec – the details… http://bit.ly/csGCku
This comment was originally posted on Twitter
March 11th, 2010 at 10:43 am
RT @voxeo: Speaking of Standards – Skype releases source code for SILK super wideband audio codec – the details… http://bit.ly/csGCku
This comment was originally posted on Twitter
March 11th, 2010 at 12:40 pm
[...] be widely used across IP-based conversations. In a “Setting the Standards” post earlier today, Skype releases source code for SILK super wideband audio codec – the details…, Voxeo’s Dan York has provided an excellent detailed background, including both the political and [...]
March 11th, 2010 at 3:51 pm
SILK represents Skype’s mindset in code form. It differs from most codecs in that it can dynamically adapt to the network conditions, offering the user the best possible audio experience with the available (peer-to-peer) connection. More traditional codecs (g722 for example) take a more TDM centric view – requiring a fixed amount of bandwidth and little or no packet loss.
Anything that helps spread Skype’s mindset at the expense of the PSTN/TDM view is good for Skype.
This comment was originally posted on Skype Journal
March 11th, 2010 at 5:59 pm
RT @voxeo: Speaking of Standards – Skype releases source code for SILK super wideband audio codec – the details… http://bit.ly/csGCku
This comment was originally posted on Twitter
March 11th, 2010 at 11:50 pm
[...] York has some excellent coverage including a good backgrounder on the matter. Jim Courtney has also posted something [...]
March 14th, 2010 at 4:55 pm
RT @danyork: Important HD audio news – RT @voxeo: Skype releases source code for SILK super wideband audio codec – the details… http://bit.ly/csGCku
This comment was originally posted on Twitter
March 15th, 2010 at 4:30 pm
Skype releases SILK audio codec under a simplified BSD license: http://tinyurl.com/ycr2gwp -> https://developer.skype.com/silk
This comment was originally posted on Twitter
March 29th, 2010 at 4:34 pm
[...] York has some excellent coverage including a good general backgrounder on the matter. Jim Courtney has also posted something interesting, as has Phil Wolff of Skype [...]
May 18th, 2010 at 9:29 am
Google buys GIPS for $68 million – to take on Skype? Apple? Microsoft?…
The big news out this morning was that Google is acquiring Global IP Solutions (GIPS) for $68 million USD. GIPS may not be a familiar name to many folks, but for us in the communications / telephony space, they are……
May 19th, 2010 at 7:01 am
[...] Now, there is work within the IETF to create a standard wideband codec (and as I wrote earlier, Skype is involved with this effort) but that may take some time and the outcome is not known right [...]
July 10th, 2010 at 4:02 pm
[...] York has some excellent coverage including a good general backgrounder on the matter. Jim Courtney has also posted something interesting, as has Phil Wolff of Skype [...]