جدول المحتويات:

كاميرا مدفوعة بالصوت باستخدام Raspberry Pi: 6 خطوات
كاميرا مدفوعة بالصوت باستخدام Raspberry Pi: 6 خطوات

فيديو: كاميرا مدفوعة بالصوت باستخدام Raspberry Pi: 6 خطوات

فيديو: كاميرا مدفوعة بالصوت باستخدام Raspberry Pi: 6 خطوات
فيديو: مقطع مرعب الديب ويب 😮😲🤯#shorts 2024, يوليو
Anonim
كاميرا مدفوعة بالصوت باستخدام Raspberry Pi
كاميرا مدفوعة بالصوت باستخدام Raspberry Pi

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

الخطوة 1: دليل الأجهزة

دليل الأجهزة
دليل الأجهزة

تم تصميم VDC على Raspberry Pi (الطراز B) ويتطلب بعض الأجهزة الإضافية مثل محول wifi (اختياري) وميكروفون USB. الأجهزة المقترحة مُشار إليها أدناه مع روابط لمزيد من التفاصيل. يمكنك تجربة ماركات / مواصفات مختلفة قليلاً للأجهزة. لا ينتمي VDC إلى أي من بائعي الأجهزة المرتبطين.

القائمة الكاملة

  1. Raspberry Pi موديل بي
  2. بيكاميرا
  3. ميكروفون USB صغير
  4. بطاقة الذاكرة
  5. كابل إيثرنت
  6. محول USB صغير (اختياري)
  7. Micro USB - شاحن حائط
  8. مكبرات الصوت التي تعمل من خلال مقبس الصوت Raspberry Pi (ربما تحتاج إلى التشغيل الذاتي)

قد تكون قائمة الأجهزة الطرفية التي تم التحقق منها من Raspberry Pi مفيدة للعثور على بدائل للمنتجات الموصى بها أعلاه.

المجسم

يتم تجميع المكونات المطلوبة بشكل مباشر. أدخل الميكروفون وبطاقة SD والمحول اللاسلكي (إذا كان لديك واحد) وكابل micro-USB وكابل إيثرنت ومكبرات الصوت في Raspberry Pi. يوصى بمحول الشحن الجداري USB للتشغيل كجهاز مستقل.

سيتم استخدام كابل إيثرنت لتسجيل الدخول إلى باي من جهاز كمبيوتر أثناء خطوة تثبيت البرنامج. بعد التثبيت ، إذا كنت تفضل استخدام اتصال لاسلكي ، فيمكن إزالة هذا الكابل.

اتصال الإنترنت

كما ذكر أعلاه ، فإن المحول اللاسلكي اختياري. إنه يعمل بشكل جيد على اتصال سلكي (عبر إيثرنت) ، بحيث يمكنك الاختيار بين الإعدادين اعتمادًا على الأفضل بالنسبة لك.

الخطوة 2: تثبيت نظام التشغيل على Raspberry Pi

تثبيت نظام التشغيل على Raspberry Pi
تثبيت نظام التشغيل على Raspberry Pi

مقدمة

Raspberry Pi هو معالج صغير بحجم بطاقة الائتمان متوفر في طرز مختلفة مع سرعة معالجة مختلفة تبدأ من 700 ميجاهرتز. سواء كان لديك الطراز B أو الطراز B + ، أو الإصدار القديم جدًا ، تظل عملية التثبيت كما هي. قد يكون الأشخاص الذين قاموا بفحص موقع Raspberry Pi الرسمي قد رأوهم يوصون بنظام التشغيل "NOOBS" أو "NOOBS LITE" (المعروف أيضًا باسم "OS") للمبتدئين. لكن استخدام Pi سهل للغاية ، ومن كونه مبتدئًا ، سيتحول المرء إلى محترف في أي وقت من الأوقات. لذلك ، من الأفضل استخدام نظام التشغيل الأكثر قوة وفعالية ، Raspbian. السبب الرئيسي لشعبية Raspbian هو أنه يحتوي على الآلاف من المكتبات المبنية مسبقًا لأداء العديد من المهام وتحسين نظام التشغيل. هذا يشكل ميزة كبيرة أثناء بناء التطبيقات.

تنزيل Raspbian وكاتب الصور

قم بتنزيل أحدث إصدار من Raspbian من هنا. يمكنك تنزيله مباشرة أو عبر السيول.

صفحة Raspbian

رابط تنزيل نظام التشغيل Raspbian OS

ستحتاج إلى كاتب صور لكتابة نظام التشغيل الذي تم تنزيله في بطاقة SD (بطاقة micro SD في حالة طراز Raspberry Pi B +). لذا قم بتنزيل "win32 disk imager" من هنا.

كتابة الصورة

أدخل بطاقة SD في الكمبيوتر المحمول / الكمبيوتر الشخصي وقم بتشغيل كاتب الصور. بمجرد الفتح ، تصفح وحدد ملف صورة Raspbian الذي تم تنزيله. حدد الجهاز الصحيح ، أي محرك الأقراص الذي يمثل بطاقة SD. إذا كان محرك الأقراص (أو الجهاز) المحدد مختلفًا عن بطاقة SD ، فسيصبح محرك الأقراص الآخر المحدد تالفًا. لذا كن حذرا.

بعد ذلك ، انقر فوق الزر "كتابة" في الأسفل. على سبيل المثال ، انظر إلى الصورة أدناه ، حيث يتم تمثيل محرك بطاقة SD (أو محرك micro SD) بالحرف "G: \"

بمجرد اكتمال الكتابة ، أخرج بطاقة SD وأدخلها في Raspberry Pi وقم بتشغيلها. يجب أن تبدأ في التمهيد.

إعداد ملف Pi

يرجى تذكر أنه بعد تمهيد Pi ، قد تكون هناك مواقف يتم فيها طلب بيانات اعتماد المستخدم مثل "اسم المستخدم" وكلمة المرور. يأتي Raspberry Pi مع اسم مستخدم وكلمة مرور افتراضيين ولذا استخدمهما دائمًا كلما طُلب منك ذلك. أوراق الاعتماد هي:

تسجيل الدخول: pi

كلمة المرور: التوت

عندما يتم تمهيد Pi لأول مرة ، يجب أن تظهر شاشة تكوين تسمى "خيارات الإعداد" وستبدو مثل الصورة أدناه.

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

sudo raspi-config

بمجرد تنفيذ هذا الأمر ، ستظهر شاشة "خيارات الإعداد" كما هو موضح في الصورة أعلاه.

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

أول شيء يجب فعله:

حدد الخيار الأول في قائمة نافذة خيارات الإعداد ، وهو تحديد ملف

قم بتوسيع نظام الملفات

الخيار واضغط على مفتاح الدخول. نقوم بذلك للاستفادة من كل المساحة الموجودة على بطاقة SD كقسم كامل. كل ما يفعله هذا هو توسيع نظام التشغيل ليناسب المساحة الكاملة على بطاقة SD والتي يمكن استخدامها بعد ذلك كذاكرة تخزين لـ Pi. الشيء الثاني الذي يجب فعله:

حدد الخيار الثالث في قائمة نافذة خيارات الإعداد ، وهو تحديد خيار "Enable Boot To Desktop / Scratch" واضغط على مفتاح الإدخال. سينقلك إلى نافذة أخرى تسمى نافذة "اختر خيار التمهيد" التي تشبه الصورة أدناه.

في "اختيار نافذة خيار التمهيد" ، حدد الخيار الثاني ، وهو "تسجيل الدخول إلى سطح المكتب كمستخدم" pi "على سطح المكتب الرسومي" واضغط على زر الإدخال. بمجرد الانتهاء من ذلك ، ستتم إعادتك إلى صفحة "خيارات الإعداد" ، وإذا لم يكن الأمر كذلك ، فحدد الزر "موافق" في الجزء السفلي من هذه النافذة وستتم إعادتك إلى النافذة السابقة. نقوم بذلك لأننا نريد التمهيد في بيئة سطح المكتب التي نعرفها. إذا لم نقم بهذه الخطوة ، فسيقوم Raspberry Pi بالتمهيد إلى محطة طرفية في كل مرة بدون خيارات واجهة المستخدم الرسومية. بمجرد الانتهاء من كلتا الخطوتين ، حدد زر "إنهاء" في أسفل الصفحة ويجب إعادة التشغيل تلقائيًا. إذا لم يحدث ذلك ، فاستخدم الأمر التالي في الجهاز لإعادة التشغيل.

sudo إعادة التشغيل

تحديث البرنامج الثابت

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

بمجرد أن تكون على سطح المكتب ، افتح Terminal وأدخل الأمر التالي لتحديث البرنامج الثابت لـ Pi.

sudo rpi-update

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

هنا رابط الفيديو متاح:

تثبيت وتكوين نظام تشغيل Raspbian Jessie على Raspberry Pi (انقر فوق الارتباط)

الخطوة 3: قم بإعداد VNC على Raspberry Pi للتحكم عن بعد

قم بإعداد VNC على Raspberry Pi للتحكم عن بعد
قم بإعداد VNC على Raspberry Pi للتحكم عن بعد

VNC (حوسبة الشبكة الافتراضية)

في بعض الأحيان ، ليس من المناسب العمل مباشرة على Raspberry Pi. ربما ترغب في العمل عليها من جهاز آخر بواسطة جهاز التحكم عن بعد.

VNC هو نظام مشاركة سطح مكتب رسومي يسمح لك بالتحكم عن بعد في واجهة سطح المكتب لجهاز كمبيوتر واحد (يقوم بتشغيل خادم VNC) من كمبيوتر آخر أو جهاز محمول (يقوم بتشغيل VNC Viewer). يقوم VNC Viewer بنقل لوحة المفاتيح والماوس أو أحداث اللمس إلى خادم VNC ، ويتلقى تحديثات للشاشة في المقابل.

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

تم تضمين VNC Connect من RealVNC مع Raspbian. يتكون من كل من خادم VNC ، والذي يسمح لك بالتحكم في Raspberry Pi الخاص بك عن بعد ، و VNC Viewer ، والذي يسمح لك بالتحكم في أجهزة كمبيوتر سطح المكتب عن بُعد من Raspberry Pi الخاص بك إذا كنت تريد ذلك.

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

تمكين خادم VNC

على Raspberry Pi الخاص بك ، قم بتشغيل الأوامر التالية للتأكد من أن لديك أحدث إصدار من VNC Connect:

sudo apt-get update

sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

الآن قم بتمكين خادم VNC. يمكنك القيام بذلك بيانيا أو في سطر الأوامر.

تمكين خادم VNC بيانياً

على Raspberry Pi ، قم بالتمهيد إلى سطح المكتب الرسومي.

حدد القائمة> التفضيلات> تكوين Raspberry Pi> الواجهات.

تأكد من تمكين VNC. تمكين خادم VNC في سطر الأوامر

يمكنك تمكين VNC Server في سطر الأوامر باستخدام raspi-config:

sudo raspi-config

الآن ، قم بتمكين خادم VNC عن طريق القيام بما يلي:

انتقل إلى خيارات التفاعل

قم بالتمرير لأسفل وحدد VNC> نعم. الاتصال بـ Raspberry Pi الخاص بك باستخدام VNC Viewer

هناك طريقتان للاتصال بـ Raspberry Pi الخاص بك. يمكنك استخدام أحدهما أو كليهما ، اعتمادًا على ما يناسبك.

إقامة اتصال مباشر

الاتصالات المباشرة سريعة وبسيطة بشرط أن تكون منضمًا إلى نفس الشبكة المحلية الخاصة مثل Raspberry Pi. على سبيل المثال ، قد تكون شبكة سلكية أو لاسلكية في المنزل أو في المدرسة أو في المكتب).

على Raspberry Pi الخاص بك (باستخدام نافذة طرفية أو عبر SSH) استخدم هذه التعليمات أو قم بتشغيل ifconfig لاكتشاف عنوان IP الخاص بك.

ifconfig

على الجهاز الذي ستستخدمه للتحكم ، قم بتنزيل VNC Viewer. للحصول على أفضل النتائج ، استخدم التطبيق المتوافق من RealVNC.

أدخل عنوان IP الخاص بـ Raspberry Pi في VNC Viewer:

إنشاء اتصال سحابي

يحق لك استخدام خدمة RealVNC السحابية مجانًا ، بشرط أن يكون الوصول عن بُعد للأغراض التعليمية أو غير التجارية فقط.

الاتصالات السحابية مريحة ومشفرة من طرف إلى طرف. يوصى بشدة بالاتصال بـ Raspberry Pi عبر الإنترنت. لا يوجد جدار حماية أو إعادة تكوين جهاز التوجيه ، ولا تحتاج إلى معرفة عنوان IP الخاص بـ Raspberry Pi ، أو تقديم عنوان ثابت.

قم بالتسجيل للحصول على حساب RealVNC هنا: إنه مجاني ولا يستغرق سوى بضع ثوانٍ.

على Raspberry Pi الخاص بك ، قم بتسجيل الدخول إلى خادم VNC باستخدام بيانات اعتماد حساب RealVNC الجديد:

على الجهاز الذي ستستخدمه للتحكم ، قم بتنزيل VNC Viewer. يجب عليك استخدام التطبيق المتوافق من RealVNC

قم بتسجيل الدخول إلى VNC Viewer باستخدام نفس بيانات اعتماد حساب RealVNC ، ثم اضغط أو انقر للاتصال بـ Raspberry Pi الخاص بك:

المصادقة على خادم VNC

لإكمال اتصال مباشر أو اتصال سحابي ، يجب عليك المصادقة على خادم VNC.

إذا كنت تتصل من تطبيق VNC Viewer المتوافق من RealVNC ، فأدخل اسم المستخدم وكلمة المرور اللذين تستخدمهما عادةً لتسجيل الدخول إلى حساب المستخدم الخاص بك على Raspberry Pi. بشكل افتراضي ، أوراق الاعتماد هذه هي pi و Raspberry.

إذا كنت تتصل من تطبيق غير RealVNC Viewer ، فستحتاج أولاً إلى الرجوع إلى إصدار أقدم من نظام مصادقة خادم VNC ، وتحديد كلمة مرور فريدة لخادم VNC ، ثم إدخالها بدلاً من ذلك. للقيام بذلك ، افتح مربع حوار خادم VNC في Raspberry Pi الخاص بك ،

حدد القائمة> الخيارات> الأمان ،

واختر كلمة مرور VNC من المصادقة.

لتشغيل هذه الميزة:

في Raspberry Pi الخاص بك ، افتح مربع حوار خادم VNC.

انتقل إلى القائمة> الخيارات> استكشاف الأخطاء وإصلاحها وحدد تمكين وضع الالتقاط المباشر التجريبي.

على الجهاز الذي ستستخدمه للتحكم ، قم بتشغيل VNC Viewer والاتصال.

ملاحظة: يجب إعادة تشغيل الاتصالات الموجودة حتى تدخل هذه التغييرات حيز التنفيذ.

إذا بدا الأداء ضعيفًا ، فجرّب خطوات استكشاف الأخطاء وإصلاحها هذه ، أو أخبر RealVNC بذلك.

إنشاء سطح مكتب افتراضي

إذا كان Raspberry Pi الخاص بك بلا رأس (أي غير متصل بشاشة) أو يتحكم في روبوت ، فمن غير المرجح أن يقوم بتشغيل سطح مكتب رسومي.

يمكن لـ VNC Server إنشاء سطح مكتب افتراضي لك ، مما يمنحك وصولاً رسوميًا عن بُعد عند الطلب. سطح المكتب الافتراضي هذا موجود فقط في ذاكرة Raspberry Pi الخاصة بك:

لإنشاء سطح مكتب افتراضي والاتصال به:

على Raspberry Pi الخاص بك (باستخدام Terminal أو عبر SSH) ، قم بتشغيل خادم vnc. قم بتدوين عنوان IP / رقم العرض الذي سيطبعه خادم VNC إلى جهازك الطرفي (على سبيل المثال ، 192.167. **. **).

على الجهاز الذي ستستخدمه للتحكم ، أدخل هذه المعلومات في VNC Viewer. لتدمير سطح مكتب افتراضي ، قم بتشغيل الأمر التالي:

vncserver- قتل:

سيؤدي هذا أيضًا إلى إيقاف أي اتصالات موجودة بسطح المكتب الافتراضي هذا.

الخطوة 4: تكوين الكاميرا

تكوين الكاميرا
تكوين الكاميرا

إعداد جهاز الكاميرا

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

يتم توصيل لوحة الكاميرا بـ Raspberry Pi عبر كبل شريطي ذي 15 اتجاهًا. هناك نوعان فقط من التوصيلات التي يجب إجراؤها: يجب توصيل كابل الشريط بكاميرا PCB ، و Raspberry Pi نفسه. تحتاج إلى توصيل الكابل بالطريقة الصحيحة وإلا لن تعمل الكاميرا. على كاميرا PCB ، يجب أن يكون الجزء الخلفي الأزرق الموجود على الكابل بعيدًا عن PCB ، وفي Raspberry Pi ، يجب أن يتجه نحو اتصال Ethernet (أو حيث سيكون موصل Ethernet إذا كنت تستخدم الطراز A).

على الرغم من اختلاف الموصلات الموجودة على PCB و Pi ، إلا أنها تعمل بطريقة مماثلة. في Raspberry Pi نفسه ، اسحب علامات التبويب الموجودة على كل طرف من طرفي الموصل. يجب أن تنزلق بسهولة ، وتكون قادرة على الدوران قليلاً. أدخل كابل الشريط بالكامل في الفتحة ، وتأكد من ضبطه بشكل مستقيم ، ثم اضغط برفق على الألسنة لأسفل لتثبيته في مكانه. يتطلب موصل PCB الخاص بالكاميرا أيضًا سحب الألسنة بعيدًا عن اللوحة ، وإدخال الكابل برفق ، ثم دفع الألسنة للخلف. يمكن أن يكون موصل PCB أكثر صعوبة من الموصل الموجود على Pi نفسه.

إعداد برنامج الكاميرا

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

sudo apt-get update

sudo apt-get ترقية

أنت الآن بحاجة إلى تمكين دعم الكاميرا باستخدام ملف

raspi التكوين

البرنامج الذي ستستخدمه عند إعداد Raspberry Pi لأول مرة.

sudo raspi-config

استخدم مفاتيح المؤشر للانتقال إلى خيار الكاميرا ، وحدد "تمكين". عند الخروج من raspi-config ، سيطلب إعادة التشغيل. سيضمن خيار التمكين أنه عند إعادة التشغيل ، سيتم تشغيل برنامج GPU الثابت الصحيح مع برنامج تشغيل الكاميرا والضبط ، وأن تقسيم ذاكرة GPU كافٍ للسماح للكاميرا بالحصول على ذاكرة كافية للتشغيل بشكل صحيح.

إذا لم يتم تمكينه ، فقم بتمكينه وأعد تشغيل Pi للبدء

لاختبار أن النظام مثبت ويعمل ، جرب الأمر التالي:

raspistill -v -o test.jpg

يجب أن تُظهر الشاشة معاينة مدتها خمس ثوانٍ من الكاميرا ثم تلتقط صورة محفوظة في ملف test-j.webp

راسبيفيد

Raspivid هي أداة سطر الأوامر لالتقاط الفيديو باستخدام وحدة الكاميرا.

مع توصيل وحدة الكاميرا وتمكينها ، قم بتسجيل مقطع فيديو باستخدام الأمر التالي:

raspivid- أو vid.h264

تذكر أن تستخدم

-Hf

و

-vf

لقلب الصورة إذا لزم الأمر ، مثل

التوت

سيؤدي هذا إلى حفظ ملف فيديو مدته 5 ثوانٍ إلى المسار الموضح هنا كـ vid.h264 (المدة الزمنية الافتراضية).

حدد طول الفيديو

لتحديد طول الفيديو الذي تم التقاطه ، قم بتمرير العلامة -t مع عدد من المللي ثانية. على سبيل المثال:

raspivid-o video.h264 -t 10000

سيؤدي هذا إلى تسجيل 10 ثوانٍ من الفيديو.

تنسيق الفيديو MP4

يلتقط Pi الفيديو باعتباره تدفق فيديو خام H264. ترفض العديد من مشغلات الوسائط تشغيلها أو تشغيلها بسرعة غير صحيحة ، ما لم يتم "تغليفها" بتنسيق حاوية مناسب مثل MP4. أسهل طريقة للحصول على ملف MP4 من ملف

خشن

الأمر يستخدم MP4Box.

قم بتثبيت MP4Box باستخدام هذا الأمر:

sudo apt-get install -y gpac

التقط مقطع الفيديو الخام الخاص بك بخشونة وقم بلفه في حاوية MP4 مثل هذا:

# التقاط 30 ثانية من الفيديو الخام بمعدل بت 640 × 480 و 150 كيلو بايت / ثانية في ملف pivideo.h264:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0، 0، 640، 480-pivideo.h264 # لف الفيديو الخام باستخدام حاوية MP4 MP4Box -add pivideo.h264 pivideo.mp4 # Remove الملف الخام المصدر ، وترك ملف pivideo.mp4 المتبقي لتشغيل rm pivideo.h264

بدلاً من ذلك ، قم بلف MP4 حول إخراجك الخشن الموجود ، مثل هذا:

MP4Box- إضافة فيديو. h264 video.mp4

الخطوة 5: التثبيت والتكوين

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

تثبيت التبعيات

تركيب Sphinxbase / Pocketsphinx

أولاً ، تحتاج إلى تثبيت Pocketsphinx. إذا كنت تستخدم Debian Sid (غير مستقر) أو Jessie (للاختبار) ، فما عليك سوى القيام بما يلي:

sudo apt-get update

sudo apt-get install pocketsphinx

ابدأ بتثبيت بعض التبعيات:

sudo apt-get install subversion autoconf libtool automake gfortran g ++ - نعم

بعد ذلك ، انتقل إلى دليل منزلك (أو Jasper) للتحقق من CMUCLMTK وتثبيته:

svn co

cd cmuclmtk /

./autogen.sh && make && sudo جعل التثبيت

قرص مضغوط..

بعد ذلك ، عندما تغادر دليل CMUCLTK ، نزِّل المكتبات التالية:

تثبيت Phonetisaurus و m2m-aligner و MITLM

لاستخدام محرك Pocketsphinx STT ، تحتاج أيضًا إلى تثبيت MIT Language Modeling Toolkit و m2m-aligner و Phonetisaurus (وبالتالي OpenFST).

إذا كنت لا تستخدم دبيان ، فاتبع الخطوات التالية:

#-أصلي:

# wget https://distfiles.macports.org/openfst/openfst-1.3 …

#-الجديد:

wget https://distfiles.macports.org/openfst/openfst-1.3 …

wget

wget

wget

Untar التنزيلات:

القطران -xvf m2m-aligner-1.2.tar.gz

tar -xvf openfst-1.3.4.tar.gz

tar -xvf is2013-conversion.tgz

القطران -xvf mitlm-0.4.1.tar.gz

بناء OpenFST:

القرص المضغوط openfst-1.3.4 /

sudo./configure --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt

الوقت sudo جعل التثبيت # يعود بعد وقت طويل حقا

قرص مضغوط..

66 م حقيقي 38.394 ثانية

المستخدم 64 م 42.620 ثانية

sys 1m2.150 ثانية

df -h /

حجم نظام الملفات المستخدم متوفر الاستخدام٪ Mounted on / dev / root 14G 4.4G 8.3G 35٪ /

بناء M2M:

cd m2m-aligner-1.2 /

sudo

قرص مضغوط..

بناء MITLMT:

القرص المضغوط mitlm-0.4.1 /

sudo./ تكوين

sudo جعل التثبيت

قرص مضغوط..

بناء Phonetisaurus:

القرص المضغوط is2013-تحويل / صوتي / SRC

sudo

قرص مضغوط

انقل بعض الملفات المترجمة:

sudo cp ~ / m2m-aligner-1.2 / m2m-aligner / usr / local / bin / m2m-aligner

#-أصلي:

# sudo cp ~ / phonetisaurus-0.7.8 / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

#-يجب أن يكون:

sudo cp ~ / is2013-convert / bin / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

لاحظ المسار الذي تم تغييره للملف القابل للتنفيذ.

الحصول على نموذج صوتي FST وبناءه

wget

tar -xvf g014b2b.tgz

القرص المضغوط g014b2b /

./compile-fst.sh

قرص مضغوط..

أخيرًا ، أعد تسمية المجلد التالي للراحة:

mv ~ / g014b2b ~ / صوتي

بمجرد اكتمال التثبيتات ، أعد تشغيل Pi الخاص بك.

اتباع التعليمات من

أضفت أيضًا الملف (الجديد) `/ etc / modprobe.d / alsa-base.conf` مع هذا المحتوى:

# هذا يحدد قيمة فهرس البطاقات ولكن لا يعيد ترتيبها.

خيارات snd_usb_audio index = 0

خيارات snd_bcm2835 مؤشر = 1

# هل إعادة الترتيب.

فتحات الخيارات snd = snd_usb_audio ، snd_bcm2835

لضمان الترتيب الصحيح لأجهزة الصوت (لست متأكدًا تمامًا من أن هذا مطلوب حقًا)

تم الانتهاء من عمليات التثبيت - بعض التصحيح بعد ذلك …

محاولة بدء اليشب:

pi @ AVIV: ~ $./jasper/jasper.py

Traceback (آخر مكالمة أخيرة):

ملف "./jasper/jasper.py" ، السطر 12 ، من استيراد العميل tts ، stt ، jasperpath ، تشخيص الملف "/home/pi/jasper/client/tts.py" ، السطر 41 ، في استيراد ملف التشخيص "/ home / pi / jasper / client / diagnose.py "، السطر 9 ، في ملف استيراد pip.req" /usr/lib/python2.7/dist-packages/pip/_init_.py "، السطر 74 ، من النقطة. vcs import git، mercurial، subversion، bazaar # noqa File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py" ، السطر 9 ، من pip.download import path_to_url File "/ usr / lib / python2.7 / dist -pack / pip / download.py "، السطر 25 ، في من request.com استيراد عبوات IncompleteRead ImportError: لا يمكن استيراد الاسم IncompleteRead

ثابت مع:

sudo easy_install -U pip

الاصدار القادم:

بي @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* جاسبر - الكمبيوتر المتكلم * * (ج) 2015 Shubhro Saha و Charlie Marsh و Jan Holthuis * ******************************* ************************** خطأ: الجذر: حدث خطأ! Traceback (آخر مكالمة أخيرة): ملف "./jasper/jasper.py" ، السطر 143 ، في app = Jasper () File "./jasper/jasper.py" ، السطر 88 ، في _init_ stt_engine_class = stt.get_engine_by_slug (stt_engine_slug) ملف "/home/pi/jasper/client/stt.py" ، سطر 648 ، في تبعيات get_engine_by_slug ، وما إلى ذلك) ")٪ slug)

ValueError: محرك STT 'sphinx' غير متاح (بسبب التبعيات المفقودة ، التبعيات المفقودة ، إلخ.)

محاولة

sudo apt-get install -y python-pocketsphinx

إصلاح المسار إلى `../ phonetisaurus / g014b2b.fst` ليكون` / home / pi / phonetisaurus / g014b2b.fst` بدلاً من ذلك (في `.jasper / profile.yml`)

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* جاسبر - الكمبيوتر المتكلم * * (ج) 2015 Shubhro Saha و Charlie Marsh و Jan Holthuis * ******************************* ************************** خطأ: client.stt: hmm_dir '/ usr / local / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k ' غير موجود! يرجى التأكد من أنك قمت بتعيين hmm_dir الصحيح في ملف التعريف الخاص بك.

إصلاح / تنشيط المسار لهذا في `profile.yml` أيضًا:

hmm_dir: '/ usr / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k' # اختياري

(لاحظ عدم وجود "محلي" في المسار)

نجاح جزئي -:

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* جاسبر - الكمبيوتر المتكلم * * (ج) 2015 Shubhro Saha و Charlie Marsh و Jan Holthuis * ******************************* ************************** ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) غير معروف بطاقات PCM.pcm.rear ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) بطاقات PCM غير معروفة. pcm.center_lfe ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) بطاقات PCM غير معروفة. pcm.c: 2239: (snd_pcm_open_noupdate) غير معروف بطاقات PCM.pcm.hdmi ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) بطاقات PCM غير معروفة..modem ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) غير معروف بطاقات PCM.pcm.phoneline ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) بطاقات PCM غير معروفة.: غير قادر على الاتصال: رفض الاتصال ALSA lib pulse.c: 243: (pulse_connect) PulseAudio: غير قادر على الاتصال: رفض الاتصال لا يمكن الاتصال للخدمة r socket err = لا يوجد مثل هذا الملف أو الدليل لا يمكن الاتصال بخادم مقبس قناة طلب الخادم لا يعمل أو لا يمكن بدء تشغيل Expression 'paInvalidSampleRate' فشل في 'src / hostapi / alsa / pa_linux_alsa.c' ، السطر: 2048 Expression 'PaAlsaStreamComponent_InitialConfigure (& self -> التقاط ، inParams ، self-> primeBuffers ، hwParamsCapture ، و realSr) 'فشل في' src / hostapi / alsa / pa_linux_alsa.c '، السطر: 2719 Expression' PaAlsaStream_Configure (تيار ، إدخال المعلمات ، إخراج المعلمات ، معدل العينة ، الإطارات & PerBatency ، & hostBufferSizeMode) 'فشل في' src / hostapi / alsa / pa_linux_alsa.c '، السطر: 2843 Traceback (آخر مكالمة أخيرة): ملف "./jasper/jasper.py" ، السطر 148 ، في ملف app.run () "./jasper/jasper.py" ، السطر 118 ، في تشغيل محادثة. (self.persona) ملف "/home/pi/jasper/client/mic.py" ، السطر 110 ، في الإطارات المنفعلة للاستماع_per_buffer = CHUNK) ملف "/usr/lib/python2.7/dist-packages/pyaudio.py" ، السطر 747 ، في دفق مفتوح = دفق (self ، * args ، ** kwargs) ملف "/usr/lib/python2.7/dist -packages / pyaudio.py "، السطر 442 ، في _init_ self._stream = pa.open (** arguments) خطأ IO: [Errno Invalid sample rate] -9997

حسنًا ، يبدو أن إصلاح RATE و CHUNK مثل هذا يزيد:

فرق - بوابة a / client / mic.py b / client / mic.py

الفهرس 401cddb..dee49fe 100644

--- أ / العميل / mic.py

+++ b / client / mic.py

-93، 8 +93، 8class Mic:

"""

THRESHOLD_MULTIPLIER = 1.8

- المعدل = 16000

- CHUNK = 1024

+ المعدل = 44100 # 16000

+ CHUNK = 4096 # 1024

# عدد الثواني للسماح بتحديد العتبة

THRESHOLD_TIME = 1

الخطوة 6: إخراج لقطات الشاشة

موصى به: