الموشن والفيديو

صيغ الصوت

صيغ الصوت نوعان: مع فقد، ترمي جزءاً من الإشارة ولا تعيده أبداً، وبلا فقد، تصغّر الملف مع الاحتفاظ بالعينات الأصلية تماماً. ولا أحدهما أفضل من الآخر؛ فالأرشيف يريد بلا فقد والتشغيل يريد مع فقد.

  • الدرس 4 من 10
  • مبتدئ
  • مجاني، دون تسجيل

مع فقد وبلا فقد، مهمتان صحيحتان

مع فقد: MP3، AAC، Opus

  • يُرمى جزء من الإشارة ولا يعود
  • أصغر بما يصل إلى ٨٠ إلى ٩٥ بالمئة
  • للتشغيل والنشر وكل ما يُنزَّل
  • وإعادة ترميزه تراكم الضرر

بلا فقد: WAV، FLAC

  • يعيد العينات الأصلية نفسها بالضبط
  • FLAC أصغر بنحو ٤٠ إلى ٥٠ بالمئة، وWAV بلا ضغط أصلاً
  • للتسجيل والمونتاج والنسخة الأم والأرشيف
  • وكل تصدير منه يبدأ من الصفر من جديد

لا أحدهما أفضل من الآخر. والخطأ أن تحفظ الأرشيف مع فقد أو ترسل ملف التشغيل بلا فقد.

آخر مراجعة: تُراجع الحقائق وأسماء الأدوات في هذا الدرس مقابل مصادرها في هذا التاريخ.

مع فقد وبلا فقد: ما الفارق بالضبط

الكودك بلا فقد يصغّر الملف ويعيد لك العينات نفسها التي أُعطيها، بايتاً ببايت. أما الكودك مع فقد فلا يقطع هذا الوعد: يرمي من الإشارة الجزء الذي يقول نموذج السمع البشري إنه الأقل سماعاً، وذلك الجزء لا يعود أبداً. ودليل كودكات الصوت في MDN يقول الشيء نفسه ويضع حجماً للتوفير: الكودك مع فقد يضغط حتى ٨٠ إلى ٩٥ بالمئة، وبلا فقد نحو ٤٠ إلى ٥٠ بالمئة.

هذه فجوة كبيرة، وهي تفسّر وجود العائلتين معاً. فحلقة بودكاست واحدة بصيغة بلا فقد تبلغ مئات الميغابايتات ولا أحد ينزّلها. والحلقة نفسها مع فقد بضع عشرات من الميغابايتات، ولن تسمع الفرق على هاتف وسماعتَي أذن.

لكن اعكس الاتجاه فيتغير كل شيء. فالملف الذي ضُغط مع فقد مرة واحدة فقد تلك المعلومات إلى الأبد. تستطيع أن تصنع منه WAV لاحقاً فيكبر الملف، لكن ما رُمي لا يعود. وWAV كبير لا يعني WAV عالي الجودة، وهذه الجملة وحدها تمنع معظم أخطاء هذا المجال.

صيغ الصوت: MP3 وAAC وOpus وWAV وFLAC

ما معنى معدل العينات وعمق البت ومعدل البت

الصوت في الهواء موجة متصلة، والحاسوب لا يفهم المتصل، فتُلتقط للموجة صور على فترات منتظمة. وعدد هذه الصور في الثانية هو معدل العينات: 44100 يعني أربعاً وأربعين ألفاً ومئة مرة في الثانية. ودقة كل صورة هي عمق البت: بـ ١٦ بت تأخذ كل عينة مستوى من ٦٥٥٣٦ مستوى ممكناً.

وهذان الرقمان معاً يحددان حجم الصوت غير المضغوط، والحساب سهل. ثانية واحدة استريو بمعدل 44100 وعمق ١٦ بت تساوي 44100 في ١٦ في ٢، أي 1411200 بت في الثانية. ولهذا يكون WAV كبيراً: فهو لا يضغط شيئاً، وإنما يكتب تلك العينات واحدة تلو الأخرى. وفي قسم تجربتنا نبيّن ذلك بملف حقيقي.

معدل البت هو الرقم الثالث، وهو للكودكات الضاغطة. يقول كم بتاً يُسمح للكودك بإنفاقه في الثانية. ويضع MDN مدى MP3 عند ٣٢ إلى ٣٢٠ كيلوبت في الثانية، وتعطي صفحة Opus نفسها مداه بـ ٦ إلى ٥١٠ كيلوبت. ويبدأ Opus بهذا الانخفاض لأنه صُمّم للكلام كما للموسيقى، لا للموسيقى وحدها.

وقاعدة تحفظ المال والمساحة: رفع معدل العينات أو عمق البت فوق ما التقطه التسجيل فعلاً لا يفعل شيئاً سوى تكبير الملف. فالجودة تأتي من المصدر لا من الرقم الذي تكتبه عند التصدير.

كيف يصير الصوت ملفاً

  1. 1

    موجة في الهواء

    متصلة ودقيقة بلا نهاية. والحاسوب لا يفهم هذا.

  2. 2

    الميكروفون

    يحوّل الموجة إلى إشارة كهربائية. والجودة النهائية تُسقَّف هنا.

  3. 3

    أخذ العينات

    معدل العينات: كم مرة في الثانية تُلتقط صورة للموجة.

  4. 4

    التكميم

    عمق البت: بأي دقة تُكتب كل عينة.

  5. 5

    الترميز والملف

    معدل البت والصيغة: هنا يُقرر هل يُرمى شيء أم لا.

أرقام هذا الدرس الثلاثة تُضبط في الخطوات الوسطى الثلاث من هذه السلسلة. ولا أحد منها يعوّض عن التسجيل نفسه: فالغرفة ذات الصدى تصدح بالصدى عند أي معدل عينات.

الصيغ الخمس المستعملة فعلاً

الأعمدة أدناه مقروءة من دليل كودكات الصوت في MDN، وبالنسبة لـ Opus من صفحة المشروع نفسه.

الصيغةالنوعالترخيصدعم المتصفحاتموضعها الصحيح
MP3مع فقدانتهت براءاتها؛ وفي الولايات المتحدة منذ أبريل ٢٠١٧كل المتصفحات الرئيسيةحين لا تقبل الوجهة إلا MP3
AACمع فقدلا ترخيص للبث أو التوزيع؛ ومطورو الكودك يحتاجون ترخيصاًيعتمد على دعم نظام التشغيل نفسه؛ وكروم داخل MP4 فقطالصوت داخل الفيديو
Opusمع فقدمفتوح تماماً وبلا إتاوات، ومعيار IETF برقم RFC 6716كروم وفايرفوكس وإيدج وسفاري ١١ فما بعدالكلام والتشغيل على الويب، وكل موضع يهم فيه زمن التأخير
WAVبلا ضغطحرفي كل مكانالتسجيل ونقل الصوت بين البرامج
FLACبلا فقدمفتوح تماماً وبلا إتاواتكروم وفايرفوكس ٥١ فما بعد وسفاري ١١ فما بعدالأرشيف والنسخة الأم

عمودان من هذا الجدول يصنعان قرارات أكثر من غيرهما. أولهما الترخيص، وهو يفسّر لماذا يدخل Opus وFLAC أي مشروع بلا سؤال قانوني. وثانيهما زمن التأخير، وهو ليس عموداً لكنه في نص MDN: يتراوح Opus بين ٥ و٦٦٫٥ ميلي ثانية، وهو الأقل بين الكودكات العامة. ولمكالمة صوتية أو بث حي يُنهي هذا الرقم وحده النقاش.

وإن لم تستطع دعم إلا صيغة واحدة مع فقد فتوصية MDN نفسها هي AAC. وهذا لا يناقض ما قلناه أعلاه: فـ AAC الخيار الآمن حين لا تعرف ما في الطرف الآخر، وOpus الخيار الأفضل حين تعرف.

ما يحتاجه صانع البودكاست والمونتير والأرشيف

ثلاثة أشخاص بثلاث حاجات، وهم بينهم يغطون كل الحالات تقريباً.

صانع البودكاست يسجّل بـ WAV وينشر بـ MP3، ولا ينبغي أن يوجد بينهما أي ملف آخر مع فقد. WAV لأن شيئاً لا يضيع أثناء التسجيل والمونتاج، وMP3 لأن قائمة منصات البودكاست ما زالت تطلبها. وإن كانت الوجهة تقبل Opus فستحصل على ملف أصغر بالجودة نفسها؛ لكن اقرأ ذلك من توثيق المنصة نفسها لا من الذاكرة.

والمونتير عادةً بلا خيار ويضع ما تقبله الحاوية: AAC داخل MP4، وOpus داخل WebM. والأمر الذي يُنسى بسهولة أن للصوت معدل بت أيضاً وأنه يأخذ نصيبه من الملف النهائي. وللصوت الكلامي، معدل بت أقل وقناة واحدة بدل قناتين يخفض الحجم بوضوح ولا ينتبه أحد.

وللأرشيف أبسط قاعدة على الإطلاق: احفظ بلا فقد كل ما تكلفة إعادة صنعه عالية. وFLAC بُني لهذا بالذات، وMDN يسمّي أرشفة الموسيقى استعمالاً له. وإن كانت لديك ملفات WAV خام وضاقت بك المساحة فتحويلها إلى FLAC لا يفقد شيئاً البتة؛ وفي قسم تجربتنا نبيّن ذلك باختبار.

المهام الأربع التي تختار صيغة الصوت عنك

لا محاور للخانات: كل خانة مهمة، وجوابها مكتوب بجوارها.

  • بودكاست وكلام

    سجّل بـ WAV وانشر بـ MP3. وOpus إن قبلته الوجهة.

  • الصوت داخل الفيديو

    AAC داخل MP4، وOpus داخل WebM. فالحاوية تضيّق الخيار.

  • الأرشيف والنسخة الأم

    FLAC، أو ملف WAV الأصلي إن توفرت المساحة. ولا تستخدم مع فقد أبداً.

  • التشغيل على الويب

    Opus الأصغر والأقل تأخيراً؛ وMP3 البديل الأكثر أماناً.

ملف صوت واحد

هذه الخانات الأربع تحسم الصيغة لا معدل البت. ورقم معدل البت يجب أن يأتي من مواصفات الوجهة نفسها.

لماذا لا تعيد تصدير ملف مع فقد بصيغة مع فقد

في كل مرة يُرمَّز فيها ملف مع فقد يقرر الكودك ما الذي يرميه. فإن كان المدخل قد مرّ بهذه الخطوة مرة من قبل فالقرار الثاني يُتخذ بشأن شيء رُمي منه أصلاً. والنتيجة تتراكم وهي غير قابلة للعكس.

وعملياً يحدث هذا بهدوء ولا ينتبه أحد: تُسقط ملف MP3 في برنامج المونتاج، وتقصّ قصة واحدة، ثم تصدّر MP3 من جديد. أو تفصل صوت فيديو، وهو أصلاً AAC، فتحوّله إلى MP3 للبودكاست. وكلا العملين ممكن تماماً، وكلاهما يضيف جولة رمي أخرى.

والطريق الصحيح هو قاعدة الأرشيف نفسها. احفظ نسخة واحدة بلا فقد، ونفّذ كل التعديلات عليها، وخذ كل تصدير مع فقد من تلك النسخة مباشرة. وإن اضطررت للعمل من ملف مع فقد فرتّب على الأقل أن يُرمَّز مرة أخرى واحدة لا ثلاث مرات.

المسار السريع مع الذكاء الاصطناعي

ما يفصل بودكاستاً محترفاً عن آخر منزلي ليس الميكروفون عادةً، بل ثبات علوّ الصوت بين الحلقات. والطريق المعتاد أن تضغط زر Normalize في البرنامج، وهو لا يرفع إلا أعلى قمة ولا علاقة له بالعلوّ المُدرَك. أما الطريق المحترف فقياس العلوّ المتكامل وتصحيحه، ولـ ffmpeg فلتر loudnorm لهذا بالذات، وهو يعرّف نفسه بأنه تطبيق لـ EBU R128. وصيغته ذات المرحلتين هي بالضبط حيث يفيد النموذج اللغوي: المرحلة الأولى تطبع القيم المقيسة بصيغة JSON، والمرحلة الثانية عليها أن تأخذ تلك القيم نفسها حرفياً. وهذا الملء الآلي هو الخطوة التي يخطئ فيها البشر.

  1. المرحلة الأولى، القياس. سطر واحد: ffmpeg -i in.wav -af loudnorm=print_format=json -f null - وهو يطبع measured_I وmeasured_TP وmeasured_LRA وmeasured_thresh ولا يكتب أي ملف.
  2. خذ الهدف من توثيق الوجهة نفسها لا من رقم قرأته في مكان ما. وإن لم تعلن الوجهة شيئاً تبقى القيم الافتراضية لـ loudnorm في مكانها: علوّ متكامل سالب ٢٤، وسقف قمة حقيقية سالب ٢، ومدى علوّ ٧. وتراها بنفسك بـ ffmpeg -h filter=loudnorm.
  3. املأ الوصفة أدناه بـ JSON المرحلة الأولى وهدف الوجهة. وعلى النموذج أن يبني أمر المرحلة الثانية بتلك القيم المقيسة وأن يرمّز المخرَج النهائي إلى صيغة التسليم في الأمر نفسه، كي لا يُرمَّز الملف مرتين.
  4. وقِس مرة أخرى في النهاية. شغّل أمر المرحلة الأولى نفسه على المخرَج؛ ينبغي أن يستقر الرقم على الهدف. وإن لم يستقر فغالباً يعني أن المصدر ذو مدى ديناميكي واسع جداً وأن الأمر يحتاج قراراً بشرياً، لا إجباراً للرقم مرة ثانية.

وصفة جاهزة للنسخ

الدور: مهندس صوت. مهمتك بناء أمر المرحلة الثانية من loudnorm بدقة. لا تنتج أي رقم؛ واستعمل فقط الأرقام الواردة في JSON أدناه أو في هدف الوجهة.

هدف الوجهة:
{اكتب الرقم هنا إن أعلنته الوجهة، وإلا فاكتب «غير معلن» لتبقى القيم الافتراضية للفلتر}

صيغة التسليم ومواصفاتها:
{مثلاً: MP3 استريو لمستضيف بودكاست | AAC داخل MP4 للفيديو | Opus للويب}

مخرَج JSON للمرحلة الأولى:
{ضع JSON هنا}

أجب بهذا الترتيب:
١. أعطِ أمر ffmpeg واحداً يأخذ قيم measured الأربع حرفياً من JSON ويبقي linear مفعّلاً.
٢. وفي الأمر نفسه، رمّز المخرَج مباشرة إلى صيغة التسليم. ولا تنشئ ملفاً وسيطاً.
٣. وتحت الأمر، قل في سطر واحد ماذا يفعل كل خيار.
٤. وإن كان العلوّ المقيس بعيداً عن الهدف فقل كم كسباً يلزم، وحذّر من أن أرضية الضجيج ترتفع بالقدر نفسه.
٥. واكتب كذلك أمر إعادة القياس على ملف المخرَج كي أفحصه بنفسي.

قبل أن تثق بالناتج: تسوية العلوّ ليست جودة. فالغرفة ذات الصدى تبقى كذلك بعد هذا، ورفع تسجيل ضعيف يرفع معه أرضية ضجيجه. ولا تفعل أمرين أبداً: لا تسوِّ نسخة الأرشيف بل نسخة التسليم وحدها؛ ولا تُمرّر مخرَج loudnorm في الفلتر مرة أخرى، فكل تمريرة ترميز إضافي.

الذكاء الاصطناعي في هذا العمل

الصوت، بخلاف صيغ الصور، مجال غيّر فيه الذكاء الاصطناعي شيئاً فعلاً: التفريغ النصي وتنظيف الكلام وتحويل النص إلى صوت، ثلاثتها تعمل اليوم. لكن اختيار الصيغة يبقى حساباً لا ذوق نموذج، وحيث يفسد كل شيء هي الأدوات التي تدّعي تحويل الصوت السيئ إلى صوت جيد.

أدوات تساعد فعلا

  • ElevenLabs لتحويل النص إلى كلام وللدبلجة. وترتيب نماذجه، موزوناً بقدرته الفعلية على قراءة الفارسية، موجود على هذا الموقع. وبند ضبط التصدير في شروط استعمالهم يسمّي إيران، فلا تسجيل ولا دفع رسمي من إيران.
  • Claude لبناء سلسلة فلاتر ffmpeg وملء القيم المقيسة في المرحلة الثانية من loudnorm، لأن شرحه يمكن مقارنته بتوثيق الفلتر. وإيران ليست في قائمة الدول المدعومة لدى أنثروبيك.
  • FFmpeg ليست أداة ذكاء اصطناعي، ووجودها في القائمة مقصود. فقياس العلوّ وتحويل الصيغ وجعل الكلام أحادي القناة، ثلاثتها سطر أوامر واحد لكل منها ولا تحتاج أي نموذج.
  • RGB طبقة الوصول والدفع لإيران، منفصلة عن الأدوات نفسها.

اين ينقلب ضدك

أدوات «تحسين» الصوت تفعل ما تفعله نظيرتها في الصور: لا تعيد ما لم يُسجَّل، بل تضع مكانه أرجح تخمين. وهذا لا يهم في إعلان تشويقي. أما في مقابلة أو شهادة عميل أو اجتماع مسجَّل أو أي ملف يُراد له أن يكون سجلاً، فالنسخة المحسّنة لم تعد التسجيل الأصلي، وعلى تسمية الملفات أن توضّح أيها النسخة الأم وأيها المعالَجة. والخطر الثاني يسير في الاتجاه المعاكس: إعادة الترميز لا تمحو علامة الصوت المائية للذكاء الاصطناعي. تكتب غوغل عن SynthID أن علامتها الصوتية لا تتغير بالتعديلات الشائعة كإضافة الضجيج أو ضغط MP3 أو تغيير سرعة المقطع. والخطر الثالث ليس تقنياً لكنه يفسد كل شيء: استنساخ صوت شخص حقيقي دون إذنه المكتوب. وهذا سؤال تعاقدي قبل أن يكون تقنياً، وجوابه يُؤخذ قبل التسجيل لا بعد النشر.

المصادر: MDN: Web audio codec guide Opus Interactive Audio Codec Google DeepMind: SynthID ElevenLabs Terms of Use

حدود هذه النصيحة

الصيغة آخر القرارات لا أولها. فالغرفة والميكروفون والمسافة بين الفم والميكروفون تؤثر في النتيجة أكثر من اختيار الكودك في كل مرة تقريباً، ولا صيغة تنقذ صوتاً سُجّل في غرفة ذات صدى. وبلا فقد لا تعني أحسن صوتاً أيضاً؛ إنما تعني قابلة للاسترجاع. وإن لم تسمع فرقاً على جهاز الوجهة فلست بحاجة إلى ملف بلا فقد للتسليم، وإنما تنفق عرض النطاق فحسب. ومثل أي صفحة تحمل قائمة دعم متصفحات، قُرئت أعمدة هذا الجدول من مصادرها في التاريخ المطبوع أعلاه، وينبغي أن تُقرأ من تلك المصادر مجدداً اليوم.

من عملنا نحن

قِسنا ادعاءين من هذا الدرس على هذا الخادم، بـ ffmpeg الإصدار 6.1.1 وفي التاريخ المطبوع أعلى هذه الصفحة. أولاً حساب WAV: صنعنا ملفاً بثلاثين ثانية بمعدل 44100 وعمق ١٦ بت وقناتين، فخرج بـ 5292078 بايت، بينما حاصل ضرب 44100 في ١٦ في ٢ مقسوماً على ٨ ومضروباً في ٣٠ هو 5292000. أي أن الملف كله، عدا ٧٨ بايت من الترويسة، هو ذلك الحساب لا غير. وثانياً معنى «بلا فقد»: حوّلنا الملف نفسه إلى FLAC وMP3 وOpus وAAC، ثم فككنا الخمسة جميعاً إلى عينات خام وأخذنا md5. فأعطى WAV وFLAC كلاهما 1671d60e646f0e771bbf874a6a5db852، أي متطابقان بايتاً ببايت. وأعطت الملفات الثلاثة مع فقد ثلاث بصمات مختلفة. وهذا الاختبار الوحيد هنا الذي لا يحتاج أذناً ويعطي جواباً قاطعاً.

اسئلة متابعة حقيقية

ما الفرق بين MP3 وWAV؟

WAV لا يضغط شيئاً ويحفظ العينات كما سُجّلت، فهو كبير وصالح للتسجيل والمونتاج. وMP3 يضغط مع فقد ويرمي جزءاً من الإشارة إلى الأبد، فهو صغير وصالح للنشر. والمسار الصحيح من الأول إلى الثاني ولا يكون العكس أبداً.

أيهما أفضل، Opus أم MP3؟

تقنياً Opus أحدث، وبلا إتاوات، ويبدأ من معدلات بت أدنى بكثير، وله أقل تأخير بين الكودكات العامة. لكن MP3 يُشغَّل في كل مكان عملياً وبعض المنصات لا تقبل سواه. فإن كنت تتحكم بالوجهة فـ Opus، وإلا فـ MP3.

أي معدل بت أستخدم للبودكاست؟

يحدد الرقمَ مواصفاتُ المكان الذي ترفع إليه الملف، لا قاعدة عامة. لكن أمرين يصحّان دائماً تقريباً: الكلام يحتاج معدل بت أقل بكثير من الموسيقى، والصوت الفردي يُرسل أحادي القناة لا استريو، لأن الاستريو يضاعف الحجم دون أن يضيف شيئاً.