İki digital ses verisini üst üste bindirmek

Başlatan Gökhan BEKEN, 29 Ekim 2015, 00:01:06

Gökhan BEKEN

Güzel fikir hocam, benim aklıma gelmemişti.
Audio konusu ile ilgili başka tavsiyeleriniz olursa şevkle dinlerim.
Özel mesaj okumuyorum, lütfen göndermeyin.

t2

Başka pek bilgim yok. Bana da  alçak geçiren/ yüksek geçiren filtre formülleri lazım. Ses datasını filtre edecek.

Gökhan BEKEN

Amaç "belli bir volume altındaki sesleri yoksay", veya "belli bir volume üstündeki sesleri yoksay" gibi bir şey mi?
Özel mesaj okumuyorum, lütfen göndermeyin.

t2

Amaç, dosyadaki tizleri kıs, basları artır gibi bir şeydir. Frekansı bildireceğiz filtre edecek. örneğin davul sesi artacak zurna kısılacak.

harti212

matrixler varya hani onların en eskilerinden bir örnek vereyim iki ses kaynağında çıkış al bi kartın üstünde 2 tane pot ekleyip iki potun çıkışını birleştirip çıkışı hoparlör vb ver, ikisini de yarı yarı ya(%50) getirdiğin zaman sesler karışacak.
Bölüm madem analog elektronik bölümü, bu da analog örneği.

Gökhan BEKEN

@harti212 teşekkürler ama niyetim mikser yapmak değildi,  verileri wav dosydan dijital olarak aldığım ses için sormuştum.
@t2 hocam sizin konuyu araştırdım Fast Fourier transform ile yapılıyormuş ama matematiğim iyi olmadığından yapamıyorum.
Özel mesaj okumuyorum, lütfen göndermeyin.

alicavuslu

Hocam siz otomatik kazanç tarzı bir uygulama mı yapmak istiyorsunuz?

Gökhan BEKEN

Hocam, sesleri üst üste bindirme ve istediğim volume değerini ayarlayabilmeyi merak etmiştim, öğrendim.
Digital audio sinyal işleme konusunda bilgilenmek istiyorum asıl amacım bu.
Sıradaki deney resample işlemini hangi algoritmalar ile yapıldığını bulmak.
Özel mesaj okumuyorum, lütfen göndermeyin.

ipek

konu ile igili olmayabilir fakat spor salonlarındaki müzik sistemlerin birinde gördüm. her alıcı alete aynalı yansıtmalı tek fiber kablo geliyor ,ekipmana giriyor (daisy Chain ) zincirleme çıkıyor ,gelen sinyal 44.1 KHz SPDIF sinyali artık nasıl bir vericisi var ise 32 kanal stereo yayın tek fiber kablodan geliyor,vericiyi görmek kısmet olmadı.alıcıda philips üretimi basit bir SPDIF decoder var fakat ilginçtirki master osilatörü yok,fiber alıcıdan bir LT1016 komparatör ile kendine clock ayıklıyor,velhasıl müşteri 32 kanallı bir kömitatörü çevirip 32 ayrı ses yada müziği dinliyor, nası oluyorda oluyor,bunun 75 ohmluk koaxsiyal kaplo ile çaışanınıda gördüm,alıcılar coax'tan gelen 15 volt ilede çalışıyorlardı,ünlü seslendirme firmalarını tek tek aradım böyle bir üründen haberleri bile yoktu.

44.1 nerde gördün derseniz optik bir ampliye bağladım kendi ekranına gen sinyali yazdı ,ama ampliden tık ses çıkmadı.

OG

Alıntı yapılan: ipek - 16 Aralık 2015, 03:31:33
konu ile igili olmayabilir fakat spor salonlarındaki müzik sistemlerin birinde gördüm. her alıcı alete aynalı yansıtmalı tek fiber kablo geliyor ,ekipmana giriyor (daisy Chain ) zincirleme çıkıyor ,gelen sinyal 44.1 KHz SPDIF sinyali artık nasıl bir vericisi var ise 32 kanal stereo yayın tek fiber kablodan geliyor,vericiyi görmek kısmet olmadı.alıcıda philips üretimi basit bir SPDIF decoder var fakat ilginçtirki master osilatörü yok,fiber alıcıdan bir LT1016 komparatör ile kendine clock ayıklıyor,velhasıl müşteri 32 kanallı bir kömitatörü çevirip 32 ayrı ses yada müziği dinliyor, nası oluyorda oluyor,bunun 75 ohmluk koaxsiyal kaplo ile çaışanınıda gördüm,alıcılar coax'tan gelen 15 volt ilede çalışıyorlardı,ünlü seslendirme firmalarını tek tek aradım böyle bir üründen haberleri bile yoktu.

44.1 nerde gördün derseniz optik bir ampliye bağladım kendi ekranına gen sinyali yazdı ,ama ampliden tık ses çıkmadı.
İşte bunu yepmaya çalışıyorum. Fiberden değil Coax dan.
Henuz bir adım ilerleme yok :(
Çünkü malzeme olarak ne kullanacağımı tayin edemedim.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

CLR

Alıntı yapılan: ipek - 16 Aralık 2015, 03:31:33
konu ile igili olmayabilir fakat spor salonlarındaki müzik sistemlerin birinde gördüm. her alıcı alete aynalı yansıtmalı tek fiber kablo geliyor ,ekipmana giriyor (daisy Chain ) zincirleme çıkıyor ,gelen sinyal 44.1 KHz SPDIF sinyali artık nasıl bir vericisi var ise 32 kanal stereo yayın tek fiber kablodan geliyor,vericiyi görmek kısmet olmadı.alıcıda philips üretimi basit bir SPDIF decoder var fakat ilginçtirki master osilatörü yok,fiber alıcıdan bir LT1016 komparatör ile kendine clock ayıklıyor,velhasıl müşteri 32 kanallı bir kömitatörü çevirip 32 ayrı ses yada müziği dinliyor, nası oluyorda oluyor,bunun 75 ohmluk koaxsiyal kaplo ile çaışanınıda gördüm,alıcılar coax'tan gelen 15 volt ilede çalışıyorlardı,ünlü seslendirme firmalarını tek tek aradım böyle bir üründen haberleri bile yoktu.

44.1 nerde gördün derseniz optik bir ampliye bağladım kendi ekranına gen sinyali yazdı ,ama ampliden tık ses çıkmadı.

Bence mantığı zor değil, bu yöntem infrared ile ses taşımanın hızlı yöntemi sadece.
Sonuçta fiberden sinyal dijital mantık taşınıyor, mesela 32 kanal mixerimiz olsun, bir işlemci ile 32 kanalı 44.1Khz'de örnekleyip bir buffer'a atılırsa ve bu buffer'dan datayı fiber'e  minimum 44.1*32=1.4mhz/sn'de karşı cihaza gönderirsek karşıdaki her işlemci içeren cihaz(veya hoparlör veya komutatör seçici) gelen datayı parse ederse , hangi data parçası(ses parçası) kendine ait bulur. Burada T2'nin bahsettiği window olayı var, zaten fft'de de böyle yapılıyor. Window algoritması iki ses parçasını birleştirirken yumşatarak yani çıt sesi çıkmadan veya ani ses yükselmesi/düşmesi olmadan iletmek için kullanılır. Sesler karışmaz sonuçta dijital data ve ardışık.   
LT1016'ye şimdi baktım, 10ns'lik karşılaştırıcı, karşıya ses taşınırken, muhtemelen manchester benzeri bir şekilde taşınıyor yani 0 'da 1'de clock palsi üretiyor böylece alıcı tarafta bit buffer'larla gelen data yakalanıp parse ediliyor. Burada 32 kanal window'dan dolayı dsp ve/veya yüksek hız fiber taşıması ve bit bufferlar için fpga kullanlıyordur
Knowledge and Experience are Power

alicavuslu

#26
Alıntı yapılan: Gökhan BEKEN - 15 Aralık 2015, 22:31:51
Hocam, sesleri üst üste bindirme ve istediğim volume değerini ayarlayabilmeyi merak etmiştim, öğrendim.
Digital audio sinyal işleme konusunda bilgilenmek istiyorum asıl amacım bu.
Sıradaki deney resample işlemini hangi algoritmalar ile yapıldığını bulmak.

Hocam zaman domaininde downsampling işlemi yapmak için öncelikle sinyalinizi  alçak geçiren filtreden geçirmeniz gerekmektedir. Daha sonra Frekansınızı ne kadar aşağı örneklemek istiyorsanız o kadar örnek atmanız gerekcektir. Örneğin 42 KHzlik bir sinyali 1 KHz'e indirmek istersek yapmamız gereken işlemler Öncelikle 500 Hz'den daha düşük kesim frekansına sahip (girişim olmaması için) bir alçak geçiren filtre kullanacaksınız. Filtre çıkışlarında ise 42 örnek içerisindne 1 tanesini alacaksınız.
Upsampling için ise interpolasyon tarzı yöntemleri kullanabilirsiniz...

CLR

@alicavuslu

Kime cevap yazdığını belirtmediğin için, benim mesajıma mı yazdın anlamadım. Benim yorumuma istinaden yazdıysan benim yazdıklarım içinde örnekleme frekansını düşürme işlemi yok, 32 kanalın hepsi paralel veya adc yeterince hızlı ise  girişler taranarak 44.1khz'de örnekleniyor.  Sonra toplanan datalar girişlere göre ardışık packed edilerek fiberden gönderiliyor.   
Knowledge and Experience are Power

t2

#28
Filtreye upsampling  için gerek yok. sadeece downsampling için gerekir


8 bit 8khz örneklenmiş sinüs dalgamız olsun. bunu 16khz örneklenmiş hale getireceğiz.
Upsampling için

Yöntem 1
Örnekleri kopyalarız.  1 örneğin aynısından 1 tane daha  ilave edilir. Yeni dosya kaydedilir.
Windows xp ses kaydedicisi aynen böyle uyduruk bir şekilde yapıyor.

Yöntem 2
Önceki ve sonraki örneği toplar ikiye böleriz. ilk örnekten sonra bunu ilave ederiz.
Tüm örnekler için tekrarlarız. yeni dosya 16khz örneklenmiş olur.
Bu sırada yuvarlak köşeler düzlenmiş üçgene benzemiş olacaktır.
16khz örneklenmiş  bu dosyayı, bir daha aynı işlemden geçirerek 32khz örneklenmiş gibi yaparız.
Köşeler iyice sivilmiş bir hal alır. sinüs dalgamız üçgene dönmeye başlar.

Yöntem3
Önceki ve sonraki örneğe bağlı olarak eklenecek yeni örneğin hesaplanması gerek. Dalga lineer olmadığı için sinüs formülü kullanılması gerek. belki sinüs değil başka formül gerek. interpolasyon?. Asıl profesyonel yöntem budur.

Upsampling Audio PCM-data in Javascript
http://www.codegithub.com/watch?v=0ziimWUUPPeW


alicavuslu