Uzak bir ağ Konumundan Ses Aktarmak

Kitabın “SoX (Sound eXchange) ile kayıt yapmak” adlı başlığında kısaca açıklanan SoX (Sound of Exchange) aracı ile uzaktaki bir mikrofon kaynağını ağ üzerinden farklı bir konuma aktarmanız mümkündür. SoX ses akışını Raspberry Pi içindeki bir işlem (process) den diğerine aktarabildiği gibi (| pipe ile), ağ üzerinden de aktarabilir. Bu başlıkta ses kaynağı Raspberry Pi olmak üzere, bu kaynağı farklı bilgisayarlar üzerinde yüklü Windows ve Linux işletim sistemlerine canlı olarak nasıl aktarabileceğimize bakacağız. Uygulamaya başlamadan önce Raspberry Pi’ın varsayılan ses donanım aygıtlarını ile bu aygıtların ses ve hassasiyetlerini ayarlama ile ilgili olarak “Sese cihazlarını ayarlamak ve sınamak” başlığına göz atmanız yararlı olacaktır.

Sesi Raspberry Pi konumundan başka bir Raspberry Pi konumuna canlı olarak aktarmak için aşağıdaki komutu kullanabilirsiniz:

pi@raspberry:~ $ ssh [email protected] sox -v 15 -t alsa plughw:1,0 -p | sox -p -d

[email protected]’s password:

Yukarıdaki komut ile 192.168.7.253 numaralı Raspberry Pi bilgisayarına SSH üzerinden bağlanılarak (uzak bilgisayardaki pi kullanıcısının parolasının girilmesi istenecektir) bu bilgisayar üzerinde sox programı çalıştırılır ve | (pipe) sayesinde ses çıktısı geri alınarak hoparlöre verilir. Kısacası; uzak bilgisayardaki ses verisi SSH bağlantısı üzerinden yerel bilgisayara ve oradan da hoparlöre aktarılmaktadır.

Uzak bilgisayardaki sesi canlı olarak hoparlöre vermek yerine, örneğin uzak_kayit.ogg adlı bir dosyaya kaydetmek isterseniz de aşağıdaki gibi bir komut girebilirsiniz:

pi@raspberry:~ $ ssh [email protected] sox -v 15 -t alsa plughw:1,0 -t ogg – > uzak_kayit.ogg

Her seferinde uzun komutlar yazmamak için .bashrc dosyanızda yukarıdaki komut için bir kod adı (alias) da tanımlayabilirsiniz. Aşağıdaki örnek, .bashrc dosyasına pidinle adında bir komutun eklenmesini gösterir. Oturumdan çıkıp tekrar girdikten sonra; komut satırına pidinle yazdığınızda parola girişinin hemen ardından ses aktarımı başlayacaktır.

pi@raspberry:~ $ echo “alias pidinle=’
ssh [email protected] sox -v 15 -t alsa plughw:1,0 -p | sox -p -d'” >> ~/.bashrc

Mikrofon sesini Raspberry Pi konumundan Windows konumuna aktarmak için ise; Windows bilgisayarına SSH bağlantı programını ve SoX’ı kurmak gerekir. Aşağıdaki adımları gerçekleştirerek Sox ve SSH istemci kurulumunu Windows’a gerçekleştirebilirsiniz:

  1. Aktarım için PuTTY araçları içerisinde gelen plink programını kullanacağız, bunun için https://www.putty.org/ sayfasındaki plink programını bilgisayarınıza indirin ve örneğin C:\sox adlı bir klasore (Klasör patikalarını kısaltmak için C:\sox terrcih edilmiştir. Dilerseniz siz başka bir klasör konumunu kullanabilirsiniz).
  2. SoX’ın Windows sürümünü http://sourceforge.net/projects/sox/files/sox/ adresinden indirerek yine aynı klasöre (C:\sox) kurulumunu yapın. Son durumda sox.exe ve plink.exe beraberce C:\sox klasöründe yer alacaktır.
  3. Raspberry Pi üzerinde yazdığımız komutun benzerini yazabilmek için bir Windows komut satırı istemcisi açalım. Komut istemcisi açmak için klavyeden başlat düğmesine basarak cmd.exe yazın ve ardından Enter tuşuna basın. Windows komut istemi penceresi C:\Windows\System32 aktif dizininde açılacaktır.

Şimdi de sırasıyla aşağıdaki komutları yazın:

Microsoft Windows [Version 10.0.15063]

(c) 2017 Microsoft Corporation. Tüm hakları saklıdır.

C:\Windows\System32>cd c:\sox
C:\sox> plink [email protected] -pw parola sox -t alsa plughw:1,0 -t sox – | sox -q -p -t waveaudio

Input File : ‘plughw:1,0’ (alsa)

Channels : 2

Sample Rate : 48000

Precision : 16-bit

Sample Encoding: 16-bit Signed Integer PCM

 

In:0.00% 00:00:09.98 [00:00:00.00] Out:475k [ | ] Clip:0

Yukarıdaki örnekte SSH bağlantısı için parola (-pw) girilmiştir. Buraya pi kullanıcısının parolasını yazın. Aksi takdirde Windows’un boruları (pipe) işleme mekanizmasındaki farklılıktan dolayı SSH parola sorgusu sırasındaki beklemeden dolayı boru kırılacak, SoX ses akışını yürütemeyecektir. Komutun sonundaki -t seçeneği ile varsayılan çıkış aygıtı olarak waveaudio girilmiştir. Bu Windows’taki cihaz sürücüsünün adıdır. Sisteminizdeki cihaz sürücüsünün adını sox.exe‘yi seçeneksiz olarak çalıştırdığınızda; AUDIO DEVICE DRIVERS: satırında görebilirsiniz.

 

KULLANIM SARTLARI

Bu web sitesinin içeriginin tüm haklari saklidir. Kitabin/site içeriginin hiçbir bölümü, yazarinin yazili izni olmaksizin tekrar üretilemez, bir erisim sisteminde tutulamaz, herhangi bir biçimde elektronik, mekanik, fotokopi, ses kayit ya da diger yollarla iletilemez. Ancak istisna olarak; ticari olmayan amaçlar için yazara önceden bilgi vermek ve raspberrypikitabi.com adresini kaynak göstermek kaydiyla 10 sayfaya kadar kullanilabilir. Kitapta kullanilan logolar, firmalarin tescilli logolaridir. Raspberry Pi, Raspberry Pi Vakfi'nin ticari markasidir.



BILGILENDIRME

Bu kitapta Raspberry Pi, çesitli çevre birimleri ile düsük voltaj elektronik bilesenlerin bir arada kullanildigi uygulamalar yer almaktadir. Uygulamalarin tamami Raspberry Pi'in üzerinde kosan Linux çekirdegi ve açik kaynak kod özgür yazilimlar kullanilarak gerçeklestirilmistir. Uygulamalar gerçeklestirilirken ortaya çikabilecek elektriksel sorunlar veya kullanici hatalari nedeniyle cihazlar zarar görebilir veya veri kaybi yasanabilir. Ayrica, kitapta anlatilan konularin uygulanmasi sonucu ortaya çikabilecek her türlü lisans ihlali/kanuni ihlal ve zararin sorumlulugu uygulayan kisiye aittir. Olusabilecek herhangi bir zarardan yazar sorumlu tutulamaz.

Leave a comment

Your email address will not be published. Required fields are marked *