QOA অডিও ফাইল ফরম্যাট কী? বৈশিষ্ট্য, আর্কিটেকচার, এবং কীভাবে এটি খুলবেন
ডিজিটাল অডিও ইঞ্জিনিয়ারিং এবং গেম ডেভেলপমেন্টে, ফাইল সাইজ, প্লেব্যাক লেটেন্সি এবং CPU ওভারহেডের মধ্যে সমন্বয় সবসময়ই চ্যালেঞ্জিং হয়েছে। MP3, AAC এবং Ogg Vorbis এর মতো স্ট্যান্ডার্ড ফরম্যাটগুলি উচ্চ কম্প্রেশন রেশিও প্রদান করে, তবে জটিল ডিকোডিং পাইপলাইন, ভারী ফ্লোটিং-পয়েন্ট অঙ্কগণিত এবং উল্লেখযোগ্য মেমরি ব্যবহার প্রয়োজন। অন্যদিকে, অকমপ্রেসড PCM (.wav) শূন্য-লেটেন্সি প্লেব্যাক প্রদান করে, তবে বিশাল ডিস্ক ব্যবহার এবং ধীর অ্যাসেট ডেলিভারির খরচে।
QOA (Quite OK Audio) ফরম্যাটটি এই ফাঁকটি পূরণ করে। ডমিনিক স্যাবলেভস্কি (বহুল প্রশংসিত QOI ইমেজ ফরম্যাটের স্রষ্টা) দ্বারা তৈরি, QOA একটি ওপেন-সোর্স, লসী অডিও ফরম্যাট যা দ্রুতগতির ডিকোডিং, ন্যূনতম জটিলতা এবং পূর্বানুমানযোগ্য মেমরি ব্যবহারকে লক্ষ্য করে।
QOA ফাইল কী?
.qoa এক্সটেনশনযুক্ত একটি ফাইল Quite OK Audio ফরম্যাট ব্যবহার করে সংকুচিত ডিজিটাল অডিও সংরক্ষণ করে। এটি পাল্স‑কোড মডুলেটেড (PCM) অডিও ডেটা 16‑বিট ডেপথে, $1\text{ Hz}$ থেকে $16,777,215\text{ Hz}$ পর্যন্ত স্যাম্পল রেটের মধ্যে কাজ করে এবং সর্বোচ্চ 31টি অডিও চ্যানেল সমর্থন করে।
ফ্রিকোয়েন্সি ডোমেইন ট্রান্সফর্ম (যেমন Modified Discrete Cosine Transform বা MDCT) উপর নির্ভরশীল সাইকোঅ্যাকাস্টিক কোডেকের তুলনায়, QOA সম্পূর্ণভাবে টাইম ডোমেইন-এ কাজ করে। এটি অডিওকে ঠিক $3.2\text{ bits per sample}$ স্থির অনুপাতে সংকুচিত করে, কাঁচা 16‑বিট লিনিয়ার PCM-এ $5:1$ ধ্রুব কম্প্রেশন রেশিও অর্জন করে।
স্ট্যান্ডার্ড CD-গুণমান অডিও (44.1 kHz, স্টেরিও) এর জন্য, একটি QOA স্ট্রিম সঠিক, ধ্রুব বিটরেট অর্জন করে:
$$\text{Bitrate} = 44,100 \times 2 \times 3.2 = 282,240\text{ bits/s} \approx 278\text{ kbps}$$
QOA এর বিশদ বৈশিষ্ট্য
১. মিনিমালিস্ট স্পেসিফিকেশন এবং ইমপ্লিমেন্টেশন
প্রচলিত আধুনিক কোডেকগুলি বাস্তবায়নের জন্য শত শত পৃষ্ঠার প্রযুক্তিগত স্পেসিফিকেশন এবং হাজার হাজার কোড লাইন প্রয়োজন। এর বিপরীতে, সম্পূর্ণ QOA ফরম্যাট স্পেসিফিকেশন একটি একক-পৃষ্ঠার PDF-এ ফিট করে, এবং অফিসিয়াল রেফারেন্স ইমপ্লিমেন্টেশন (qoa.h) প্রায় ৪০০ লাইনের স্ট্যান্ডার্ড C কোড নিয়ে গঠিত।
২. টাইম-ডোমেইন LMS প্রেডিকশন
QOA গণনামূলকভাবে জটিল ট্রান্সফর্ম অ্যালগরিদম এড়িয়ে চলে। পরিবর্তে, এটি প্রতিটি চ্যানেলের জন্য চারটি ঐতিহাসিক ওজনসহ একটি অভিযোজ্য লিস্ট মিন স্কোয়ার্স (LMS) প্রেডিকশন ফিল্টার ব্যবহার করে। ভবিষ্যৎ স্যাম্পল মান অনুমান করে এবং শুধুমাত্র কোয়ান্টাইজড রেসিডুয়াল পার্থক্য রেকর্ড করে, QOA ভারী CPU ব্যবহার না করে স্বচ্ছ পারসেপচুয়াল অডিও গুণমান প্রদান করে।
৩. অত্যন্ত দ্রুত ডিকোডিং
QOA শুধুমাত্র পূর্ণসংখ্যা গাণিতিক এবং হালকা অপারেশনের উপর নির্ভর করার ফলে, এটি $3\times$ দ্রুত Ogg Vorbis এর তুলনায় ডিকোড করে এবং স্ট্যান্ডার্ড MP3 ডিকোডারগুলোর তুলনায় উল্লেখযোগ্যভাবে ভাল পারফরম্যান্স দেয়। এটি এমনকি Microsoft ADPCM এর চেয়েও দ্রুত ডিকোড করে, যা এটিকে নিম্ন-শক্তির এমবেডেড হার্ডওয়্যার, মাইক্রোকন্ট্রোলার এবং রিয়েল-টাইম গেম ইঞ্জিনের জন্য আদর্শ করে তোলে।
৪. স্ট্রিমিং-রেডি চাঙ্কড আর্কিটেকচার
QOA ফাইলগুলো স্বয়ংসম্পূর্ণ ফ্রেমে ভাগ করা হয়, প্রতিটি ফ্রেমে প্রতি চ্যানেলে সর্বোচ্চ $5,120$ স্যাম্পল (প্রতি $20$ স্যাম্পল করে $256$ স্লাইস) থাকে। প্রতিটি ফ্রেম তার নিজস্ব LMS ফিল্টার ওজন এবং ইতিহাস বহন করে, যা তাৎক্ষণিক সিকিং, ড্রপড প্যাকেট থেকে শূন্য-শাস্তি পুনরুদ্ধার, এবং বাধ্যতামূলক গ্লোবাল ইনডেক্সিং ছাড়া গতিশীল অন-দ্য-ফ্লাই স্ট্রিমিংকে সক্ষম করে।
QOA-র মূল বৈশিষ্ট্যসমূহ
| বৈশিষ্ট্য | নির্দিষ্টকরণ / বিশদ |
|---|---|
| ফাইল এক্সটেনশন | .qoa |
| ম্যাজিক বাইটস | qoaf (0x71, 0x6f, 0x61, 0x66) |
| ডেভেলপার / স্রষ্টা | Dominic Szablewski (PhobosLab) |
| কম্প্রেশন টাইপ | লসী (টাইম-ডোমেইন LMS পূর্বাভাস) |
| কম্প্রেশন অনুপাত | স্থির $5:1$ 16-বিট PCM-র তুলনায় |
| প্রতি স্যাম্পল সংরক্ষণ | সঠিকভাবে $3.2\text{ bits per sample}$ |
| বিটরেট (44.1 kHz, Stereo) | $\approx 278\text{ kbps}$ ($282.24\text{ kbps}$ পে-লোড) |
| স্যাম্পল রেট পরিসীমা | $1\text{ Hz}$ to $16,777,215\text{ Hz}$ ($24\text{-bit}$ অস্বাক্ষরিত) |
| সমর্থিত চ্যানেল | $1$ to $31$ অডিও চ্যানেল (Mono, Stereo, 5.1, 7.1, ইত্যাদি.) |
| হেডার ওভারহেড | 8-byte ফাইল হেডার, 8-byte ফ্রেম হেডার |
| লাইসেন্সিং | MIT (সোর্স কোড) / CC0 (নির্দিষ্টকরণ & লোগো) |
কিভাবে QOA ফাইল তৈরি এবং এনকোড করবেন
QOA-তে অডিও এনকোডিং সহজ, কারণ পূর্ব-নির্মিত ডেভেলপার বাইনারি এবং কমিউনিটি টুলচেইন রয়েছে।
পদ্ধতি ১: অফিসিয়াল qoaconv CLI ব্যবহার করে
প্রধান এনকোডারটি সরাসরি অফিসিয়াল রেফারেন্স রিপোজিটরিতে বিতরণ করা হয়।
- রিপোজিটরি ক্লোন করুন এবং বাইনারি তৈরি করুন:
git clone https://github.com/phoboslab/qoa.git cd qoa make - একটি অকম্প্রেসড WAV ফাইলকে QOA তে রূপান্তর করুন:
./qoaconv input.wav output.qoa - (ঐচ্ছিক) যদি
HAS_DRLIBS=trueদিয়ে কম্পাইল করা হয়, তবেqoaconvসরাসরি.flacএবং.mp3ফাইল থেকেও ট্রান্সকোড করতে পারে।
পদ্ধতি ২: ইন-ইঞ্জিন এনকোডিং (গডোট ইঞ্জিন)
গডোট 4.3 থেকে শুরু করে, গেম ডেভেলপাররা অকম্প্রেসড .wav ফাইল ইম্পোর্ট করতে পারেন এবং গডোট ইম্পোর্ট ডকে সরাসরি QOA কম্প্রেশন নির্বাচন করতে পারেন। এটি কম্প্যাক্ট গেম অ্যাসেট তৈরি করে যা ভারী গেমপ্লে দৃশ্যে নগণ্য CPU লেটেন্সি সহ নেটিভভাবে ডিকোড হয়।
পদ্ধতি ৩: ইন-ব্রাউজার ওয়েব কনভার্টারস
বহু ওয়েব-ভিত্তিক WebAssembly ইউটিলিটি (যেমন qoaformat.org-এ হোস্ট করা এবং সংশ্লিষ্ট ওপেন-সোর্স ডেমো) ব্যবহারকারীদের স্ট্যান্ডার্ড অডিও ফাইল ড্র্যাগ ও ড্রপ করতে এবং টার্মিনাল কমান্ড চালানো ছাড়াই লোকালভাবে এনকোডেড .qoa অ্যাসেট ডাউনলোড করতে দেয়।
কিভাবে QOA ফাইল খুলবেন এবং চালাবেন
কারণ QOA একটি হালকা ফরম্যাট যা প্রধানত রানটাইম ইন্টিগ্রেশনের জন্য তৈরি, প্রচলিত কনজিউমার মিডিয়া প্লেয়ারগুলিকে প্লাগইন বা ডেডিকেটেড বিল্ডের প্রয়োজন হতে পারে।
- ডেডিকেটেড CLI প্লেয়ার (
qoaplay): অফিসিয়াল রিপোজিটরিqoaplay-এ কম্পাইল হয়, যা নেটিভ অডিও সাবসিস্টেম (লিনাক্সে ALSA, macOS-এ CoreAudio, উইন্ডোজে WASAPI) ব্যবহার করে সরাসরি.qoaফাইল প্লে করে:./qoaplay audio.qoa - গেম ফ্রেমওয়ার্ক ও ইঞ্জিনস:
- Raylib:
raudioমডিউলের মাধ্যমে নেটিভ সাপোর্ট। - Godot Engine: পূর্ণ নেটিভ প্লেব্যাক সাপোর্ট (Godot 4.3+).
- Raylib:
- মিডিয়া প্লেয়ার ও প্লাগইনস:
- Qmmp: নেটিভ QOA ডিকোডিং মডিউলসহ উন্নত মাল্টিমিডিয়া প্লেয়ার।
- OpenCubicPlayer: ক্লাসিক ট্র্যাকার এবং অডিও ফাইল প্লেয়ার যা QOA স্ট্রিম সমর্থন করে।
- Audacious / foobar2000: ওপেন-সোর্স কমিউনিটি ইনপুট প্লাগইনসের মাধ্যমে সমর্থিত।
- IDE ও ডেভেলপার টুলস:
- VS Code: QOA Preview এক্সটেনশন ডেভেলপারদেরকে
.qoaসাউন্ড ক্লিপ সরাসরি তাদের সোর্স ট্রিতে প্রিভিউ এবং প্লে করতে দেয়।
- VS Code: QOA Preview এক্সটেনশন ডেভেলপারদেরকে
প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)
QOA কী জন্য দাঁড়ায়?
QOA মানে Quite OK Audio, একটি দ্রুত, সহজ, ওপেন-সোর্স লসী অডিও ফরম্যাট।
QOA অডিও কি লসলেস নাকি লসী?
QOA একটি lossy অডিও কম্প্রেশন ফরম্যাট, তবে এটি অধিকাংশ ব্যবহারিক ক্ষেত্রে প্রায় স্বচ্ছ অডিও গুণমান বজায় রাখে।
QOA কতটুকু কম্প্রেশন প্রদান করে?
QOA 16-বিট আনকমপ্রেসড অডিওকে স্থির অনুপাত $5:1$ এ কম্প্রেস করে (সঠিকভাবে $3.2\text{ bits per sample}$)।
সাধারণ সঙ্গীত স্ট্রিমিংয়ের জন্য কি QOA MP3 বা AAC-কে প্রতিস্থাপন করতে পারে?
না, QOA সর্বোচ্চ ব্যান্ডউইথ সঞ্চয়ের চেয়ে অতিরিক্ত দ্রুত, হালকা ডিকোডিংকে অগ্রাধিকার দেয়, যা গেম, মাইক্রোকন্ট্রোলার এবং কম-লেটেন্সি অ্যাপ্লিকেশনের জন্য উচ্চ-ঘনত্বের ওয়েব স্ট্রিমিংয়ের চেয়ে বেশি উপযুক্ত করে।
QOA কি লাইসেন্সিং বা পেটেন্ট ফি ধার্য করে?
না, QOA সম্পূর্ণভাবে পেটেন্ট-মুক্ত এবং অনুমোদনমূলক MIT license এর অধীনে প্রকাশিত, আর এর স্পেসিফিকেশন ও লোগো পাবলিক ডোমেইন (CC0) এর অন্তর্ভুক্ত।
রেফারেন্স URL গুলি ও অফিসিয়াল রিসোর্স
- আধিকারিক ওয়েবসাইট: https://qoaformat.org/
- আধিকারিক স্পেসিফিকেশন (PDF): https://qoaformat.org/qoa-specification.pdf
- GitHub রিপোজিটরি: https://github.com/phoboslab/qoa
- লেখকের প্রযুক্তিগত গভীর বিশ্লেষণ: PhobosLab ব্লগ - QOA ঘোষণা ও বেঞ্চমার্কস