hudamalmsteen / csipsimple

Automatically exported from code.google.com/p/csipsimple
0 stars 0 forks source link

SILK support #230

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Since sipdroid has support for SILK (the Skype codec), I think it's also 
beneficial for CSipSimple to have support for SILK. If SILK license is 
problematic, we can have SILK turned off by on the binary distribution, but if 
someone wants it, he can have it compiled (aka Freetype/Subpixel approach).

Original issue reported on code.google.com by huan...@gmail.com on 20 Sep 2010 at 11:06

GoogleCodeExporter commented 9 years ago
Why not.
However licensing issue is still a big deal to solve.
It's already a blocking point for g729 implementation (which is functional but 
I can't commit yet until I found a clean way to distribute it without being 
out-law).

So as for silk, there is implementation and this licensing issue to solve. So 
accepted issue but as a very low priority for me. If somebody want to implement 
it, feel free to contribute however.

Original comment by r3gis...@gmail.com on 21 Sep 2010 at 7:33

GoogleCodeExporter commented 9 years ago
I'd like to see the proprietary codecs just die. :-)

Original comment by dc3de...@gmail.com on 21 Sep 2010 at 3:32

GoogleCodeExporter commented 9 years ago
I'd like to see the proprietary codecs just die. :-)

Original comment by dc3de...@gmail.com on 21 Sep 2010 at 3:32

GoogleCodeExporter commented 9 years ago
As much as I dislike proprietary codecs, I think it's also very important to 
have a high-quality product: in this case a product that would deliver superior 
sound quality with low bandwidth and processing power requirements.

Original comment by huan...@gmail.com on 21 Sep 2010 at 4:53

GoogleCodeExporter commented 9 years ago
Looks like the current distribution of SILK is released under the BSD license. 
I don't know why there is a inconsistency between the sourcecode and the 
information on the website.

This is the part that I found on every file in the sourcecode package 
downloaded from the Skype developers website.

/***********************************************************************
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.
***********************************************************************/

Original comment by huan...@gmail.com on 27 Sep 2010 at 7:42

GoogleCodeExporter commented 9 years ago
hmmm, interesting :-) 
skype and BSD license ... it can't be truth :-) 

Original comment by lubomir....@gmail.com on 28 Sep 2010 at 4:44

GoogleCodeExporter commented 9 years ago
I've started the task.

SILK SDK builds fine on android (so good point)
I've to code the glue between silk and pjsip but seems not so hard to do. 
However it's not high priority so I do that only when I want to code in C 
instead of java ;) So it may took time, but I'm about to recruiting a friend to 
do the task :) -- if anybody is interested anyway, he will be welcome.

I've followed the instruction to get their license agreement on the skype 
website... Still no response... (was made 2 or 3 weeks ago but well not 
critical since nothing is working yet). 
Seems to be the good way to obtain a distribution and developing license. I 
prefer to get a clear response from them about what I'm allowed to do with 
their codec...

Original comment by r3gis...@gmail.com on 15 Nov 2010 at 12:41

GoogleCodeExporter commented 9 years ago
super :)
good luck r3gis.3R!

Original comment by lubomir....@gmail.com on 15 Nov 2010 at 12:50

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Good news. And thank you Regis for working on it. You're incredible.

As it is stated clearly on their blog:

I’m speaking at eComm today, and have some very special news to bring our 
developer community – we’re making the SILK speech codec available for *a 
royalty free license* by third-party software and hardware developers soon.

http://blogs.skype.com/en/2009/03/silk_now_available_for_free.html

Given that... I would say it's pretty safe to incorporate SILK into cSipSimple 
now (both the code and their announcement is in agreement that SILK is free, so 
why not...). 

I think their licensing team/lawyers are just incredibly unresponsive to 
individual developers, or just don't care... Same with me -- I requested info 
from them for 2 months. No response.

Original comment by huan...@gmail.com on 16 Nov 2010 at 4:35

GoogleCodeExporter commented 9 years ago
Royalty free doesn't necessarily mean that it is compatible with the GPL 
license.

GPL license ensure that the user can execute without restiction any condition 
the software, that he can study and modify the software, that he can copy and 
redistribute the software and finally improve and redistribute modifications.

So free and GPL are two different things and can be incompatible. For example 
even if free GPL apps can't be distributed on the apple app store cause the app 
store break the liberty to redistribute the app. Also, some other opensource 
software are under an opensource license that is not compatible with GPL and 
cannot be included inside GPL project. (Some can be re-licensed to be 
compatible, and others licenses need to add some exceptions to the GPL to be 
able to distribute/include their source code).
So really, royalty free is not enough to ensure me that what I'll do is allowed 
by their license. 

> I think their licensing team/lawyers are just incredibly unresponsive to 
individual developers

Yes you're probably right, but once I've nothing functional not so urgent... if 
once I'll get something I've still no response I'll do some noise to get a 
response ;)

Original comment by r3gis...@gmail.com on 16 Nov 2010 at 7:32

GoogleCodeExporter commented 9 years ago
Good news guys.

I've started to work (focusing on it) on the integration of the codec 8 hour 
ago ... and ... first call using silk 16kHz has just succeed :).

Next steps :
- PLC (packet loss cancellation ~ not sure if that's not already done)
- 8kHz and 32kHz support

:D

Original comment by r3gis...@gmail.com on 27 Dec 2010 at 9:53

GoogleCodeExporter commented 9 years ago
You have mad skillz.

Congratulations and keep us updated.

Original comment by huan...@gmail.com on 28 Dec 2010 at 1:51

GoogleCodeExporter commented 9 years ago
Thanks! Good news :-) 

Original comment by lubomir....@gmail.com on 28 Dec 2010 at 6:31

GoogleCodeExporter commented 9 years ago
YEAH! It's great news for all of us CSIPSimple users! Please keep us posted!

Original comment by yasu...@gmail.com on 28 Dec 2010 at 3:43

GoogleCodeExporter commented 9 years ago
Commit done in r543. Next nightly build will contain it :)

For now very first implementation. 
No packet lost cancellation, no voice auto detection (I don't think so maybe 
already done by silk itself but I'm not sure at all).

But 8kHz, 16kHz and 24kHz support :). Tested between two CSipSimple directly 
and between CSipSimple and Freeswitch implementation. Sounds good :).
As freeswitch doesn't implement over clocking on the codec I'll do not on my 
side. It's probably useless (internal SILK only support up to 24kHz but 
announce that it can goes up to 32kHz and has its own resampler.... I guess 
useless since pjmedia already resample if needed).

Original comment by r3gis...@gmail.com on 29 Dec 2010 at 9:29

GoogleCodeExporter commented 9 years ago
To clean up the issue list I mark as fixed cause almost everything is done. 
I'll treat ec and plc later if required.

Original comment by r3gis...@gmail.com on 30 Jan 2011 at 10:29

GoogleCodeExporter commented 9 years ago
Hi guys, I am new to SIP and SILK... would you recommend me any SIP service 
which uses SILK or HD Voice and is definitely better sounding quality than 
Skype? Preferably with a client that works on Android, iPhone and Symbian... I 
am currently using Callcentric in Singapore and it is FAR from delivering the 
type of voice quality satisfaction that I get from Skype and SkypeOut.

Thanks in advance!!

Original comment by ryke...@gmail.com on 4 Feb 2011 at 10:10