कोडेक 2
Developer(s) | David Grant Rowe |
---|---|
Initial release | August 25, 2010 |
Stable release | 1.2.0
/ June 24, 2023 |
Repository | github |
Written in | C99 |
Platform | Cross-platform |
Type | Audio codec |
License | GNU LGPL, v2.1 |
Website | www |
कोडेक 2 एक कम-बिटरेट स्पीच ऑडियो कोडेक (भाषण कोडिंग ) है जो पेटेंट मुक्त और खुला स्रोत सॉफ्टवेयर है।[1] कोडेक 2 sinusoidal कोडिंग का उपयोग करके भाषण को संपीड़ित करता है, जो मानव भाषण के लिए विशेषीकृत विधि है। 3200 से 450 बिट/सेकेंड की बिट दरें सफलतापूर्वक बनाई गई हैं। कोडेक 2 को शौकिया रेडियो और अन्य उच्च संपीड़न आवाज अनुप्रयोगों के लिए उपयोग करने के लिए डिज़ाइन किया गया था।
अवलोकन
कोडेक को डेविड ग्रांट रोवे द्वारा अन्य शोधकर्ताओं (उदाहरण के लिए, ओपस (ऑडियो प्रारूप) से जीन-मार्क वेलिन) के समर्थन और सहयोग से विकसित किया गया था।[2] कोडेक 2 में 3200, 2400, 1600, 1400, 1300, 1200, 700 और 450 बिट/एस कोडेक मोड शामिल हैं। यह अधिकांश अन्य निम्न-बिटरेट वाक् कोडिंग से बेहतर प्रदर्शन करता है। उदाहरण के लिए, यह समान गुणवत्ता के साथ भाषण को एन्कोड करने के लिए उन्नत मल्टी-बैंड उत्तेजना के आधे बैंडविड्थ का उपयोग करता है। स्पीच कोडेक 16-बिट पल्स कोड मॉडुलेशन सैंपल ऑडियो का उपयोग करता है, और पैक्ड डिजिटल बाइट्स आउटपुट करता है। जब पैक्ड डिजिटल बाइट्स भेजे जाते हैं, तो यह पीसीएम सैंपल ऑडियो आउटपुट करता है। ऑडियो नमूना दर 8 kHz पर तय की गई है।
संदर्भ कार्यान्वयन खुला स्रोत है और GitHub रिपॉजिटरी में निःशुल्क उपलब्ध है।[3] स्रोत कोड जीएनयू लेसर जनरल पब्लिक लाइसेंस (एलजीपीएल) के संस्करण 2.1 की शर्तों के तहत जारी किया गया है।[4] इसे C (प्रोग्रामिंग भाषा) में प्रोग्राम किया गया है और वर्तमान स्रोत कोड के लिए फ़्लोटिंग-पॉइंट अंकगणित की आवश्यकता होती है, हालाँकि एल्गोरिथ्म को स्वयं इसकी आवश्यकता नहीं होती है। संदर्भ सॉफ्टवेयर पैकेज में एक आवृत्ति-विभाजन मल्टीप्लेक्स डिजिटल वॉयस सॉफ्टवेयर मॉडेम और WxWidgets पर आधारित एक ग्राफिकल यूजर इंटरफेस भी शामिल है। सॉफ़्टवेयर Linux पर विकसित किया गया है और Apple MacOS संस्करण के अलावा cygwin के साथ बनाया गया Microsoft Windows के लिए एक पोर्ट भी पेश किया गया है।
कोडेक को विभिन्न सम्मेलनों में प्रस्तुत किया गया है और 2012 अमेरिकन रेडियो रिले लीग तकनीकी नवाचार पुरस्कार प्राप्त हुआ है,[5] और लिनक्स ऑस्ट्रेलिया सम्मेलन का सर्वश्रेष्ठ प्रस्तुति पुरस्कार।[6]
प्रौद्योगिकी
आंतरिक रूप से, पैरामीट्रिक ऑडियो कोडिंग एल्गोरिदम मानव आवाज के मॉडल का उपयोग करके 10 एमएस पीसीएम फ्रेम पर काम करते हैं। इनमें से प्रत्येक ऑडियो खंड को स्वरयुक्त (स्वर) या बिना स्वर वाले (व्यंजन) घोषित किया गया है।
कोडेक 2 भाषण को मॉडल करने के लिए साइनसोइडल मॉडल का उपयोग करता है, जो मल्टी-बैंड उत्तेजना कोडेक्स से निकटता से संबंधित है। साइनसॉइडल कोडिंग ओवरटोन आवृत्तियों और परतों हार्मोनिक साइनसॉइड के पैटर्न में नियमितता (आवधिकता) पर आधारित है। बोले गए ऑडियो को स्पीकर की आवाज़ (पिच) की एक निर्धारित मौलिक आवृत्ति के शीर्ष पर रेखा वर्णक्रमीय जोड़े, या एलएसपी नामक स्वतंत्र आयामों के साथ हार्मोनिक रूप से संबंधित साइन तरंगों के योग के रूप में मॉडलिंग भाषण द्वारा दोबारा बनाया जाता है। हार्मोनिक्स की (मात्राबद्ध) पिच और आयाम (ऊर्जा) को एन्कोड किया गया है, और एलएसपी के साथ एक डिजिटल प्रारूप में एक चैनल में आदान-प्रदान किया जाता है। एलएसपी गुणांक आवृत्ति डोमेन में रैखिक भविष्य कहनेवाला कोडिंग (एलपीसी) मॉडल का प्रतिनिधित्व करते हैं, और खुद को एलपीसी मापदंडों के एक मजबूत और कुशल परिमाणीकरण के लिए उधार देते हैं।[7] डिजिटल बाइट्स बिट-फ़ील्ड प्रारूप में हैं जिन्हें बाइट्स में एक साथ पैक किया गया है। इन बिट फ़ील्ड को एक साथ समूहीकृत करने से पहले वैकल्पिक रूप से ग्रे कोडित किया जाता है। कच्चा भेजते समय ग्रे कोडिंग उपयोगी हो सकती है, लेकिन आम तौर पर एक एप्लिकेशन बिट फ़ील्ड को तोड़ देगा। बिट फ़ील्ड विभिन्न पैरामीटर बनाते हैं जिन्हें संग्रहीत या एक्सचेंज किया जाता है (पिच, ऊर्जा, वॉयसिंग बूलियन, एलएसपी इत्यादि)।
उदाहरण के लिए, मोड 3200 में 20 एमएस ऑडियो को 64 बिट्स में परिवर्तित किया गया है। तो 3200 बिट/सेकेंड की न्यूनतम डेटा दर के लिए, हर 20 एमएस (एक सेकंड में 50 बार) 64 बिट आउटपुट होंगे। इन 64 बिट्स को एप्लिकेशन को 8 बाइट्स के रूप में भेजा जाता है, जिसे बिट फ़ील्ड को खोलना होता है, या बाइट्स को डेटा चैनल पर भेजना होता है।
एक अन्य उदाहरण मोड 1300 है, जो 40 एमएस ऑडियो भेजता है, और 1300 बिट/सेकेंड की न्यूनतम दर के लिए हर 40 एमएस (एक सेकंड में 25 बार) 52 बिट्स आउटपुट करता है। ये 52 बिट्स एप्लिकेशन या डेटा चैनल पर 7 बाइट्स के रूप में भेजे जाते हैं।
गोद लेना
कोडेक 2 का उपयोग वर्तमान में कई रेडियो और सॉफ्टवेयर डिफाइंड रेडियो सिस्टम में किया जाता है
Codec2 को FreeSWITCH में भी एकीकृत किया गया है और Asterisk (PBX) में समर्थन के लिए एक पैच (कंप्यूटिंग) उपलब्ध है।
शौकिया रेडियो CubeSat LilacSat-1 (कॉल साइन ON02CN, QB50 तारामंडल) पर पृथ्वी की कक्षा में एक एफएम-टू-कोडेक 2 डिजिटल वॉयस रिपीटर था, जिसे 2017 में अंतर्राष्ट्रीय अंतरिक्ष स्टेशन से लॉन्च किया गया था और बाद में तैनात किया गया था।[13]
इतिहास
प्रमुख मुफ्त सॉफ्टवेयर अधिवक्ता और शौकिया रेडियो ऑपरेटर ब्रूस पेरेन्स ने 5 kBit/s से कम पर संचालन के लिए एक मुफ्त भाषण कोडेक के निर्माण की पैरवी की। चूंकि उनके पास खुद पृष्ठभूमि नहीं थी, इसलिए उन्होंने 2008 में जीन-मार्क वेलिन से संपर्क किया, जिन्होंने उन्हें प्रमुख डेवलपर डेविड ग्रांट रोवे से मिलवाया, जिन्होंने कई मौकों पर स्पीक्स पर वेलिन के साथ काम किया है। रोवे स्वयं भी एक रेडियो शौकिया (शौकिया रेडियो कॉल चिह्न VK5DGR) थे और उन्हें स्पीच सिग्नल के लिए वॉयस कोडेक्स और अन्य सिग्नल प्रोसेसिंग एल्गोरिदम बनाने और उपयोग करने का अनुभव था। उन्होंने 1990 के दशक में स्पीच कोडिंग में पीएचडी प्राप्त की और पहले सेटेलाइट फोन सिस्टम (मोबाइलसैट) में से एक के विकास में शामिल थे।
वह इस कार्य के लिए सहमत हो गए और 21 अगस्त 2009 को एक प्रारूप पर काम करने के अपने निर्णय की घोषणा की। उन्होंने अपने डॉक्टरेट थीसिस से अनुसंधान और निष्कर्षों पर काम किया।[14][15] अंतर्निहित साइनसॉइडल मॉडलिंग 1980 के दशक के मध्य से रॉबर्ट जे. मैकऑले और थॉमस एफ. क्वाटिएरी (एमआईटी लिंकन लैब्स) के विकास पर आधारित है।
अगस्त 2010 में, डेविड रोवे ने संस्करण 0.1 अल्फा प्रकाशित किया।[16] संस्करण 0.2 को 2011 के अंत में जारी किया गया था, जिसमें 1,400 बिट्स/एस के साथ एक मोड और परिमाणीकरण में महत्वपूर्ण सुधार पेश किया गया था।
जनवरी 2012 में, linux.conf.au पर, जीन-मार्क वैलिन ने लाइन स्पेक्ट्रल जोड़े के परिमाणीकरण में सुधार करने में मदद की, जिससे रोवे कम परिचित हैं।[17] सर्दियों और वसंत 2011/2012 में उपलब्ध बिट दर मोड में कई बदलावों के बाद, उस वर्ष मई के बाद 2,400, 1,400 और 1,200 बिट/एस मोड उपलब्ध थे।
कोडेक 2 700C, 700 बिट/सेकेंड की बिट दर वाला एक नया मोड, 2017 की शुरुआत में समाप्त हो गया था।[18] जुलाई 2018 में एक प्रायोगिक 450 बिट/एस मोड का प्रदर्शन किया गया था, जिसे एर्लांगेन-नूरेमबर्ग विश्वविद्यालय में एक मास्टर थीसिस के हिस्से के रूप में विकसित किया गया था। वेक्टर परिमाणीकरण के चतुर प्रशिक्षण द्वारा 700C मोड के सिद्धांत के आधार पर डेटा दर को और कम किया जा सकता है।[19]
संदर्भ
- ↑ "DCC2011-Codec2-VK5DGR" (PDF).
- ↑ "A Pitch-Energy Quantizer for Codec2". Archived from the original on 2015-06-19.
- ↑ "Repository for Codec 2 Source". GitHub. 14 October 2021.
- ↑ "Codec2 – an Open Source, Low-Bandwidth Voice Codec". Slashdot. 21 September 2010.
- ↑ "ARRL Board of Directors Names Award Recipients at 2012 Second Meeting". www.arrl.org.
- ↑ "Linux Australia 2012 conference". Archived from the original on 2012-11-29. Retrieved 2012-08-02.
- ↑ "हार्मोनिक साइनसॉइडल कोडिंग की तकनीकें" (PDF). Archived from the original (PDF) on 2013-05-15. Retrieved 2013-04-12.
- ↑ "FreeDV: Open Source Amateur Digital Voice – Where Amateur Radio Is Driving The State of the Art".
- ↑ "FreeDV, CODEC2 and the WaveformAPI". Archived from the original on 2015-04-02. Retrieved 2015-03-06.
- ↑ "Introducing the SM1000 Smart Mic – Rowetel". 21 May 2014.
- ↑ "क्विस्क, एक सॉफ्टवेयर डिफाइंड रेडियो (एसडीआर)". james.ahlstrom.name.
- ↑ "M17 protocol description". GitHub.
- ↑ "QB-50 Constellation Satellites Deployed from ISS". American Radio Relay League website. 2017-11-15. Retrieved 2019-03-31.
- ↑ "संग्रहीत प्रति" (PDF). Archived from the original (PDF) on 2013-05-15. Retrieved 2013-04-12.
- ↑ "Open Source Low Rate Speech Codec Part 1 – Rowetel". 21 August 2009.
- ↑ "Codec2 V0.1 Alpha Released – Rowetel". 25 August 2010.
- ↑ "A Pitch-Energy Quantizer for Codec2".
- ↑ "Open Source Codec Encodes Voice Into Only 700 Bits Per Second". Slashdot. 13 January 2017. Retrieved 2019-03-31.
- ↑ "Codec2 HF digital voice at 450 bps". Southgate Amateur Radio News. 2018-07-08. Retrieved 2019-03-31.