اگر تا به حال سعی کرده باشید تا با کسی که فقط میتواند به زبان خارجی صحبت کند ارتباط برقرار کنید، حتماً میدانید که این کار دشوار و سختی است(حتی با کمک سایتهای مترجم مدرن). این پست به شما نشان میدهد که چگونه یک مینی کامپیوتر سی و پنج دلاری را تبدیل به یک مترجم حرفهای با قابلیت فهم صدا تبدیل کنید و حرف هیا خود را به هزاران زبان ترجمه کنید. نکته ی مهم کار ما این است که این کار با یک برد ارزانقیمت و API های رایگان ترجمه و نرمافزار های متن باز انجام خواهیم داد.
حتی اگر از ساخت یک ابزار مترجم لذت نمی برید، چیز های دیگری هستند که احتمالاً از آنها حتماً لذت خواهید برد. مثل استفاده از API سیستم شناسایی صدای گوگل (Google Speech) و API ترجمه مایکروسافت و تبدیل متن به گفتار! سورس همه ی کد هایی که در این پروژه از آن استفاده کردهایم در گیتهاب موجود است و میتوانید در صورت نیاز آن هار را تغییر دهید و استفاده کنید. ساخت یک مترجم جهانی میتواند یک آخر هفته خوب را برایتان بسازد چون در آن از تکنولوژی ها و ابزار های مفید زیادی برای ساخت سریع آن استفاده می شود.
مرحله ی اول: نصب و تنظیم رزبری پای
اگر هنوز یک رزبری پای آماده به کار ندارید راهنمایی که توسط بنیاد رزبری پای تهیه شده را ببینید. لینک
مطمئن شوید که رزبری به اینترنت متصل شده، اگر اتصال اترنت در دسترستان نیست میتوانید از دانگل USB وای فای استفاده کنید تا بتوانید به شبکه مورد نظرتان استفاده کنید.
در ترمینال رزبری خود دستورات زیر را اجرا کنید تا نرمافزار هایش آپدیت شوند:
1 2 |
sudo apt-get update sudo apt-get upgrade |
این پروسه ممکن است کمی طول بکشد.
با دستور زیر نرمافزار هایی که در این پروژه نیاز داریم را نصب کنید:
1 2 |
sudo apt-get install python-pip mplayer flac python2.7-dev libcurl4-gnutls-dev sudo pip install requests pycurl |
این پروژه با آخرین نسخه رزبین که تا ژوئن ۲۰۱۴ منتشر شده تست شده و ممکن است الآن که این پست را میخوانید به خاطر آپدیت هایی که انجام شده جزئیاتی تغییر کرده باشد.برای اینکه ورژن نرمافزار خود را با چیزی که ما از آن استفاده کردیم مقایسه کنید از دستور زیر استفاه کنید:
1 2 |
pi@raspberrypi ~ $ uname -a Linux raspberrypi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l GNU/Linux |
هدستی با پورت USB تهیه کرده و آن را به رزبری خود وصل کنید.
اجرای دستورات زیر لیستی از دیوایس های صدای رزبری را به شما نشان خواهد داد:
1 2 |
cat /proc/asound/cards cat /proc/asound/moudules |
باید بتوانید هدستی که وصل کردهاید را در این لیست ببینید. احتمالاً هدست را به عنوان card 1 و دستور دوم درایور پیشفرض برای card 0 (که خروجی پیشفرض است) را snd_bcm2835 نشان می دهد. درایور برای card 1(هدست ما) snd_usb_audio است. اگر هدست را در لیست نمیبینید سیستم را ریبوت کنید:
1 |
sudo reboot |
برای اینکه هدست به عنوان ورودی و خروجی پیشفرض صدا در نظر گرفته شود، باید تنظیمات ALSA را کمی تغییر دهید. ابتدا فایل زیر را در ویرایشگر نانو باز کنید:
1 |
sudo nano /etc/modprobe.d/alsa-base.conf |
خط زیر را پیدا کنید:
1 |
options snd-usb-audio index=-2 |
و آن را به خط زیر تعییر دهید:
1 |
options snd-usb-audio index=0 |
با فشردن کلید های Ctrl + X و سپس y فایل را ذخیره کنید و سپس رزبری را ریبوت کنید:
1 |
sudo reboot |
پس از ریبوت با زدن دوباره این دستورات خواهید دید که هدست به عنوان card 0 شناخته شده است.
1 2 |
cat /proc/asound/cards cat/proc/asound/moudules |
برای تست میتوانید دستور زیر را اجرا کنید تا میکروفون برای پنج ثانیه فعال شود و صدا ها را ضبط کند:
1 |
arecord -d 5 -r 48000 make.wav |
این دستور هم صدای ضبط شده را پخش می کند:
1 |
aplay make.wav |
اگر به خاطر کیفیت صدا نگرانید باید بگویم که در مرحله بعدی به این مشکل رسیدگی میکنیم پس نگران نباشید 🙂
برای تنظیم صدا های ورودی و خروجی میتوانید از alsanixer استفاده کنید:
1 |
sudo alsamixer |
ممنون از مطلب مفیدتان. عالی بود!
با سلام
از توجه شما سپاسگزارم.