|
|
المؤلف Philip de Groot نبذة عن الكاتب: قريبا سوف يحصل على الدكتوراه من جامعة نيميجن في مادة chmemometrics. يحب العمل مع لينكس والكتابة عن تجاربه بشكل منتظم المحتويات: |
نبذة مختصرة:
هذا الموضوع هو تكملة لموضوع سابق عن
الواقعية الزمنية في تسجيل أل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 ساعة من إحدى محطات الإذاعة. الملف مازال في حجم ممكن التعامل معه
(مثلاً 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
--resample 16 |
يعرف مجدداً كمية إعطاء ملف الإخراج output
من 44 كيلوهرتز إلى 16 كيلوهرتز. |
-b 8 |
يحدد نسبة الإعطاء على 8 كيلو بيت/ثانية. |
-a |
يكيف قنوات الاستريو إلى قنوات أحادية mono. |
-m m |
يرغم على استخدام الم بي ثري. |
-h |
تشفير أم بي ثري بجودة عالية جداً (بطيء) |
--lowpass 4 |
حدد أو ضع ممر المصفي المنخفض على 4 كيلوهرتز. كل الإشارات التي
تعلو على 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 اضغط هنا للتنبيه عن خطأ أو ارسال ملاحظاتك الى لينكس فوكاس |
معلومات عن الترجمة:
|
2001-05-21, generated by lfparser version 2.13