Feature request: Add support for slin (16-bit Signed Linear PCM) codec
I am working on application that connects call to various AI real time voice bots (OpenAI, Google, ...). Currently supported codecs represent an issue because some of the voice bot providers don't accept those codecs, but they all do accept 16bit PCM at various sample rates.
Hi @MirzaBegunic . Welcome. This systems I am aware and it is something I already know it is built on top of this lib.
Library supports audio encoding/decoding with streaming. This may not be obvious but checkout more audio package. I understand docs are lacking, but maybe some quick things I could share.
Anyway, It would be great to understand your scenario and see why codecs are issue as this systems you need to translate from SIP/VOIP to their protocols. In this case you have more audio side todo. Transcoding is what you probably need and for 16bit this is not issue. Of course. I already know we are lacking more features for audio processing, but it would be integrated at some point.
It would be good to share more details what is blocking you. You can use my personal email if public sharing is issue.
Nice project you have there and good that you are doing this on full compile. ;)
Hi @MirzaBegunic . Not sure is there still interest but I started to look more into this Lib should support custom codecs definition as well. Example for L16
l16Codec := media.Codec{
Name: "L16",
PayloadType: 98,
SampleRate: 8000,
SampleDur: 20 * time.Millisecond,
NumChannels: 1,
}
this can be passed as MediaConfig on diago client/server setup. It will generate SDP from this codec.
Where things could not yet work is playback or some internals, but there should be no issue with streaming.