[LinuxFocus-icon]
Home  |  Map  |  Index  |  Search

News | Archives | Links | About LF  
This document is available in: English  Castellano  Deutsch  Francais  Nederlands  Portugues  Russian  Turkce  Arabic  

[Photo of the Author]
المؤلف Philip de Groot

نبذة عن الكاتب:

قريبا سوف يحصل على الدكتوراه من جامعة نيميجن في مادة chmemometrics. يحب العمل مع لينكس والكتابة عن تجاربه بشكل منتظم


المحتويات:

 

الواقعية الزمنية في تسجيل الم بي ثري

[Illustration]

نبذة مختصرة:

هذا الموضوع هو تكملة لموضوع سابق عن الواقعية الزمنية في تسجيل ألMP3مثلاً لتسجيلات الراديو. ولقد وضحت, كيف انه يمكن تخزين12 ساعة من الموسيقى في ملف حجمه 650 ميجابايتأو في ملف حجمه 1,3 جيجابايتفي مثل دقة وجودة القرص الليزري (128 كيلو بيت/ثانية). كيف يمكنك أن تتعامل مع مثل هذه الملفات الكبيرة؟ هل من الممكن أن نعمل تسجيلات أطول أو نستطيع أن نعمل تضغيط أو تصغيراكبر للموسيقى؟ وما هي درجة الجودة؟ نحن سوف نحاول أن نجاوب على هذه الأسئلة.



 

 

فتح ملفات الم بي ثري

لنفترض انه عندك تسجيل جميل ل24 ساعة من الموسيقى, مثل الأيتيز توب  300  Eighties Top 300 التي سجلتها من محطة راديو للأغاني مثل لوستاد راديو Loostad radio  وأنت تريد الآن أن توزع هذا التسجيل على ملفات صغيره. وتريد ايضاً أن تزيل الإعلانات ونشرة الأخبار. ألان السؤال كيف ممكن أن يتم هذا على احسن وجه؟ إحدى هذه الطرق هي كتالي:

 

 

هذه الطريقة ممكن أن تعمل  من الناحية النظري  وعكس النظرة السائدة, لا يسبب إعادة تسجيل ملف الو يف بنفس الطريقة الخوارزمية للم بي ثري أي ضياع في الجودة. وهذه الطريقة من الناحية العملية لها بعض المشاكل:

 

 

بالمختصر, نستطيع أن نقول انك تحتاج إلى برنامج يكون عنده القدر على فتح ملفات الم بي ثري. مثل هذه البرامج متوفرة, ولكن (في الوقت الحالي) ليس للينوكس. وتوجد مجموعه كبيره لمثل هذه البرامج التي تعمل تحت نظام التشغيل وندوز, ولكن أغلبها عنده مشكله كبيره وهي: إنها لا تستطيع أن تتعامل مع ملفات أم بي ثري حجمها أعلى 650 ميجابايت. وجدت برنامج عنده القدرة على التعامل مع ملفات بهذا الحجم:

 'Manns' mp3 edit'.  استخدم هذا البرنامج تحت نظام التشغيل وندوز 98.

 

في الواجهة الرسومية يستطيع المرء أن يختار البداية والنهاية للقطعة الموسيقية  المرغوب فيها. المرء يستطيع ايضاً أن ينسخ القطعة بواسطة الأمر التالي .'trim' البرنامج عبارة عن هبة 'donation ware' ,  يعني غير ضروري أن تدفع قيمته, إذا كان البرنامج يناسب متطلباتك. ولكن البرنامج عنده مشكله وهي: انه جداً بطيء عند ملف حجمه 650 ميجابايت, ويستطيع فقط أن يتعامل مع نقل بيتات (rates-bit) بشكل ثابت, أي انه ينقل بسرعة ثابتة غير متغيرة!!!. مثلاً حتى تستطيع أن تبحث عن آخر ساعة في تسجيل دام اكثر من 24 ساعة, تحتاج هذه العملية إلى وقت طويل وفوق ذلك تحتاج ايضاً إلى الرجوع الدائم إلى القرص الثابت (Hard disk).

على عكس القصقصة  'Trimming' لقطعة موسيقية معينه فهي لا تحتاج إلى وقت طويل وتتم العملية بسرعة.

حتى ألان لم تواجهني مشاكل في ملفات الم بي ثري (mp3) المعدلة أو التي تم تعديلها. بالرغم من هذا أقوم باختبار الملفات الخالصة أو المحولة من هذا  العملية, و ذلك بإعادة فتحها وتحميلها وتشغيلها مرة أخرى في برنامج الم بي ثري. فإذا تم التحميل يعني أن الملفات سليمة. عندما كنت أقوم باختبار البرنامج, قمت بالضغط على مفتاح أل'trim'  أي مفتاح القص, وذلك عندما كان القرص الصلب في حالة العمل. وهذا أدى إلى تخليق أو إنتاج ملف م بي ثري غير سليم, أي ملف معطوب ولا يمكن تشغيله. سوف أعطيك نظرة شاملة:  لتحميل ملف حجمه 650 ميجابايت تحتاج إلى ساعة كاملة, والسبب الرئيسي لإنك لازم تنتظر (وهذا قد يجعلك تشعر بالإحباط)!

 

 

كيفية عمل ملف تسجيل طويل لم بي ثري طوله أكثر من 24 ساعة

 

هي ليست بالمشكلة الكبيرة, أن تعمل تسجيل مدته 24 ساعة من إحدى محطات الإذاعة. الملف مازال في حجم ممكن التعامل معه (مثلاً  1,3 جيجابايت لأربعة وعشرون ساعة) وهذا ممكن تخزينه بسهولة على القرص الصلب. ولكن هذه المشكلة تتغير, إذا كنت تريد أن تقوم بعملية تسجيل مثلاً لفترة أسبوع كامل. ومن المحتمل أن لا يستطيع قرصك الصلب أن يتحمل هذا الحجم الكبير بسبب سعته القليلة. طبعاً أنت تريد أن تجد  حلاً لهذه المشكلة. المشكلة هذه كانت موجودة عندي عندما حاولت أن أسجل في فترة احتفالات رأس السنة 2000 أل'Alltimes Top 2000'  (144 ساعة تسجيل موسيقى) من محطة الإذاعة الهولندية Radio 2.

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

 

 

قمت باستخدام هذه الطريقة حتى أستطيع أن أسجل أل Top2000 كاملاً. لا يوجد أي مشكله, استخدمت 12 قرص ليزري عندما قمت بالتسجيل, والتي لا يمكن الآن استخدامها, ولكن هذا كان ضروري لكي تتم عملية التسجيل بنجاح . كيف يعمل هذا كله؟ وصلت إلى هذه الفكرة عندما قراءة CD-Burning-Howto . الخطوات الضروري هي كتالي:

 

dd if=/dev/zero of="image_1" bs=1024k count=700

قمت بإعادة هذا الأمر لكل الأقسام.  وهذه العملية أي عملية تخليق ملفات ألImage تحتاج إلى وقت

shell> /sbin/mke2fs -b 2048 image_1
empty_file is not a block special device.
Proceed anyway? (y,n) y

            تنبيه: الملف النظامي للينوكس يحتاج ايضاً إلى مساحة. وهذا يعني أنه لن تستطيع أن تستخدم ال700 ميجابايت كاملة لملف الم بي ثري.            

mount -t ext2 -o loop=/dev/loop1 image_1 /mnt

والآن تستطيع أن تدخل إلى ملف image_1 عن طريق ساقية /mnt-directory . وبهذا تستطيع الآن أن تبداء التسجيل.

umount /mnt
cdrecord -v speed=2 dev=0,1,0 -data image_1

انتبه, أن الاختيار 'dev=0,1,0'  مربوط بنوعية نظامك. ( بواسطة الأمرcdrecord -scanbusتستطيع أن تعرف ما هي أسم القيمة (Parameter) عندك. بينما يقوم النظام بكتابة ملف ألImage  إلى القرص الليزري, تستطيع أن تبداء بالتسجيل على ملف image  الثاني.

mount -t ext2 /dev/scd0 /cdrom

فإذا كان كل شئ على ما يرام, تستطيع الآن أن ترى ملفات الم بي ثري التي تم تسجيلها في ساقية أل /cdrom.  أريد أن انبه هنا انه قد واجهتني مشاكل مع الكر نيل (kernel) 2.4.0 و 2,4,2, حيث أني لم أستطيع أن اعمل ارتباط فيهم على أقراص الليزر التي خلقت بواسطة نظام ملفات ألExt2  الخاص بلينوكس, وظهرت أيضاً مشاكل مع loopback Device. في الكر نيل 2,4,3 لم أواجه أي مشاكل وكل شئ عمل على احسن وجه, بالضبط مثل الكر نيل 2,2.

 

إيجابية هذه الطريقة هو العبء البسيط الذي تحمله المعالج (Processor)  لتخليق ملفات الم بي ثري. ملفات ألImage  موجودة ويتم بشكل بطئ تعبيتهم. ومن الممكن أن نحمل هذه العملية  لسكر يبت (Script) لكي يقوم بها تلقائياً:  الارتباط مع ملفات ألImages , البدء بعملية تسجيل ملفات الم بي ثري, الانتهاء من عملية تسجيل ملفات الم بي ثري وفك الارتباط مع ملفات أل image  بعد 12 ساعة من التسجيل, الارتباط مع image   أخرى, واستكمال تسجيل ملفات الم بي ثري, وهكذا. قمت بتخليق الأقراص الليزر يه بنفسي, فقط في حالة ظهور مشاكل.  ولهذا السبب قمت بتخليق أربع Images  : 3 Images   احتياطية في حالة ظهور مشاكل عند تخليق الأقراص الليزرية (تعطيني 36 ساعة أقصي حد لكي أتمكن من حل المشاكل). وملف السكر يبت الذي استخدمته هو كتالي:

 

#!/bin/sh
echo "loading modules for sound support..."
modprobe -k snd-card-sb16
modprobe -k snd-pcm-oss
modprobe -k snd-mixer-oss
echo "setting mixer..."
amixer set Line 31 unmute capture; amixer set Master 31; amixer set PCM 31
cd /where/ever/you/stored/the/images/
for i in 1 2 3; do
          for ii in 1 2 3 4; do
          echo "mounting image_$ii on /mnt ..."
        mount -t ext2 -o loop=/dev/loop1 image_$ii /mnt
        echo "starting mpegrec ..."
        mpegrec -b 128 -x -mj -o /mnt/top2000_$ii.mp3
          echo "umount /mnt"
        umount /mnt
          done
done
 

قمت بعمل كل شئ من غير استخدام ال Xwindows  أي الواجهة الرسومية, فقط استخدمت أل

.Bash-prompt حملت دعم الصوت بنفسي, بالإضافة إلى ألOSS  (ضروري لكي تستطيع أن تستخدم محركات ألAlsa  بشكل صحيح) و ايضاً محركات المكسر أي الخالط (Mixer) (طبعاً تستطيع أن تجعل هذه يشتغل بشكل تلقائي باستخدام pre-install/post-install trigger in /etc/conf.modules ). السطر الرابع في السكر يبت يقوم بتضبيط  المكسر أو الخالط بشكل صحيح: مصدر التسجيل هو 'line-in'  حجم الصوت سوف يضع على أعلى حد. وبعد ذلك يقوم السكر يبت القيام بعملية الارتباط وفك الارتباط مع ملفات ألImage. أل mpegrec اختيار أل '-mj' هو للمشاركة في التسجيل بطريقة الاستريو. وقمت بذلك, ولأني انتظرت ملفات م بي ثري صغيرة, ولكن هذا لم يكن الحال. التسجيل القادم سوف أقوم به بالطريقة العادية باستخدام الاستريو العادي. برنامج أل 'mpegrec' يجب أن يتوقف بعد  12 ساعة. وحتى هذا يحدث, قمت فتح الملف المصدري (source code) وغيرت الفترة الزمنية القصوى من 24 ) التي وجدتها موضحة في الملف المصدري) إلى 12 ساعة. ولكن للأسف لم يعمل هذا التغير. والبرنامج استمر في عملية التسجيل,  ولذلك اضطررت إلى مقاطعة ووقف التسجيل بواسطة crtl-c. لم أستطيع  أن افهم هذا أل'mpegrec' فقمت بقراءة الملف المصدري تماماً وبتفحص..........

 

ملاحظة :

 

الإصدار الأخير من cdrecord (cdrecord-1.9) جر معه مشاكل في عملية تخليق الأقراص الليزرية. ولكن الإصدار السابق لهذا cdrecord-1.8.1, عمل من غير مشاكل.  حلت المشكلة, عندما قمت بتحديث أل Firmware الخاص بالأقراص الليزرية Philips CDD 3610  من Version 3.02 إلى 3.09.  في الأساس كنت أعتقد أن مشكلة تخليق ونسخ الأقراص الليزرية  كانت بسبب الكر نيل , 2.4.3, ولكن هذا لم يكن صحيحاً.

 

 

جودة تسجيلات الم بي ثري (mp3)

 

تعليقاً على موضوعي السابق Talkbackpage  تحصلت على عنوان لصفحة في الإنترنت بها معلومات مهمة ومفيدة بخصوص تسجيلات الم بي ثري. خصوصاً على جودة الم بي ثري والعلاقة مع نسبة حجم وكمية الإرسال , وهي موضحة بشكل ممتاز, وبالذات التركيز على برنامج 'lame'. العنوان هو : http://www.r3mix.net/.

 

تلخيص لأهم الأشياء:

 

 

وكل هذا سوف يتم مناقشته في الصفحة أنفة الذكر.

 

 

تخليق ملف أم بي ثري  مصغر إلى حد أقصى

 

تحت سوف أقوم بمناقشة ملف سكر يبت, تم إرساله من قبل أحد القراء عن طريق البريد الإلكتروني. وهذا هو السكر يبت :

 

#!/bin/bash
 
echo "record $1 named ($3) for $2 seconds"
aumix -f ~/.aumixrc
/usr/bin/yes x | /usr/bin/radio $1 >/dev/null 2>/dev/null
sox -V -r 44100 -c 2 -t ossdsp -w -s /dev/dsp -t wav - 2>/dev/null |
lame - ~/$3.`/bin/date "+%H%M.%m-%d-%y"`.mp3 --resample 16 -b 8 -a -m m -h --lowpass 4 --highpass .12 --voice&
sleep $2
kill -9 $!
# copy the output to a different direcory. If you want you can
# replace cp by rcp or scp and copy it to a different computer:
cp $3.*`/bin/date "+.%m-%d-%y"`.mp3 /tmp/outputdir

 

والهدف الأساسي لهذا السكر يبت هو التسجيل الواضح من الراديو, والذي يحتاج فقط إلى 3,5 ميجابايت/الساعة مساحة على القرص! بشكل أوضح أريد أن أقول, أنه من الممكن فهم اللغة التي تم تسجيلها. بالطبع الجودة سيئة. السطر الأول  يثبت المكسر الخلاط ويشغل بطاقة الراديو  الخاصة بالبرامج مثل Sox  الحبكة أو الخدعة تكمن في اختيار  ألlame الذي سوف نقوم هنا بمناقشته:

--resample 16 -b 8 -a -m m -h --lowpass 4 --highpass .12 --voice

 

      حدد أو ضع ممر المصفي المنخفض على 4 كيلوهرتز. كل الإشارات التي تعلو على 4 يتم حذفها.

--resample 16

            يعرف مجدداً كمية إعطاء ملف الإخراج output من 44 كيلوهرتز إلى 16 كيلوهرتز.

-b 8

                  يحدد نسبة الإعطاء على 8 كيلو بيت/ثانية.

-a

                    يكيف قنوات الاستريو إلى قنوات أحادية mono.

-m m

                يرغم على استخدام الم بي ثري.

-h

                     تشفير أم بي ثري بجودة عالية جداً (بطيء)

--lowpass 4

--highpass .12

  حدد أو ضع ممر المصفي العالي على 12 كيلو هرتز. كل الإشارات التي تقل عن هذا  يتم حذفها.

--voice

             أستخدم ضغط أم بي ثري الذي يكون مخصص ومعدل للغات.

 

طبعاً من الواضح أنه من الممكن أن نتحصل على ضغط عالي للغات. في الغالب هذا غير مرغوب به, ولكن هنا تم إظهار الإمكانية.

 

 

سكريبت مقياسي لتسجيل أم بي ثري

 

هذا الملف تم إرساله عن طريق صفحات TalkBack Seiten  ( و أشاكره  لذلك: كل واحد ممكن يستفيد من هذه المعلومات!).  وهذه واحده من أهم  إيجابيات صفحات ألTalkBack, والتي  ساعدت على إظهار  الموضوع  السابق وهذا الموضوع. كل شخص بإمكانه أن ينشر خبراته أو يطلب مساعدة الآخرين.

المختصر:  كمية كبيرة من المعلومات سوف يتم جمعها مع بعض ويتم نشرها للكل. الملف أو السكر يبت هو اسمه 'mp3_record'   ومحتواه كتالي:

 

#!/bin/sh
 /usr/local/bin/mpegrec \
 -l 5400 \
 -x '--preset fm \
 --tt "Computers in Your Life" \
 --tl "Open Line with Tom Wieble" \
 --ta "Tom Wieble" --ty `date +%Y` \
 --tg "Speech" \
 --tc "Copyright (c) 1997 - `date +%Y` WOSU" -c' \
 -o open_line_`date +%d%b%y`_`date +%H%M`.mp3
 

الاختيار '-l 5400'  يحدد وقت التسجيل ب 90 دقيقة. وكل الاختيارات بعد أل '-x'  سوف يتم إيصالها مباشرتاً إلى 'lame' (السطور من 4-9) والاختيار '-o'  يحفظ أو يخزن الملفات بأسم (التاريخ_وقت.mp3 ). وهذه السطور من الممكن تغيرها وتكيفها على حسب الاحتياج. ولهذه الأغراض  من المستحب أن يتم التدقيق في اختيارات 'lame'. وهذه هي اختيارات 'lame' :

 

--preset fm

       لاما ((lame تتعرف على بعض الاختيارات القياسية. 'fm' للتسجيل من محطات الراديو, ولكني أفضل التسجيل العادي ب128 كيلو بايت/ثانية.

--tt "Computers in Your Life"

'--tt' يضع عنوان للتسجيل (30 ثانية كا أقصى حد)

--tl "Open Line with Tom Wieble"

'--tl' : البوم أو : المصدر الرئيسي (أقصى حد 30 رمز)

--ta "Tom Wieble" --ty `date +%Y`

'--ta': الفنان (أقصى حد 30 رمز)

--tg "Speech"

'--tg': تسلسل (الاسم أو الرقم)

--tc "Copyright (c) 1997 - `date +%Y` WOSU" -c"

'--tc': تعليق (أقصى حد 30 رمز)

 

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

 

 

تعقيبك على هذا المقال

اضغط الوصلة أدناه اذا أردت التعقيب على هذا المقال
 صفحة التعقيب 

الصفحات تحت رعاية الفريق الفني للينكس فوكاس
© Philip de Groot, FDL
LinuxFocus.org

اضغط هنا للتنبيه عن خطأ أو ارسال ملاحظاتك الى لينكس فوكاس
معلومات عن الترجمة:
nl -> -- Philip de Groot
nl -> en Philip de Groot
en -> ar باهر سعيد شرف

2001-05-21, generated by lfparser version 2.13