Codec2
Codec2 , insan konuşmasının son derece düşük bit hızlarında anlaşılır bir şekilde iletilmesinde uzmanlaşmış ( patent -) ücretsiz, kayıplı bir ses codec bileşenidir . Codec, amatör radyoda ses sinyallerinin dar bantlı radyo kanalları üzerinden iletilmesi için oluşturuldu . Referans uygulama, GNU Kısıtlı Genel Kamu Lisansı'nın (LGPL) 2.1 sürümünün koşullarına tabidir .
Yöntemin açık spesifikasyonu, radyo amatörlerinin yasak olduğu AMBE veya MELP gibi önceden mevcut tescilli kodeklerin kullanımı yoluyla belirlenmemiş dijital içeriği zorunlu olarak iletmeden amatör radyo frekansları üzerinden dijital iletişim sağlar .
Codec2 zaten resmi olarak FreeSWITCH'e entegre edilmiştir ve Asterisk'e entegrasyon için bir yama mevcuttur .
özellikleri
Codec2, 3.200, 2.400, 1.600, 1.400, 1.300, 1.200, 700 veya 450 bps sabit bit hızı modları sunar. PCM verilerini 8 kHz örnekleme frekansıyla işler ve iletir . Ayrı (parametre) veri paketlerinin her biri 10 ila 20 (2.4 kBit / s) veya 40 (1.4 kBit / s) milisaniyeyi kapsar. Yazar, algoritmik gecikmeyi yaklaşık 100 milisaniyeye koyuyor. Ses kalitesi biraz sıradan altında hareket ediyor 2G - cep telefonları ve ambe o ile nispeten çok daha düşük bit hızında ölçmek için söylenebilir.
Referans uygulama olduğu programlanmış içinde C ve bugüne kadar olmadan yönetilen henüz kayar nokta aritmetik yöntemi kendisi bu gerektirmez rağmen,. Referans yazılım paketi ayrıca bir FDMDV yazılım modemi ve FLTK tabanlı bir grafik kullanıcı arayüzü içerir . Yazılım, Linux üzerinde geliştirilmiştir ve bir Linux sürümüne ek olarak, Cygwin kullanılarak oluşturulan bir Windows bağlantı noktası da sunulmaktadır.
Ana geliştirici Rowe, sürecini onlarca yıldır bilinen tekniklere dayandırarak geçerli patentlerden etkilenen algoritmalardan temelde kaçındı. Ancak, Ocak 2012'de linux.conf.au'da sunulmadan önce kapsamlı bir patent araştırması yapılmamıştı.
teknoloji
Yöntem , bir insan sesi modelini kullanarak parametrik ses kodlama araçlarıyla çalışır . Diğer şeylerin yanı sıra, bu 1980'lerin ortasında Robert J. McAulay ve Thomas F. Quatieri (MIT Lincoln Labs) tarafından gelişmelere kadar gider ve yakından bu ilişkilidir temel yöntemi olarak bir sinüs modeli kullanır çoklu bant uyarma kodekleri. Giriş sinyalinden, çizgi spektrum çiftlerini (bir tür LPC katsayısı), (temel) perdeyi, enerjiyi ve sinyalin seslendirmesini tanımlayan parametreler belirlenir ve nicelendirilir. Alıcı tarafında bundan bir PCM sinyali sentezlenir. Sinüzoidal model, aşırı ton frekanslarının modelindeki düzenliliklere (periyodiklik) dayanır ve sinüzoidleri belirli bir temel frekansta uyumlu bir şekilde katlar. Üst frekansların genlikleri, Doğrusal Öngörülü Kodlama (LPC) ile modellenmiştir.
hikaye
Önde gelen özgür yazılım savunucusu ve radyo amatörleri Bruce Perens , 5 kBit / s'den daha düşük bir ücretsiz konuşma kodekine olan ihtiyacı gördü. 2008'de, kendisini Speex'te Valin ile çeşitli vesilelerle çalışan ana geliştirici David Grant Rowe ile tanıştıran Jean-Marc Valin'e ( Speex , Opus ) başvurdu. Rowe aynı zamanda kendisi de bir radyo amatörüydü ( çağrı işareti VK5DGR) ve konuşma sinyalleri için kodekleri ve diğer sinyal işleme algoritmalarını oluşturma ve kullanma konusunda deneyime sahiptir. Diğer şeylerin yanı sıra, 1990'larda konuşma kodlama alanında doktora yaptı ve ilk uydu telefon sistemlerinden birinin ( Mobilesat ) kurulmasına dahil oldu .
Göreve ikna oldu ve 21 Ağustos 2009'da ilgili bir codec üzerinde çalışma kararını açıkladı. Doktora tezinden elde ettiği araştırma ve bulgular üzerine inşa etti. Ağustos 2010'da 0.1 alpha sürümünü yayınladı.
Sürüm 0.2, 2011'in sonlarına doğru piyasaya sürüldü ve 1.400 bit / s'lik bir mod sunuyor ve nicelemede önemli iyileştirmeler getiriyor.
Ocak 2012'de linux.conf.au'da Jean-Marc Valin, Rowe'un daha az aşina olduğu çizgi spektrum çiftlerinin nicemlemesini geliştirmeye yardımcı oldu. 2011/2012 kış ve ilkbaharında mevcut bit hızı modlarında yapılan birkaç değişikliğin ardından, Mayıs ayından bu yana 2.400, 1.400 ve 1.200 bit / s modları mevcuttur.
Temmuz 2018'de Erlangen-Nürnberg Üniversitesi'nde bir yüksek lisans tezi kapsamında geliştirilen 450 bit / s'lik bir mod yayınlandı. Vektör nicemlemesini ustaca eğiterek, veri hızı 700C modu prensibine dayalı olarak daha da azaltılabilir.