Raspberry Pi’ı ek herhangi bir donanım kullanmadan bir radyo vericisine dönüştürebilirsiniz. Raspberry Pi ile mikrofonu veya bir ses dosyasını istediğiniz FM frekansında yayın yaparak yakınlardaki bir radyodan duyulmasını sağlayabilir, evinizde, iş yerinizde veya bir spor etkinliğinde radyo yayını yapmak için kullanabilirsiniz. Normalde Raspberry Pi’ın içerisinde bir FM vericisi (FM transmitter) yer almaz; ancak son yılların meşhur konularından birisi olan SDR (Software Defined Radio) yani yazılım tabanlı radyo tekniği sayesinde, ses verisinin PWM sinyalleri ile kodlanarak radyo yayını yapılması sağlanabilir. Benzer şekilde, ses verisinin dışında herhangi bir veri de FM bandı üzerinden gönderilebilir.
Okumaya devam et “Raspberry Pi’ı FM Radyo Vericisine Dönüştürmek”Kategori: Ses İşlevleri
İnternet Radyosu Kurmak
Raspberry Pi’ı kullanarak kolayca bir internet radyosu kurabilirsiniz. Raspberry Pi sahip olduğu küçük yapısı ve düşük güç tüketimi ile portatif bir yayın cihazı olarak kullanılabilir. Dilerseniz bir konferansı ya da sunumu internette canlı olarak sunabilir, dilerseniz harici diskinizdeki bir mp3 listesinin internet kullanıcılarına yayın yapabilirsiniz.
Okumaya devam et “İnternet Radyosu Kurmak”Raspberry Pi’ı Konuşturmak
Raspberry Pi’ın konuşmasını sağlayarak robot projelerinize veya uygulama programlarınıza etkileşim katabilirsiniz. Raspberry Pi’ı kullanarak metinleri seslendirebileceğiniz birçok açık kaynak kod araç vardır.
Gerekli araçları yüklemeden önce Raspberry Pi’ın ses kaynağının 3mm jack üzerinden mi yoksa HDMI üzerinden mi alınacağını ayarlamak gerekir. Bunun için raspi-config aracının Advanced options menüsü altındaki Audio seçeneğinden uygun ses çıkışını seçin.
Okumaya devam et “Raspberry Pi’ı Konuşturmak”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:
Okumaya devam et “Uzak bir ağ Konumundan Ses Aktarmak”Sadece Ortamda Ses Olduğunda Kayıt Yapmak
Sürekli olarak ses kaydetmek gerektiğinde en iyi yöntem sadece ortamda ses olduğunda kayıtı başlatmaktır. SoX sahip olduğu filtre özellikleri ile ortamdaki ses belli bir düzeyin (threshold) üzerine çıktığında kayıt yapmak üzere ayarlanabilir. Bunun için öncelikle sesin hangi eşiğin üzerine çıktığında kayıt yapılacağını tespit etmektir. SoX stat filtresi kaydın ses seviyesi hakkında istatistiksel bilgiler sunar. Aşağıdaki komutu çalıştırın ve istatistik çıktısındaki Minumum amplitude değerini izleyin. Bu değer, 1 saniyelik süre dilimleri içerisinde ortamda rastlanan ses şiddeti seviyesinin en küçük değerini verir. Bu değeri kullanarak ayarlayabileceğiniz bir amplitude değeri, kaydı başlatmak için eşik değeri olarak kullanılabilir.
Okumaya devam et “Sadece Ortamda Ses Olduğunda Kayıt Yapmak”SoX ile Sese Efekt Eklemek
SoX ses üzerinde değişiklikler yapabilen onlarca efekte sahiptir. Mikrofon sesine canlı olarak efekt uygulayabileceği gibi mevcut kayıt dosyalarına da efekt uygulayabilir. Aşağıda mikrofona uygulanan derinlik etkisinin kullanımı görülmektedir:
Okumaya devam et “SoX ile Sese Efekt Eklemek”Sesi Sürekli Olarak Kaydetmek
Alsa araçlarına alternatif olarak SoX, ses kaydetme amacıyla da kullanılabilir.
1 |
pi@raspberry:~ $ sox -r 44100 -e s -t alsa hw:1,0 1.mp3 |
Yukarıdaki komut 1 numaralı ses kartından saniyede 44100 örnek alarak mp3 biçimli olarak 1.mp3 dosyasına kaydedecektir. Kayıt süresini ayarlamak için trim seçeneğinden yararlanılabilir. Trim seçeneği ile sesin başından itibaren ne kadarının kırpılacağı ve bu kırpılmadan sonra ne kadar süre kayıt yapılacağı tanımlanır. Aşağıdaki komutu inceleyelim:
Okumaya devam et “Sesi Sürekli Olarak Kaydetmek”Mikrofonu Varsayılan Ses Çıkışına Yönlendirmek
Sox’ı kullanarak ses kaynağı olan mikrofonu varsayılan ses çıkışına yönlendirmek için sox aşağıdaki gibi kullanılabilir. Varsayılan ses kaynağını ve çıkışını ayarlamak için “Ses cihazlarını ayarlamak ve sınamak” başlıklı konuya göz atabilirsiniz.
Okumaya devam et “Mikrofonu Varsayılan Ses Çıkışına Yönlendirmek”SoX (Sound eXchange) ile Kayıt Yapmak
Mp3 ya da OGG dosyalarını komut satırından yürütmek, kaydetmek veya üzerlerinde değişiklik yapmak için SoX (Sound eXchange)[1] aracını kullanabilirsiniz. Kendini ses konusunda bir İsviçre çakısı gibi yetenekli olarak tanımlayan SoX, oldukça gelişmiş bir ses kayıt, dönüştürme ve işleme aracıdır. Birçok popüler dosya biçimini tanır (WAV, FLAC, MP3, OGG vb.) ve onlara efektler uygulayabilir. Ses yürütürken birçok farklı ses girdisini tek bir çıkışa yönlendirebilir veya birden fazla girdi aygıtını (mikrofon) tek bir çıkışa (hoparlör) gönderebilir. Kayıtları bölebilir, birleştirebilir ve bir formattan diğerine dönüştürebilir. Ses dosyasının yürütme hızını değiştirebilir, birden fazla dosyayı birleştirerek kaydedebilir, bass ve tiz ayarları yapabilir, ağ üzerinden akış olarak gönderip alabilir. SoX’u yüklemek için aşağıdaki komutu girin:
Okumaya devam et “SoX (Sound eXchange) ile Kayıt Yapmak”Sesi Mp3 ve Ogg Biçimlerine Dönüştürmek
Önceki başlıkta görebileceğiniz gibi ALSA kullanarak Raspberry Pi ile ses kaydederken karşılaşılan en büyük dezavantaj MP3 desteği olmamasıdır. Bu nedenle kayıt dosyaları devasa boyutlara ulaşabilir, dosya boyutunu ufaltmak istediğiniz de ise ses kalitesinden ödün vermeniz gerekir. Mp3 ses dosyası biçimi tam da bu iki dezavantajı ortadan kaldırmak üzere yaratılmıştır: düşük dosya boyutu ve yüksek ses kalitesi. OGG biçimli dosya da Mp3 gibi düşük dosya boyutu ve yüksek ses kalitesi sunar. OGG ve Mp3’den yararlanabilmek için ilgili paketler olan LAME (Mp3) ve Vorbis (OGG)’i yüklemek gerekir:
Okumaya devam et “Sesi Mp3 ve Ogg Biçimlerine Dönüştürmek”Sesi Wav Biçimiyle Kaydetmek
Ses kaydetmek için ALSA alt yapısının bir aracı olan arecord adlı program kullanılabilir. Araca -l seçeneğini vererek kayıt aygıtının tanınıp tanınmadığını görebilirsiniz:
1 2 3 4 5 6 7 8 9 |
pi@raspberry:~ $ arecord -l **** List of CAPTURE Hardware Devices **** card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 |
Ses cihazlarını ayarlamak ve sınamak
Sisteme bağlı bulunan mikrofonların hassasiyet (gain) ve hoparlörlerin ses şiddeti ayarlarını yapmak için alsamixer adındaki araç kullanılır. Araç aşağıdaki gibi capture seçeneği ile çalıştırıldığında, capture yapacak cihazlar için hassasiyet ayarlanabilir. Birden fazla cihaz varsa Tab ve F6 tuşları ile istenilen aygıt ve ayar seçilebilir.
1 |
pi@raspberry:~ $ alsamixer |
ALSA Mimarisi ve Ses İşlevleri
Bu bölümde ALSA (Advanced Linux Sound Architecture / Gelişmiş Linux Ses Mimarisi) alt yapısını kullanarak Raspberry Pi bilgisayarı ile temel ses kayıt ve yürütme işlevlerini nasıl kullanabileceğimize bakacağız. ALSA, ses kartı aygıt sürücüleri için bir uygulama programlama arabirimi (API) sunarak Raspberry Pi bilgisayarı üzerindeki ses işlevlerinin kullanılabilmesini sağlayan bir çekirdek modülüdür. ALSA, ses aygıtları (USB kulaklıklar, USB mikrofonlar ve web kameraları için) için çekirdek sürücüsü sağlayarak işletim sistemi üzerinde çalışan diğer programlar tarafından aygıtların kullanılabilmesini sağlar. Aşağıda ALSA mimarisinin şeması gözüküyor.
Okumaya devam et “ALSA Mimarisi ve Ses İşlevleri”