تحويل ملفات الصوت بالجملة باستخدام Terminal على Linux بسهولة
يُعتبر تحويل ملفات الصوت بالجملة على نظام Linux أمرًا بسيطًا وفعالًا عند استخدام Terminal، حيث يمكن من خلال بضعة أوامر فقط إجراء تحويلات جماعية دون الحاجة إلى برامج إضافية. سواء كنت ترغب في تحويل مجموعة كبيرة من الملفات لتوفير مساحة، أو لتغيير صيغة ملفات معينة لتصبح متوافقة مع جهاز آخر، يتيح لك Terminal تنفيذ هذه العمليات بسهولة. سنوضح لك في هذا المقال خطوات تحويل ملفات الصوت على Linux باستخدام أوامر سريعة وفعالة.
إذا كنت تقوم بتحويل أكثر من بضعة ملفات صوتية، فقد يكون استخدام الأدوات الرسومية (بما في ذلك الأدوات أو التطبيقات عبر الإنترنت) عملية شاقة. توضح لك الإرشادات أدناه كيفية تحويل ملفات الصوت بشكل مجمع من محطة طرفية Linux، مما يوفر لك الوقت.
أولاً، تأكد من أن لديك FFmpeg
FFmpeg هي أداة سطر أوامر مجانية لمعالجة ملفات الوسائط. يمكنك استخدامها لتحويل ملفات الصوت بشكل مجمع لتغيير تنسيقها أو تقليل حجمها أو جعل حجمها ثابتًا. وهي متوفرة في مستودعات البرامج الخاصة بمعظم توزيعات Linux، ويمكن تثبيتها على أنظمة Debian/Ubuntu باستخدام الأمر التالي:
sudo apt install ffmpeg
يمكنك أيضًا استخدام FFmpeg لتحويل ملفات الصوت على Windows.
تحذير
من المهم أن تفهم أي أوامر طرفية تقوم بنسخها/لصقها من الإنترنت قبل تشغيلها. يتم تضمين تفسيرات موجزة أدناه، ولكن تأكد من التحقق من وظيفة كل أمر قبل تشغيله!
تحويل تنسيق ملف الصوت
يوضح أمر الطرفية في Linux أدناه كيفية استخدام FFmpeg لتحويل ملف WAV إلى MP3:
for file in /path/to/source_directory/*.wav; do ffmpeg -i "$file" "/path/to/output_directory/$(basename "${file%.*}.mp3")"; done
لشرح سريع لما يحدث هنا (وفي الأمثلة الأخرى على هذه الصفحة التي تستخدم حلقات لمعالجة ملفات متعددة):
- تُستخدم حلقة for لمعالجة جميع الملفات ذات الامتداد .wav في دليل المصدر. داخل الحلقة، يتم تعيين المسار إلى كل ملف صوتي إلى المتغير $file.
- يتم تمرير المتغير $file إلى أمر ffmpeg باستخدام الخيار -i الذي يحدد ملف الإدخال.
- المعلمة الأخيرة التي يتم تمريرها إلى FFmpeg هي دائمًا مسار ملف الإخراج. سيحدد FFmpeg تلقائيًا تنسيق الملف الناتج بناءً على الامتداد (في هذه الحالة، .mp3).
- تنسيقات ملفات الصوت الشائعة التي يدعمها FFmpeg لتحويل الصوت هي MP3 وAAC وOGG وWAV وFLAC وM4A وWMA وAIFF.
لتغيير تحويل الملف في البرنامج النصي أعلاه، استبدل .wav بامتداد الملف المطابق للملفات التي تريد تحويل تنسيقها، واستبدل .mp3 بتنسيق يدعمه FFmpeg للتحويل إليه. ضع في اعتبارك أن مسارات الملفات والامتدادات في Linux حساسة لحالة الأحرف!
تغيير معدل البت الصوتي
يقوم أمر المحطة الطرفية أدناه بتحويل معدل البت لملفات MP3 إلى 128 كيلو بايت:
for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -b:a 128k "/path/to/output_directory/$(basename "${file%.*}_128k.mp3")"; done
يؤدي خفض معدل البت إلى تقليص حجم ملفات الصوت، في حين يؤدي رفعه إلى تكبير حجمها. لاحظ أن خفض معدل البت عملية أحادية الاتجاه: فبمجرد خفض الجودة، لا يمكن استرداد المعلومات المفقودة، ولن يؤدي رفع معدل البت مرة أخرى إلى استعادة الجودة الأصلية (على الرغم من أن الملف قد يصبح أكبر حجمًا، إلا أن الجودة لن تتحسن).
معدلات البت الشائعة المستخدمة في الصوت الرقمي هي:
- 320 كيلو بايت لجودة صوت الأقراص المضغوطة (تقريبًا)
- 256 كيلو بايت لجودة عالية
- 192 كيلو بايت لجودة قياسية
- 128 كيلو بايت لجودة راديو FM
ستؤدي معدلات البت الأقل من 128 كيلو بايت إلى معاناة الصوت لديك (وستبدو مثل مكالمة هاتفية قديمة)، لذا لا يوصى بها إلا في المواقف التي يكون فيها ضغط كميات كبيرة من الصوت (مثل التسجيلات الطويلة للمحادثات) ضروريًا.
تطبيع مستوى الصوت
يجعل تطبيع مستوى الصوت مستوى الصوت في ملف صوتي متسقًا بحيث لا تكون الأجزاء الصاخبة من الملف أعلى بكثير من بقية التسجيل:
for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -filter:a loudnorm "/path/to/output_directory/$(basename "${file%.*}_normalized.mp3")"; done
يتم استخدام مرشح Loudnorm في FFmpeg في أمر المحطة الطرفية أعلاه لتطبيع مستوى الصوت.
التحويل إلى صوت أحادي/ستيريو
تتمثل إحدى الطرق لتقليل حجم ملف الصوت بشكل أكبر في تحويله من صوت ستيريو إلى صوت أحادي (بشرط ألا يكون المحتوى بحاجة إلى أن يكون صوت ستيريو، على سبيل المثال تسجيلات المكالمات):
تحويل الصوت ستيريو إلى صوت أحادي:
for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -ac 1 "/path/to/output_directory/$(basename "${file%.*}_mono.mp3")"; done
تحويل المونو إلى ستيريو:
for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -ac 2 "/path/to/output_directory/$(basename "${file%.*}_stereo.mp3")"; done
لاحظ أنه، مثل تقليل معدل البت، تفقد المعلومات عند تحويل الاستريو إلى أحادي. سيتم دمج المسارين الأيسر والأيمن ولن يتم إلغاء دمجهما إذا قمت بتحويل الملف مرة أخرى إلى الاستريو؛ سيتم فقط تكرار المسار الأحادي إلى القنوات اليمنى/اليسرى.
إعادة تسمية الملفات دفعة واحدة
يضيف الأمر أدناه السلسلة _renamed إلى اسم الملف لجميع ملفات MP3 في الدليل:
for file in /path/to/source_directory/*.mp3; do cp "$file" "/path/to/output_directory/$(basename "${file%.*}_renamed.mp3")"; done
إذا كنت تقوم بانتظام بتحويل ملفات صوتية أو إعادة تسميتها في Linux، فيمكنك إضافة هذه الأوامر إلى نص Bash لإعادة الاستخدام بسهولة.
Linux هو منصة رائعة لتحرير الصوت
إذا كنت تتطلع إلى تجاوز التحويل البسيط للصوت بالجملة، فيمكنك معرفة كيفية إنشاء الموسيقى الخاصة بك في Linux أو استضافة خادم البث الإذاعي الخاص بك.