Raspberry Pi'yi sesinizle nasıl kontrol edebilirsiniz?

01/26 2017

Amazon Echo gibi sesle etkinleştirilen cihazlar giderek daha popüler hale geliyor ve bir Raspberry Pi, ucuz bir USB mikrofon ve bazı uygun yazılımlar kullanarak kendinizinkini yapabilirsiniz. 

Siz de sadece konuşarak Raspberry Pi'nizin YouTube'da arama yapmasını, web sayfalarını açmasını, uygulamaları başlatmasını ve hatta sorulara yanıt vermesini sağlayabilirsiniz.

Raspberry Pi'de yerleşik bir ses kartı veya ses girişi yoktur, bu nedenle bu proje için bir USB mikrofona veya dahili mikrofonlu bir web kamerasına ihtiyacınız vardır. Yazılımı bir Microsoft HD-3000 (yeni sekmede açılır) web kamerası kullanarak test ettik, ancak uyumlu herhangi bir cihaz da iş görecektir. Henüz sahip değilseniz, Raspberry Pi uyumlu web kameralarının tam listesini ziyaret edin (yeni sekmede açılır) , ancak hangi cihazı seçerseniz seçin entegre bir mikrofona sahip olduğundan emin olun.

USB mikrofon veya web kamerası bulup bulamayacağınıza bakın

Yalnızca ses jakı olan bir mikrofonunuz varsa, bir ucunda USB bağlantı noktasına takılan ve diğer ucunda kulaklık ve mikrofon çıkışı olan ucuz bir USB ses kartı için Amazon veya eBay'de arama yapmayı deneyin.

Raspberry Pi için bir dizi konuşma tanıma programı var. Bu proje için Steven Hickson'ın Pi AUI Suite'ini kullanıyoruz çünkü güçlü olmasının yanı sıra kurulumu ve yapılandırması son derece kolay.

Başlarken

Öğreticideki adımları izledikten sonra yükleyiciyi başlatabileceksiniz. Pi AUI Suite, size yüklemeniz için bir dizi program seçeneği sunar. Size sorulan ilk soru, bağımlılıkları kurması gerekip gerekmediğidir.

Bunlar, oldukça basit bir şekilde, sesli komutların çalışması için Raspberry Pi'nin indirmesi gereken dosyalardır, bu nedenle Y'yi seçin ve bunu kabul etmek için Geri Dön'e basın.

Ardından, video dosyalarını başlatmak ve oynatmak için sesli komutları kullanmanızı sağlayan PlayVideo programını yüklemek isteyip istemediğiniz sorulur . 

Y'yi seçerseniz, medya dosyalarınızın yolunu belirtmeniz istenir - örneğin, /home/pi/Videos . Burada büyük harflerin önemli olduğunu unutmayın. Yol geçersiz ise program sizi uyarır.

Ses jakı olan bir mikrofonunuz varsa, Raspberry Pi ile çalışmasını sağlamak için küçük bir USB ses kartı kullanabilirsiniz.

Ardından, sizin için internetten dosya arayan ve otomatik olarak indiren Downloader programını yüklemek isteyip istemediğiniz sorulur. Burada Y'yi seçerseniz, sizden ana bilgisayar, bağlantı noktası, kullanıcı adı ve parola ayarlarını sağlamanız istenir. 

Bunlardan emin değilseniz, her durumda varsayılan seçenekleri belirlemek için şimdilik Geri Dön'e basın.

Aşağıdaki program, Raspberry Pi'nin metin dosyalarının içeriğini okumasını istiyorsanız yüklemek isteyebileceğiniz Google Metinden Konuşmaya Hizmetidir. Bu hizmeti kullanmak için Raspberry Pi'nin internete bağlı olması gerekir, çünkü metni konuşmaya 'çevirmek' için Google'ın sunucularına bağlanır ve ardından Raspberry Pi'nin medya oynatıcısıyla bir ses dosyası çalar.

Bunu yüklemeye karar verirseniz, bir Google hesabına ihtiyacınız vardır. Yükleyici, kullanıcı adınızı girmenizi ister. Bunu yapın, ardından Geri Dön'e basın. Daha sonra Google şifreniz istenir. Bunu girin ve tekrar Return tuşuna basın.

Yükleyici ayrıca size Google Sesli Komutları yükleme şansı da sunar. Bu, Google'ın kendi konuşma tanıma hizmetini kullanır. Devam etmek için yine Google kullanıcı adınızı ve şifrenizi girmeniz istenir. 

Google'a özgü yazılımı seçseniz de seçmeseniz de program size YouTube komut dosyalarını yüklemek isteyip istemediğinizi de sorar. Bu araçlar, "YouTube kabarık kedi yavruları" gibi bir cümle söylemenizi sağlar ve ardından ilgili bir video klibin oynatılmasına neden olur.

Yeni bir selamlama yazıp Geri Dön'e basmanız yeterlidir.  Raspberry Pi'nin sözlü olarak yanıt vermemesi için sessiz bayrağını da ayarlayabilirsiniz.

Son olarak, program size "internet" kelimesini söyleyerek web tarayıcınızı başlatabilme gibi daha kullanışlı komut dizilerinden bazılarını içeren Voicecommand'ı yükleme seçeneği sunar.

Program, Voicecommand'ın otomatik olarak ayarlanmasına izin vermek isteyip istemediğinizi sorar . Bu aşamada bir hatayla karşılaşırsanız, bir sonraki sayfadaki izlenecek yolun 3. Adımını uygulayın.

Temel sesli komutlar

Pi AUI Suite'in kurulumu tamamlandıktan ve sudo voicecommand -c'yi dinleyecek şekilde ayarlamak için  çalıştırdıktan sonra , onu bir anahtar kelime ile hazırlamanız gerekir.

Varsayılan olarak, bu "Pi" dir, ancak Amazon Next istiyorsanız "Alexa" kelimesi gibi daha kolay bir şeyle değiştirmekten çekinmeyin, yerleşik sesli komutlardan birkaçını deneyin.

Youtube: "YouTube" ve bir video başlığı söylendiğinde, ilgili ilk YouTube klibinin tam ekran videosu otomatik olarak yüklenir. 

Bu, Google'ın “Kendimi şanslı hissediyorum” sözüne benzer. "YouTube" ve ilgilendiğiniz videonun adını söyleyin; örneğin, "YouTube pofuduk kedicikleri".

İnternet: “İnternet” kelimesini söylediğinizde web tarayıcınız açılır. Varsayılan olarak bu, Raspberry Pi'nin yerleşik tarayıcısı Midori'dir, ancak bunu değiştirebilirsiniz.

Download: Saying the word “download” plus a search term automatically searches the Pirate Bay website for the file in question – for example, you could say “Download Ubuntu Yakkety Yak” to get the latest version of the Ubuntu Linux operating system.

Play: This command uses the builtin media player to play a music or video file – for example, “Play mozartconcert.mp4” would play that particular file located in the media folder you specified in setup, such as /home/pi/Videos.

Show me: Saying “show me” opens up a folder of your choice. By default, the command doesn’t go to a valid folder, so you need to edit your configuration file to a valid location – for example, show me==/home/pi/Documents.

Raspberry Pi's master's voice

Once the Voicecommand program is installed, you may wish to make a few basic changes to the setup before fine-tuning your configuration.

Open Terminal on your Raspberry Pi or connect via SSH and run the command sudo voicecommand -s .

You are asked a series of yes/no questions next. The first question asks whether you want to permanently set the continuous flag. In plain English, the Voicecommand program is asking whether, each time you run it, you want it to continuously listen for your voice commands. 

Select Y for now. Next, you are asked if you want the Voicecommand program to permanently set the verify flag. Selecting Y here means the program expects you to say your keyword (by default, the word “Pi”) before responding to commands.

Raspberry Pi'yi sürekli dinlemeye ayarlamak ve söylediğiniz her şeye göre hareket etmesini istemiyorsanız bu yararlı olabilir.

Aşağıdaki istem, yoksay bayrağını kalıcı olarak ayarlamak isteyip istemediğinizi sorar. Bu, Voicecommand'ın yapılandırma dosyanızda özel olarak listelenmeyen bir komut duyarsa, yüklü uygulamalarınızda bir program aramaya ve onu çalıştırmaya çalışacağı anlamına gelir. 

Örneğin, bir not defteri uygulaması olan “leafpad” kelimesini söylerseniz, Voicecommand özellikle söylenmese bile bunu arar ve çalıştırır. 

Bu özelliği etkinleştirmenizi önermiyoruz. Voicecommand'ı SuperUser olarak çalıştırdığınız için, yanlışlıkla Raspberry Pi'ye dosyalarınıza zarar verebilecek bir komut verme riskiniz çok fazladır. 

Voicecommand ile çalışacak ek uygulamalar ayarlamak isterseniz, her özel durumda yapılandırma dosyasını düzenleyebilirsiniz.

Sesli komut daha sonra sessiz bayrağını kalıcı olarak ayarlamak isteyip istemediğinizi sorar, böylece konuştuğunuzda sözlü bir yanıt vermez. Uygun gördüğünüz gibi Y veya N'yi seçin. Ardından, konuşma tanıma için varsayılan süreyi değiştirmek isteyip istemediğiniz sorulur. Bunu yalnızca Pi'nin komutlarınızı duymakta sorun yaşadığını fark ettiğinizde değiştirmelisiniz. 

Y'yi seçerseniz, bir sayı yazmanız istenir - bu, Raspberry Pi'nin bir sesli komutu dinlediği saniye sayısıdır ve varsayılan değer 3'tür.

Program daha sonra size metinden konuşmaya seçeneklerini ayarlama şansı verir. Bunu yapmadan önce sesi açtığınızdan emin olun. Program bir şey söylemeye çalışır ve onu duyup duymadığınızı sorar.

Cihazınızın yakalama hacmini en üst düzeye çıkarmak için yukarı oku kullanın (bu durumda, bir Microsoft USB web kamerası kullanıyoruz)

Anahtar kelimenize yanıt verirken sistemin varsayılan yanıtı "Evet efendim?" Bunu değiştirmek için bir sonraki istemde Y'yi seçin, ardından "Evet hanımefendi?" gibi istediğiniz yanıtı yazın. 

İşiniz bittiğinde Geri Dön'e basın. Sistem, sonuçtan memnun olup olmadığınızı onaylamanız için yanıtı oynatır.

Prosedür, sistem bilinmeyen bir komut aldığında varsayılan mesaj için aynıdır. Varsayılan yanıt "Uygunsuz komut alındı"dır, ancak isterseniz Y'yi ve ardından seçtiğiniz yanıtı - örneğin "Bilinmeyen komut" yazarak bunu daha az robotik bir şeye değiştirebilirsiniz.

Artık size konuşma tanıma seçeneklerini ayarlama şansı sunuluyor. Bu, kurulu uyumlu bir mikrofonunuz olup olmadığını otomatik olarak kontrol eder. Sesli komut daha sonra Pi'nin ses eşiğinizi sizin için kontrol etmesini isteyip istemediğinizi sorar. 

Arka planda gürültü olmadığından emin olun, Y'ye ve ardından Geri Dön'e basın. Ardından, doğru ses cihazının seçilip seçilmediğini kontrol etmek için bir komut söylemenizi ister. Program sizin için doğru ses eşiğini otomatik olarak belirler, bu yüzden bunu seçmek için Y yazın.

Son olarak Raspberry Pi, sesli komutları etkinleştirmek için varsayılan anahtar kelimeyi (“Pi”) değiştirmek isteyip istemediğinizi sorar. Y yazın, ardından yeni anahtar kelimenizi girin. İşiniz bittiğinde Geri Dön'e basın.

Ardından, Raspberry Pi'yi konuşma sesinize alıştırmak için anahtar kelimenizi söylemeniz istenir. Bu doğru görünüyorsa, kurulumu tamamlamak için Y yazın.

Voicecommand yazılımını çalıştırmak için bir sonraki sayfadaki öğreticinin 6. Adımını izleyin. Birkaç basit komutla başlamayı deneyin. (Ayrıntılar için Temel Sesli Komutlar kutusuna bakın). 

Bunlara alıştıktan sonra, programı kapatmak ve isterseniz yapılandırma dosyanızı düzenlemek için sudo killall voicecommand komutunu çalıştırın.

Sesli komut tweaks

Voicecommand yazılımınız çalışmaya başladığında, yeni komutlar eklemek veya mevcut olanları değiştirmek için yapılandırma dosyasını düzenleyebilirsiniz.

Yapılandırma dosyasını görüntülemek için sudo nano /root/.commands.conf komutunu çalıştırın .

Göreceğiniz gibi, satırların çoğu bir # simgesiyle başlar, bu da Raspberry Pi'nin onları yok saydığı anlamına gelir.

Çizgiyi etkinleştirmek için sembolü silin. Örneğin, ses tanıma yazılımını etkinleştiren anahtar kelimeyi "Pi" yerine "Alexa" olarak değiştirmek isterseniz, #!keyword==pi olan satırı -!keyword=alexa olarak değiştirirsiniz .

Midori yerine Firefox web tarayıcısını kullanıyorsanız, ~Internet==midori & öğesini ~Internet==firefox-esr & olarak da değiştirmek isteyebilirsiniz .

Yazılım herhangi bir komutu çalıştırabilir. Örneğin “desktop” diyerek masaüstünü açmak için dosyanın sonuna şu satırı ekleyin: desktop==home/pi/Desktop

Programları terminalden yaptığınız gibi de başlatabilirsiniz – örneğin, notepad==leafpad

Raspberry Pi ile konuşurken cevap vermesini isteyebilirsiniz. Bunu önce Terminal'i açıp Festival konuşma sentezi yazılımını aşağıdaki komutla yükleyerek yapın:

sudo apt-get yükleme festivali

Raspberry Pi'yi konuşturmanın temel biçimi, "Mesajınız burada" | festival –tts

Raspberry Pi'nin sistem bilgilerini okumasını da sağlayabilirsiniz. Örneğin, Raspberry Pi'nin size tarih ve saati söylemesini istiyorsanız, yapılandırma dosyasına aşağıdaki satırı eklersiniz:

time==echo “Zamanı” | festival --tts &&

tarih | festival –tts

sinir bozucu sesler

Ses tanıma yazılımı devam eden bir çalışmadır ve Raspberry Pi söylediğiniz her şeyi tanımayabilir. 

Şansınızı artırmak için, USB mikrofonun yakınında durduğunuzdan ve yavaş ve net bir şekilde konuştuğunuzdan emin olun.

If you’re still having trouble being understood, open Terminal on your Raspberry Pi or connect via SSH and run the command alsamixer to open your sound settings. 

Press F4 to choose audio input, then press F6. Use the arrow keys to select your USB device, then press Return. This controls the volume of your USB microphone. Use the up arrow to push it to maximum (100).

If your device isn’t being detected at all, it may need more power than the Raspberry Pi’s USB ports can provide on their own. The best solution for this is to use a powered USB hub.

Once the Download program is installed, if you experience an error connecting, bear in mind that access to the PirateBay website may be restricted where you are. 

In order to download files, you also need a BitTorrent client for the Raspberry Pi, such as the program Transmission. You can install this by opening Terminal or connecting to your Raspberry Pi over SSH and running the command sudo apt-get install transmission.

Help with getting started and how to use the client is available from the Transmission website (opens in new tab). Needless to say, you should only download files with the permission of the copyright holder.

If you choose to use Google Voice Commands or Google TTS (Text to Speech), bear in mind that anything you say and any text files you submit are sent to Google’s servers for translation. 

Google claims not to retain any of this data, but even if it is to be believed, any data transmitted over the internet can potentially be intercepted by a third party.

Google does encrypt your connection to reduce the chance of this happening, however.

If you find you’re happy with the voice command feature, you might prefer the software to start automatically each time you boot the Raspberry Pi. If so, open Terminal on your Raspberry Pi or connect via SSH and run the following command:

sudo nano /etc/rc.local

This opens the file that determines which processes start up when your Raspberry Pi boots. By default, this script does nothing. 

Use your arrow keys to scroll to the bottom of the file and, just above the line reading exit 0 , type the following:

sudo voicecommand -c

Değişikliklerinizi kaydetmek için Ctrl+X, ardından Y ve ardından Return tuşlarına basın. Çalıştığından emin olmak için Raspberry Pi'yi bu aşamada yeniden başlatmaktan çekinmeyin. 

Voicecommand'ın çalışıp çalışmadığından emin değilseniz, Terminal'i açın ve çalışan işlemlerin bir listesini göstermek için ps -a komutunu çalıştırın.