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

News | Archives | Links | About LF  
[an error occurred while processing this directive]
[Photo of the Author]
المؤلف Philip de Groot

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

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


المحتويات:

 

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

[Illustration]

نبذة مختصرة:

هذا الموضوع يوضح كيف يمكن تسجيل موسيقى تحت نظام التشغيل لينوكس. بعكس ما تم نشره في إحاءات لينوكس فوكس لشهر يناير 2001, لن يتم استخدام الفور مات الغالي ويفWAV-Format . بدلاً من هذا سوف يتم مباشرة التسجيل باستخدام فور مات أم بي ثري الصغير. التسجيل الطويل بحجم 24 ساعة بجودة القرص الليزري سوف تصبح حقيقة, لو تم استخدام هذا الفور مات.



 

المقدمة

اعتياديا, من العصب تحويل ملفات صوت ذات فور مات ويف مباشراً إلى ملفات صوت أم بي ثري. العملية التي يجب أن يتم اتباعها هي:

حتى نستطيع أن نسجل ملف ويف نحتاج إلى مساحة كبيرة على القرص الصلب (100 ميجابايت لتسجيل لفترة 10 دقائق موسيقى استريو بجودة القرص الليزري). وهذا يحدد حجم مساحة القرص المخصصة للموسيقى التي سجلت بهذا الفور مات. معرف أو مشفر أم بي ثري عنده القدرة أن يحول ملف ويف حجمه 100 ميجابايت إلى 10 ميجابايت بجودة أم بي ثري القياسي (128كيلو بيتس في الثانية, ستيريو). هذه الصفة تمكن التسجيل الرقمي للموسيقى لمدة تتعدى أل 24 ساعة من غير انقطاع! 24 ساعة عبارة عن 60*24=1440 دقيقة, وهذه الكمية تحتاج إلى مساحة 1,4 جيجابايت (1440 ميجابايت) على القرص!!! أنا استخدمت هذه الميزة حتى أستطيع أن أسجل أحسن 300 أغنية للثمانينات, الذي تم نقلها من Loostad radio بعض الصفحات الإنجليزية متوفرة). التسجيل انقطع فقط مره واحدة, برنامج تسجيل ملفات ألم بي ثري يتوقف تلقائياً بعد 24 ساعة هذا لم يكن مدون....., التسجيل كان ممتاز جداً! أنا سوف أوضح لك ما هي البرامج التي استخدمتها, وأوضح الطرق الأخرى, كيف ممكن أن يتم تسجيل ملفات أم بي ثري بالواقعية الزمنية. وضعت البرامج التي تم استخدامها في هذا الموضوع في صفحة (الينك سوف تجدها تحت في هذا الموضوع).

 

العملية

تحت تم مناقشة طريقتان للتسجيل بواسطة أم بي ثري بالواقعية الزمنية بنوعية استيروا وجودة القرص الليزري:

'Mpegrec' يقوم بنفس العملية مثل 'sox | lame', ولكن تعريفات مختلفة تم تثبيتها. المستخدم لا يحتاج اكثر من هذا. ركب فقط 'Lame'! أنصحك بأن تستخدم 'mpegrec'. ولكن ضع في ذاكرتك أن هذا البرنامج بعد 24 ساعة يتوقف!!! علاوة على ذلك, من المزعج أن ينتج خطاء في الصب casting-bug)) مما يؤدي إلى حدوث خطاء في وقت التسجيل: وقت التسجيل الذي تم إعطائه من قبل المستخدم لا يتم استخدامه بشكل صحيح. في اغلب الأوقات يكون الوقت اقصر!

 

كيف يتم استخدام mpegrec

استخدام 'mpegrec' سهل. أكتب فقط في نافذة الأوامر مثلاً في xterm)) 'mpegrec -b 128 -o ./test.mp3' وهذا كله!
توضحي لمختلف الاختيارات:
-b استخدم 128 كيلو بيتس في الثانية لسرعة الإعطاء لم بي ثري. القيمة القياسية في 'mpegrec هي 192, وهذا شي غريب (وقيمة مرتفعة). تقريباً كل ملفات ألم بي ثري عندها قيمة b ثابتة للإعطاء 128 كيلو بيتس في الثانية.
-o أسم ملف الإخراج (output file). في هذا المثل: ./test.mp3. عندما لا يكون اسم ملف الإخراج معرف, سوف يتم إرسال كل شئ إلى الإخراج القياسي ('stdout') (standard output). o اعتياديا هي نافذة الأوامر (xterm) , التي يتم فيها تشغيل البرنامج. كامل شفرة ألم بي ثري سوف تنزلق عندك على الشاشة بدلاً من أن تحفظ في ملف....
 

تنبيه

لا تنسى أن تضبط خصائص الخالط mixer-settings (mixer setting) بشكل صحيح. وإذا لم يتم ذلك, لن يتم التسجيل! مصدر التسجيل يجب أن يختار بشكل صحيح. و مضبط الصوت يجب أن يثبت على أعلى درجه.

 

كيفية استخدام 'sox | lame'

أطبع الأمر التالي في نافذة الأوامر (xterm):

sox -t ossdsp -w -s -r 44100 -c 2 /dev/dsp -t raw - | lame -x -m s - ./test.mp3

 

توضيح للخيارات

sox برنامج التسجيل: الصوت يتم تسجيله من خلال استخدام مدخل كرت الصوت 'line-in'
-t ossdsp مدخل الصوت يعود اصله في الأساس إلى محركات الصوت OSS. هذه المحركات متوافرة في كر نيل لينوكس عندما يكون دعم الصوت القياسي متوافر.
-w نوعية نموذج البيت (Sample bit type) هي 16 بيت طول الكلمة (إذا لم تفهم ما معنى هذا لا تهتم فهو ليس شئ مهم).
-s موذج المعلومة عبارة عن 'signed linear' ( إذا لم تفهم ما معنى هذا لا تهتم فهو ليس شئ مهم)
-r 44100 تردد النموذج هو 44100 هرتز (جودة القرص الليزري.
-c 2 التسجيل من قناتين(ستيريو).
/dev/dsp وهذه هي وصلة الصوت: هذه الوصلة التي تستخدم في لينوكس من أجل أن ترسل معلومات التسجيل. تتم عملية الدخول إلى جميع الوسائط, المخارج والأقراص عن طريق الساقية '/dev' مع إضافة اسم الساقية إلى الأمر. تحت نظام تشغيل لينوكس يتم الدخول إلى سيل الو يف (wave-stream ) عن طريق الساقية '/dev/dsp'. ومن المؤكد انه بإمكانك أن تتحصل على ملفات الصوت من خلال استخدام الأمر التالي: 'cat /dev/dsp >test.wav' (تعمل فقط عندما تكون خصائص الخالط مضبوطة!!!)
-t raw ملف الإخراج أو الناتج هو عبارة عن معلومات ‚صلبة' (غير قابله للتغير, تأتي مباشرة من كرت الصوت)
- استخدام شاشة الإخراج القياسية, يرمز لها بواسطة '-'.
lame برنامج فاتح الشفرة أو محول الفور مات: الصوت المسجل سوف يتم إيصاله إلى 'lame' حتى يتم تحويلة إلى أم بي ثري
-x 'Force byte-swapping of input' أنا لا أعلم عمل هذا الخيار بالضبط, ولكن من دونه لا يعمل أل (procedure) وهذا كان (قبل أن اعرف ذلك!)
-m s حول ملف أم بي ثري إلى ملف أم بي ثري. الشكل القياسي, 'lame' يحول الملف إلى 'joint-stereo': ولكن الاختلافات بين قنوات الصوت سوف يتم تحويلها. ونتيجة لذلك يمكن أن نتحصل على ضغط عالي, ولكن جودة ألم بي ثري سوف تكون سيئة.
- الإدخال هو 'stdin'. وهذا صحيح بالنسبة للمثل الحالي.
./test.mp3 هذا الاسم النهائي لملف ألم بي ثري.
 

الخالط

ضبط خصائص الخالط بشكل صحيح شئ مهم جداً. الخالط هو الذي يحدد مصدر التسجيل. القياسي, خالط الك دي أي يتم ضبط خصائصه كتالي:
The standard KDE mixer-settings
صورة 1: ضبط خصائص خالط الك دي أي القياسية

الصورة 1 تظهر, أن ألما يكرفون هو المصدر الحالي للتسجيل. لاحتياجاتنا سوف نوصل مصدر خارجي للتسجيل إلى الكمبيوتر, والذي سوف يستخدم موصل 'line-in' ككرت صوت. مصدر التسجيل يجب أن يكون 'line-in'. عندما يكون مؤشر الفارة مثبت على قناة line-in التابعة لخالط الك دي أي, وعند الضغط على زر الفارة اليمين تظهر لك قائمة مثل التي ظاهرة في الصورة 2:

Selecting the correct recording-source
صورة 2: اختيار المصدر الصحيح للتسجيل

طبعاً سوف يتم اختيار 'RecSource', حتى نستطيع أن نختار 'line-in' التابع لكرت الصوت. أستخدم نفس الطريقة حتى تجعل ألما يكرفون هو مصدر التسجيل. أنت لا تريد التشويش الجانبي!

 

أنتبه

إذا لم تختار 'line-in' على انه مصدر التسجيل, لن تتحصل على صوت من 'line-in' ( حتى لو كنت تستطيع أن تسمع الموسيقى بنفسك)!!! لا تنسى أن تثبت 'line-in' على عدم كتم الصوت. صورة 2 توضح هذا بشكل صحيح: أنت تستطيع أن تثبت 'line-in' على كتم الصوت, لذلك في الوقت الحالي هو مثبت على عدم كتم الصوت.

The KDE-mixer is set correctly
صوره 3: خالط الك دي أي مثبت بشكل صحيح

 

إجراءات احترازية, حتى تتمكن من التسجيل بشكل جيد

من المحتمل انك تعمل في نوافذ x Xwindows)) لذلك سوف تقوم بتشغيل 'mpegrec' تحت نوافذ x. وهذه ليست بالفكرة الجيدة لسببين:

الملاحظات المذكورة في الأعلى توضح أن التسجيل يكون في احسن حالاته, عندما لا تكون الواجهة الرسومية تعمل. هذا يعني يجب استخدام نافذة الأوامر (Bash) (a text-based shell). ولكن هذه الطريقة لها بعض العيوب:

هذه المشكلتين يمكن حلهم بسهولة. المشكلة الأولى وهي مشكلة دعم الصوت تنحل بالشكل التالي:
'modprobe -k sb'

هذا الأمر يشغل الوحدة القياسية (module) 'sb', التي تشغل وتفعل كرت الصوت. الكرت الذي عندي هو (SoundBlaster AWE 64). وإذا كنت لا تعرف أي وحدة قياسية يجب عليك تفعيلها لو سمحت انظر إلى '/etc/conf.modules' هذا في سوزي (ٍSuSE) أو إلى '/etc/modules.conf' (وهذا طبعاً يعتمد على نوع الإصدار الذي تستخدمه) بالنسبة لي, قسم كرت الصوت كتالي:

alias char-major-14 sb
pre-install sb /sbin/modprobe "-k" "adlib_card"
pre-install sb /sbin/modprobe "-k" "awe_wave"
options sb io=0x220 irq=5 dma=1 dma16=5 # mpu_io=0x330
options adlib_card io=0x388 # FM synthesizer
post-install sb /usr/bin/sfxload "/win98/Program Files/Creative/ctsnd/sfbank/synthgs.sbk"


هذا الأمر يشغل الوحدة القياسية (module) 'sb', التي تشغل وتفعل كرت الصوت. الكرت الذي عندي هو (SoundBlaster AWE 64). وإذا كنت لا تعرف أي وحدة قياسية يجب عليك تفعيلها لو سمحت انظر إلى '/etc/conf.modules' هذا في سوزي (ٍSuSE) أو إلى '/etc/modules.conf' (وهذا طبعاً يعتمد على نوع الإصدار الذي تستخدمه) بالنسبة لي, قسم كرت الصوت كتالي:


المشكلة الثانية اختيار'line-in' في كرت الصوت باستخدام برنامج خالط يدعم نافذة الأوامر الخطية (Text-based mixer-program ). أنا استخدم برنامج 'aumix'. فإذا كنت تستخدم نافذة الأوامر Bash, الأمر هو 'aumix' وسوف يتم بعدها تشغيل البرنامج, البرنامج سوف يعمل في وضع التفاعل interactive mode)). في هذا الوضع تضبيط خصائص الصوت وفحصها يتم بكل سهولة, انظر إلى الصورة 4.

The text-oriented mixer 'aumix'
صورة 4: الخالط المدعوم من نافذة الأوامر الداعمة للخط.فقط 'aumix'

بإمكانك أن تختار مصادر التسجيل المختلفة باستخدام مفاتيح الأسهم. المفاتيح > أو < تتحكم بقوة الصوت (يسار الصورة) أو التوازن (يمن الصورة). مفاتيح '+' و '-' يرفع أو يقلل من قوة الصوت الخاصة بمصدر التسجيل الحالي. 'm' يكتم أو يفتح كتم الصوت الخاص بمصدر الصوت الحالي. إذا تم اختيار المصدر الحالي للصوت على أنه هو مصدر التسجيل, سوف يظهر حرف 'R' باللون الأحمر على الجهة اليسرى من مصدر التحكم بالصوت. إذا كان المصدر يستخدم فقط للاستماع, سوف يظهر حرف 'P' باللون الأخضر. الضغط على 's' يحفظ التثبيت الحالي للخصائص في '~/.aumixrc'. وهذا التثبيت للخصائص يمكن تفعيلة بكل سهولة باستخدام الأمر التالي: 'aumix -l' .


لكي أجعل الأوامر المستخدمة في الأعلى تعمل بشكل تلقائي, قمت بكتابة هذا السكر يبت الصغير: './mrec test.mp3 وهذا السكر يبت يحتوي على الأسطر التالية:

#!/bin/sh
if [ -z "$1" ]; then
	echo "Usage: mrec mp3-output-file"
	exit 0
fi
modprobe -k sb
aumix -l
mpegrec -b 128 -o "$1"

الصوت سوف يتم تفعيلة , 'line-in' تم اختياره على أنه مصدر التسجيل و 'mpegrec' يبدأ مباشرتاً بالتسجيل.  

تركيب 'mpegrec'

لقد وضعت برنامج 'mpegrec' الذي استخدمته هنا في الموضوع للتنزيل. معلومات إضافية عن 'mpegrec' تستطيع أن تجدها في هذه الصفحة http://www.netwaysglobal.com/mpegrec/. فقط ملفات المصدر والملفات المترجمة للوندوز win32 تجدها في هذه الصفحة. لا توجد صفحة فيها معلومات إضافية, ولكن معلومات إضافية تستطيع أن تحصل عليها من هنا.

ملفات lame' و إلماحات التركيب تستطيع أن تتحصل عليها من . هنا.

التركيب تحت نظام التشغيل لينوكس

 

تركيب lame

نسخة 'lame', والتي تم استخدامها في هذا الموضوع, هي ايضاً متوفرة للتنزيل. صفحة 'lame هيhttp://www.mp3dev.org/mp3/.  

التركيب تحت نظام التشغيل لينوكس

 

تركيب sox

'Sox' هو برنامج لتسجيل, لتحويل أو لفتح ملفات الصوت. مثل على ذلك, ممكن إضافة صدى إلى ملف صوت. لمزيد من المعلومات إقراء ملف الإيضاح اليدوي ('sox' man-pages) ('man sox'). التحويلات التي ممكن أن يقوم بها برنامج 'Sox': يحول ملف wav إلى ملف au (فور مات الصوت الخاص بصن SUN) والعكس. وهذه الإمكانية تكون أحيانا عملية! نسخة'sox' التي استخدمت في هذا الموضوع يمكن إنزالها من هنا والصفحة هي هنا http://home.sprynet.com/~cbagwell/sox.html.  

التركيب تحت نظام التشغيل لينوكس

 

مشاكل أخرى

لقد وجد مشكلتان أخريان:  

Cron

هذه مشكلة عامة في نسخة سوزا (SuSE). عملية معقده يتم إطلاقها, حتى يتم تحديث ملفات الايضاح اليدوي (man-pages) و يزيل ملفات التسجيل والمراقبة log-files القديمة. هذه العملية مفيدة جداًَ, ولكنها تستخدم كثير من قوة ووقت المعالج عند تسجيل ألم بي ثري. قمت بتغير الاسم من 'cron' أثناء التسجيل, بحيث لا يمكن العثور على الملف ولا يتم تشغيله. بعد الانتهاء من التسجيل يتم إعادة الاسم القديم 'cron'! استخدم الأمر التالي حتى تغير اسم 'cron':

mv /usr/sbin/cron /usr/sbin/cron.backup

من المحتمل أن يكون موقع الملف 'cron' يختلف في إصدارات لينوكس المختلفة. تستطيع أن تجد موقع الملف 'cron' بالأمر التالي:

which cron

يجب أن تتأكد من أن الملف 'cron' لا يستخدم في واجبات أخري. على سطح المكتب الخاص بلينوكس يجب أن تكون هذه العملية سهلة.

مشكلة في محركات الصوت.

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

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

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

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

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

2001-05-27, generated by lfparser version 2.13