QOA Audio Fayl Formatı Nədir? Xüsusiyyətlər, Arxitektura və Necə Açmaq Olar
Rəqəmsal audio mühəndisliyi və oyun inkişafında fayl ölçüsü, çalğı gecikməsi və CPU yükləməsini balanslaşdırmaq həmişə çətin olub. MP3, AAC və Ogg Vorbis kimi standart formatlar yüksək sıxışdırma nisbətləri təklif edir, lakin mürəkkəb dekodlaşdırma boru kəmərləri, ağır floating-point riyazi əməliyyatlar və əhəmiyyətli yaddaş istifadəsi tələb edir. Digər tərəfdən, sıxılmamış PCM (.wav) sıfır gecikməli çalğı təmin edir, lakin böyük disk sahəsi istifadəsi və yavaş aktiv çatdırılması ilə nəticələnir.
QOA (Quite OK Audio) formatı bu boşluğu doldurur. Dominic Szablewski (geniş tərif edilən QOI şəkil formatının yaradıcısı) tərəfindən yaradılan QOA, sürətli dekodlaşdırma, minimal mürəkkəblik və proqnozlaşdırıla bilən yaddaş istifadəsi üçün hazırlanmış açıq mənbəli, itkilı audio formatıdır.
QOA Faylı Nədir?
.qoa uzantılı fayl Quite OK Audio formatından istifadə edərək sıxılmış rəqəmsal audio saxlayır. Bu, 16-bit dərinlikdə pulse-code modulated (PCM) audio məlumatı üzərində işləyir və nümunə sürətləri $1\text{ Hz}$‑dən $16,777,215\text{ Hz}$‑ə qədər dəyişir və 31‑ə qədər audio kanalı dəstəkləyir.
Tezlik domeni transformasiyalarına (məsələn, Modified Discrete Cosine Transform və ya MDCT) əsaslanan psixoakustik kodeklərin əksinə, QOA tamamilə zaman domenində işləyir. O, audioyu dəqiq $3.2\text{ bits per sample}$ sabit nisbətinə sıxır və xam 16-bit lineyar PCM üzərində sabit $5:1$ sıxılma nisbəti əldə edir.
Standart CD keyfiyyətli audio (44.1 kHz, stereo) üçün QOA axını dəqiq, sabit bit sürətini əldə edir:
$$\text{Bit sürəti} = 44,100 \times 2 \times 3.2 = 282,240\text{ bits/s} \approx 278\text{ kbps}$$
QOA-nın Ətraflı Xüsusiyyətləri
1. Minimalist Spesifikasiya və İcra
Ənənəvi müasir kodeklər həyata keçirmək üçün yüzlərlə səhifə texniki spesifikasiyalar və minlərlə kod sətiri tələb edir. Bunun əksinə, tam QOA formatı spesifikasiyası tək səhifəlik PDF‑də yerləşir və rəsmi istinad tətbiqi (qoa.h) təxminən 400 sətir standart C kodundan ibarətdir.
2. Zaman-Domain LMS Proqnozu
QOA hesablama baxımından intensiv transform alqoritmlərindən qaçınır. Bunun yerinə, hər kanal üçün dörd tarixçə çəki ilə adaptiv Ən Kiçik Kvadratlar (LMS) proqnoz filtrindən istifadə edir. Gələcək nümunə dəyərlərini təxmin edərək və yalnız kvantlaşdırılmış qalıq fərqlərini qeyd edərək, QOA ağır CPU istifadəsi olmadan şəffaf perceptual audio keyfiyyəti təqdim edir.
3. Çox Sürətli Dekodlaşdırma
QOA yalnız tam ədədlə arifmetika və yüngül əməliyyatlara əsaslandığı üçün $3\times$ Ogg Vorbis-dən daha sürətli dekodlayır və standart MP3 dekoderlərindən əhəmiyyətli dərəcədə üstündür. Hətta Microsoft ADPCM-dən daha sürətli dekodlayır, bu da onu aşağı güclü yerləşdirilmiş avadanlıq, mikrokontrollerlər və real‑vaxt oyun mühərrikləri üçün ideal edir.
4. Axın-Üçün Hazır Parçalı Memarlıq
QOA faylları öz-özünə tam çərçivələrə bölünür və hər kanal üçün $5,120$ nümunəyə qədər (hər biri $20$ nümunə olan $256$ dilim) saxlayır. Hər çərçivə öz LMS filtr çəki və tarixçəsini daşıyır, bu da dərhal axtarış, itirilmiş paketlərdən cəriməsiz bərpa və məcburi qlobal indeksləmədən dinamik, an‑an axın imkanı verir.
QOA-nın Əsas Xüsusiyyətləri
| Xüsusiyyət | Spesifikasiya / Təfərrüat |
|---|---|
| Fayl Uzantısı | .qoa |
| Sehrli Baytlar | qoaf (0x71, 0x6f, 0x61, 0x66) |
| İnkişaf etdirən / Yaradan | Dominic Szablewski (PhobosLab) |
| Sıxışdırma Növü | Zərərli (Zaman domeni LMS proqnozu) |
| Sıxışdırma Nisbəti | Sabit $5:1$ 16-bit PCM-ə nisbətən |
| Nümunə başına Saxlama | Tam olaraq $3.2\text{ bits per sample}$ |
| Bit sürəti (44.1 kHz, Stereo) | $\approx 278\text{ kbps}$ ($282.24\text{ kbps}$ payload) |
| Nümunə Sürəti Aralığı | $1\text{ Hz}$ ilə $16,777,215\text{ Hz}$ ($24\text{-bit}$ unsigned) |
| Dəstəklənən kanallar | $1$ ilə $31$ audio kanalları (Mono, Stereo, 5.1, 7.1, və s.) |
| Başlıq yükləməsi | 8-byte fayl başlığı, 8-byte çərçivə başlığı |
| Lisenziya | MIT (Mənbə Kodu) / CC0 (Spesifikasiya & Loqo) |
QOA Fayllarını Necə Yaratmaq və Kodlaşdırmaq
Audioyu QOA formatına kodlaşdırmaq, əvvəlcədən hazırlanmış inkişaf etdirici ikili faylları və icma alət zəncirləri sayəsində sadədir.
Metod 1: Rəsmi qoaconv CLI-dən İstifadə Edərək
Əsas kodlayıcı rəsmi istinad deposunda birbaşa paylanır.
- Repozitoriyanı klonlayın və ikili faylı tərtib edin:
git clone https://github.com/phoboslab/qoa.git cd qoa make - Sıxılmamış WAV faylını QOA formatına çevirin:
./qoaconv input.wav output.qoa - (İstəyə bağlı)
HAS_DRLIBS=trueilə tərtib edildikdə,qoaconvhəmçinin.flacvə.mp3fayllarından birbaşa kodlaşdırma edə bilər.
Metod 2: Mühərrik Daxili Kodlaşdırma (Godot Engine)
Godot 4.3-dən başlayaraq, oyun inkişaf etdiriciləri sıxılmamış .wav fayllarını idxal edə və QOA sıxışdırmasını birbaşa Godot Import panelindən seçə bilərlər. Bu, ağır oyun səhnələrində minimal CPU gecikməsi ilə təbii olaraq dekodlaşdırılan yığcam oyun aktivləri yaradır.
Metod 3: Brauzer Daxili Veb Konvertorlar
Bir neçə veb əsaslı WebAssembly alətləri (məsələn, qoaformat.org saytında yerləşdirilən və əlaqəli açıq mənbə demo-ları) istifadəçilərə standart audio fayllarını sürükləyib buraxmağa və terminal əmrləri işlətmədən kodlaşdırılmış .qoa aktivini yerli olaraq yükləməyə imkan verir.
QOA Fayllarını Necə Açmaq və Oynatmaq
QOA əsasən işləmə vaxtı inteqrasiya üçün hazırlanmış yüngül format olduğu üçün, ənənəvi istehlakçı media pleyerləri plaginlər və ya xüsusi quruluşlar tələb edə bilər.
- Xüsusi CLI Oynatıcı (
qoaplay): Rəsmi repozitoriyaqoaplay-a tərtib olunur, bu da.qoafayllarını birbaşa oynatmaq üçün yerli audio alt sistemlərini (Linux‑da ALSA, macOS‑da CoreAudio, Windows‑da WASAPI) istifadə edir:./qoaplay audio.qoa - Oyun Çərçivələri və Mühərrikləri:
- Raylib:
raudiomodulü vasitəsilə yerli dəstək. - Godot Engine: Tam yerli oynatma dəstəyi (Godot 4.3+).
- Raylib:
- Media Oynatıcıları & Pluginlər:
- Qmmp: Yerli QOA dekodlaşdırma modulları ilə inkişaf etmiş multimedia oynatıcı.
- OpenCubicPlayer: QOA axınlarını dəstəkləyən klassik treker və audio fayl oynatıcı.
- Audacious / foobar2000: Açıq mənbəli icma giriş pluginləri vasitəsilə dəstəklənir.
- IDE & İnkişaf Alətləri:
- VS Code: QOA Preview uzantısı, inkişafçılara
.qoasəs kliplərini mənbə ağacları daxilində birbaşa önizləmək və oynatmaq imkanı verir.
- VS Code: QOA Preview uzantısı, inkişafçılara
Tez-tez Soruşulan Suallar (FAQ)
QOA nə deməkdir?
QOA Quite OK Audio deməkdir, sürətli, sadə, açıq mənbəli itkiyə meylli audio formatıdır.
QOA audio itkisizdir, yoxsa itkilidir?
QOA lossy audio sıxışdırma formatıdır, lakin əksər praktiki istifadə halları üçün demək olar ki, şəffaf audio keyfiyyətini saxlayır.
QOA nə qədər sıxışdırma təmin edir?
QOA 16-bit sıxılmamış audioyu $5:1$ sabit nisbətində (dəqiq $3.2\text{ bits per sample}$) sıxır.
QOA ümumi musiqi yayımı üçün MP3 və ya AAC yerini tuta bilərmi?
Xeyr, QOA maksimum bant genişliyi qənaətindən çox ultra-sürətli, yüngül dekodinqi ön planda tutur, bu da onu yüksək sıxlıqlı veb yayımından çox oyunlar, mikrokontrollerlər və aşağı gecikməli tətbiqlər üçün daha uyğun edir.
QOA-nın lisenziya və ya patent ödənişləri varmı?
Xeyr, QOA tamamilə patentdən azaddır və icazəverici MIT license altında buraxılıb, spesifikasiyası və loqosu isə ictimai sahəyə (CC0) aiddir.
İstinad URL-ləri və Rəsmi Resurslar
- Rəsmi Vebsayt: https://qoaformat.org/
- Rəsmi Spesifikasiya (PDF): https://qoaformat.org/qoa-specification.pdf
- GitHub Depoziti: https://github.com/phoboslab/qoa
- Müəllifin Texniki Dərin Araşdırması: PhobosLab Bloqu - QOA Elanı və Benchmarklar