Bir USB mini mikrofon dizisi ister. Mümkün mü?


13

Uyarlamalı ışın oluşturma hakkında çok şey öğreniyorum ve MATLAB vb. Çeşitli simslerle uğraşıyorum.

Ancak bir şeyi anlamanın - gerçekten anlamak - tüm sistemle oynamaktan daha iyi bir yol var mı?

Bu amaçla, 5 mikrofon veya benzeri bir USB bağlantılı mikrofon dizisi bulmak (inşa etmek?) İstiyorum. Ortamdan sinyaller alabileceklerdi (diğer bir deyişle, dizüstü bilgisayarım nerede olursa olsun) ve bu sinyalleri alıp MATLAB'da ya da her neyse işleyebilirim.

Gerçekten her şeyi inşa etmemeyi tercih ederim, bu yüzden birinin geçmişte zaten USB bağlantılı mikrofon dizileri kullanmasını umuyorum ve doğru yönü gösterebilir mi?

A / D, vb. Bit çözünürlükleri söz konusu olduğunda mikrofonlar fantezi bir şey gerekmez. Saygın kalitede KISS mikrofonlar gayet iyi yapacak.

Yanıtlar:


8

Playstation Eye video kamera, 4 eleman doğrusal mikrofon dizisi vardır. 90 dB SNR ile 48 KHz'de 16 bit örnekler sağlar. Kullanımı kolaydır: dört ayrı kanala sahip standart bir USB ses cihazı olarak numaralandırılır.

Bu şekilde kullanma örneği için bkz . Ubuntu Karmic'te PS3 Eye 4 Kanallı Ses Testleri


1
@Mohammad Kendinizi dört kanalla sınırlamaktan mutluluk duyarsanız, bu muhtemelen iyi bir çözüm olacaktır. Dört kanal size yaklaşık 12dB'lik bir ışın oluşturma kazancı verecektir. Dezavantajı, dizinin toplam kapsamının oldukça küçük olması nedeniyle, oldukça büyük bir ışın oluşturan odak noktasına sahip olmanızdır: Birbirine çok yakın ses kaynaklarını ayıramazsınız. Bu nedenle, bu dizi için ana uygulamanız muhtemelen ses kaynaklarını izole etmek yerine boşluktan tek bir ses kaynağını izlemek olacaktır. Bir kişinin sesinden nerede durduğunu biliyorum ...
ARF

1
@ArikRaffaelFunke Hmm, bir odak noktasının ne olduğunu bilmek için uyarlamalı ışın oluşturma hakkında yeterince bilgim yok. :-) Ancak ben hala anlık olmayan ICA kullanarak kaynakları ayırmak mümkün olacağını düşünüyorum. (aslında şu anda ICA'ya odaklanıyorum). Ayrıca, evet 4 umduğum kadar değil ... Ama belki de bu bir başlangıç ​​olabilir ... c
Spacey

3

Uyarlamalı huzme şekillendirme konusunda yoğun bir şekilde çalıştıktan sonra, biraz tecrübe edinene kadar kendim için bir şeyleri kesmektan gerçekten çekinirdim. (Not: Yaklaşık 60 kanallı profesyonel çözümler yaklaşık 100k € 'dur. Birçok kanalla uzamsal çözünürlüğünüz çok daha iyi olur, ancak bir USB bağlantı noktası üzerinden sadece sınırlı miktarda bilgi alırsınız ...)

Güvenilir ışın şekillendirme için tüm mikrofonların aynı zaman tabanını kullanması önemlidir. Bunu yapmanın en kolay yolu, çoklu giriş kanallarına sahip harici bir USB ses kartıdır. Bunlar gerçekten ucuz değil. Ebay'de neler bulunabileceğine baktınız mı?

Bir alternatif, her biri iki kanallı bir dizi USB ses kartı kullanarak ortak zaman tabanını feda etmektir. Ancak, edinim sisteminizi kalibre etmeniz gerekir. Bu gerçekten göründüğü kadar zor değil:

Kalibre etmek için dizinizi kurar ve dizinizden, dizinizin kapsamı sırasına göre bir mesafede kısa bir ses (örn. Bir çatlak / alkış / vb.) Üretirsiniz. Daha sonra bu sesi kaydeder ve clap / crack / etc arasındaki çapraz korelasyonu hesaplamak için Matlab veya benzerlerini kullanırsınız. farklı kanallarda. Bu, verileri ışın oluşturma algoritmanıza beslemeden önce kanallarınızı hizalamak için kanallarınıza uygulamanız gereken zaman ofsetlerinin bir listesini verecektir.

Uyarlamalı hüzmelemeyi keşfetmek için, çok kanallı bir ses kartında pazarlık yapamayacağınız sürece muhtemelen bu yol olacaktır.


Düzenle 1

Bu düzenleme yorumlarda sorulan soruları cevaplamak içindir.

Gecikme ve toplam hüzme şekillendirmenin temel fikri, farklı edinim kanallarına gecikmeler uygulamaktır, böylece uzaydaki bir noktadan çıkan sesler farklı kanallardan sinyal eklendiğinde "yükselir". Mekanın diğer bölgelerinden gelen sesler aynı hizada değildir ve bu nedenle "amplifiye edilmez".

Uzayda seslerin belirli bir gecikme seti kullanılarak hizalandığı noktaya mikrofon dizisinin odağı (veya odak noktası) denir. Ancak gerçekte, odak ideal bir nokta değil, seslerin iyi hizalandığı küçük bir alan (diziye bağlı olarak) bölgesidir. Bu bölgenin boyutuna odak noktasının boyutu denir.

Geometri (boyut, şekil, vb.) Dizinin kesin detaylarına bağlıdır: mikrofon sayısı, mikrofon aralığı, ilgili sinyallerin frekans içeriği. Örneğin bu makaleye bakın .

Daha fazla bilgi için "aşamalı diziler" veya "doğrusal diziler" üzerine ultrasonik metinler üzerinde odaklanılması gereken metinlere bakın. Işın oluşturma, alımda (uzayda belirli bir noktadan sinyalleri yükseltmek için) veya emisyonta (bir odada "yüksek" bir nokta oluşturmak için) kullanılabilir. Prensipler aynıdır: Düşüncenizde "mikrofon" u "hoparlör" ile değiştirin.

Kalibrasyon prosedürü ile ilgili olarak: haklısınız. Belirttiğim prosedür çok basit. Sadece kalibrasyon alkışını ilgilendiğiniz alandan çok daha uzun bir mesafeden oluşturabiliyorsanız iyi çalışır. (Yani düz bir dalga sağlamak için.)

Bu mümkün değilse, alkış konumunu dikkate almalısınız. Bu durumda, en basit prosedür, tarif edildiği gibi çapraz korelasyon ile gecikmeleri düzeltmektir ancak daha sonra dalga noktasının eğriliğini, menşe konumu ile hesaplanan "ters hüzmeleme" gecikmeleri kümesi uygulayarak sinyale geri eklemektir. alkış. (Yani "normal" hüzmeleme algoritmanızda + t0 (veya + z0) derinlik değişkeni kullanıyorsanız, ters hüzmeleme algoritması için -t0 (veya -z0) kullanmanız gerekir.)

Bu kalibrasyonun amacı nedir: Farklı ses kartlarının kayıtlarına biraz farklı zamanlarda başlaması nedeniyle oluşan hataları ortadan kaldırır. Bu normalde sinyallerin doğru gecikmelerle bile düzgün bir şekilde hizalanmasını önler ve böylece aradığınız amplifikasyon etkisini önler.


Teşekkürler Arik. Ancak, zaman gecikmelerini neden telafi etmek istediğinizden emin değilim. Örneğin, bildiğiniz gibi bazı uyarlanabilir hüzmeleme gecikme ve toplamdır, bu nedenle otomatik olarak zaman gecikmesi sorunları gerekir. İkinci şey (Ben bu ne söylediğini düşünüyorum), ben olmasıdır do ortak bir zaman senkronizasyonu istiyorum. (yani bütün mikrofonlar aynı anda kayıt başlar, bir düğmeye basarak), ama daha dont onları ortak zaman gecikmeleri sahip olmak istiyorum.
Spacey

Aslında dizüstü bilgisayarımda bir mikrofon dizisi oluşturdum, sadece iki mikrofon olduğunu düşünüyorum , ancak bu bir başlangıç ​​noktası olabilir, ancak veriye ayrı ayrı minimum yaygara ile nasıl erişeceğimi bilmiyorum ...
Spacey

@Mohammad - sorun bilinen zaman gecikmelerini telafi etmiyor , bilinmeyen zaman gecikmelerini telafi ediyor . Temel olarak, her ayrı USB ses kartı için bir işlem süresi olacaktır ve cihazdan cihaza değişebilir (bu durumda telafi edilebilir) veya hatta USB veri yolu yüklemesine bağlı olarak sabit / değişiklik olmayabilir.
Connor Wolf

@Mohammad FakeName ne söyledi ... İşleri daha da netleştirmek için: Herhangi bir ışın şekillendirmesinin zaman tabanı, dikkate almak istediğiniz en yüksek frekans bileşeninin yarı döneminden daha iyi olmalıdır. Bunu bağımsız ses kartları ile aynı anda kaydetmeye başlayarak başarmanın imkansız olduğuna inanıyorum. Birden fazla kanalı olan tek bir ses kartınız varsa bu durum farklıdır.
ARF

@ArikRaffaelFunke Kalibrasyon hakkında ne demek istediğini anlıyorum, ifadeni yanlış anladım. Bununla birlikte, zaman gecikmesini kanaldan istemeden kaldırmadan da (tutmak istediğiniz) zaman gecikmesini nasıl nadiren kaldıracağımı görmüyorum. Tek yol, alkıştan her mikrofona olan mesafenin aynı olduğundan emin olmaktır, ancak bu doğrusal dizi> 2 için imkansızdır. Belki yeterince (eğer düzlemsel dalga cepheleri) çok fazla önemli olmaz?
Spacey
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.