Kazalo:

Zvočniški sistem Camara (SPACS): 8 korakov
Zvočniški sistem Camara (SPACS): 8 korakov

Video: Zvočniški sistem Camara (SPACS): 8 korakov

Video: Zvočniški sistem Camara (SPACS): 8 korakov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Image
Image
Strojna oprema - 3D tiskanje
Strojna oprema - 3D tiskanje

Predstavljajte si konferenčni klic, kjer več zvočnikov obkroža eno kamero. Pogosto se srečujemo, kjer omejen kot gledanja fotoaparata pogosto ne gleda v govorca. Ta omejitev strojne opreme znatno poslabša uporabniško izkušnjo. Če lahko kamera gleda v aktivne zvočnike, bi se oddaljeno občinstvo med klicem bolj pogovarjalo. V tem projektu predlagamo (prototip) sistem kamere, ki zazna in sledi aktivnemu zvočniku tako, da kamero obrne proti zvočniku. Sistem uporablja tako vizualni kot zvočni pristop. Ko fotoaparat zazna obraze, določi osebo, ki govori, in izračuna kot vrtenja. Ko obrazi niso zaznani pod trenutnim kotom, sistem poišče zvočnik glede na smer prihajajočih zvočnih signalov.

1. korak: Materiali

Adafruit pero nRF52840 Express X 1

www.adafruit.com/product/4062

Električni mikrofonski ojačevalnik - MAX4466 X 2

www.adafruit.com/product/1063

Mikro servo motor X 1

www.adafruit.com/product/169

Pametni telefon Android X 1

2. korak: Strojna oprema - 3D tiskanje

Strojna oprema - 3D tiskanje
Strojna oprema - 3D tiskanje
Strojna oprema - 3D tiskanje
Strojna oprema - 3D tiskanje

Za hitro izvedbo smo se odločili, da 3D-tiskamo ohišja, ki jih potrebujemo. Za ohišja obstajata dve glavni komponenti; gramofon in stojalo za pametni telefon. Uporabili smo gramofon s te povezave (https://www.thingiverse.com/thing:141287), kjer na dnu vsebuje ohišje Arduino in vrtljivo mizo, ki jo je mogoče povezati s servo motorjem. Uporabili smo stojalo za pametni telefon s te povezave (https://www.thingiverse.com/thing:2673050), ki je zložljivo in nastavljivo pod kotom, tako da nam omogoča priročno kalibriranje kota. Spodnja slika prikazuje 3D natisnjene dele, sestavljene skupaj.

3. korak: Strojna oprema - elektronske komponente

Strojna oprema - elektronske komponente
Strojna oprema - elektronske komponente
Strojna oprema - elektronske komponente
Strojna oprema - elektronske komponente

Obstajajo štiri žične komponente; Adafruit pero, dva mikrofona in motor. Za kompaktno embalažo smo spajkali (sive kroge) žice brez uporabe mize. Spodaj je opisan diagram vezja in dejanski artefakt.

4. korak: Programska oprema

Naš sistem uporablja predvsem vizualne podatke iz prepoznavanja obrazov za spremljanje govorca, saj so natančnejši. Da bi Feather dobil vizualne informacije iz aplikacije za Android, uporabljamo Bluetooth Low Energy kot glavno komunikacijsko metodo.

Ko zazna kateri koli obraz, aplikacija izračuna kot, ki ga mora motor zavrtiti, da zvočnik usmeri v sredino kadra. Možne scenarije smo razgradili in ravnali na naslednji način:

  1. Če zazna obraz in govori, izračuna sredino zvočnikov in vrne relativni kot na pero.
  2. Če zazna obraz (e) in nobeden od njih ne govori, izračuna tudi sredino obrazov in temu ustrezno vrne kot.
  3. Če obraz ni zaznan, sistem spremeni logiko sledenja zvočnikom iz vizualne v zvočno.

Programska oprema SPACS se nahaja na

5. korak: Programska oprema - zvok

Programska oprema - zvok
Programska oprema - zvok

Zvok (YH)

Da bi našli vir dohodnega zvoka, smo najprej poskušali uporabiti časovno razliko med obema mikrofonoma. Vendar ni bilo tako natančno, kot smo pričakovali, saj je bila frekvenca vzorčenja (~ 900Hz) Arduino Leoparda, kjer smo testirali zvočne signale, počasna, tako da ne more ujeti časovne razlike med 10 cm narazen mikrofoni.

Spremenili smo načrt za uporabo razlike v intenzivnosti med dvema vhodnima zvočnima signaloma. Posledično pero vzame dva zvočna signala in jih obdela, da zazna, od kod prihaja zvok. Obdelavo lahko opišemo z naslednjimi koraki:

  1. Vzemite vhode iz dveh mikrofonov in odštejte odmik, da dobite amplitude signalov.
  2. Zberite absolutne vrednosti amplitud na MIC za 500 pickupov.
  3. Razliko zbranih vrednosti shranite v čakalno vrsto s 5 režami.
  4. Vrni vsoto čakalnih vrst kot končno vrednost razlike.
  5. Primerjajte končno vrednost s pragi, da se odločite, od kod prihaja zvok.

Prag smo našli tako, da smo prikazali končno vrednost v različnih okoliščinah, vključno z zvokom, ki prihaja z leve in desne strani. Poleg pragov za končno vrednost smo v 2. koraku nastavili še en prag za povprečje nakopičenih amplitud, da filtriramo šume.

6. korak: Programska oprema - zaznavanje obraza in govora

Za prepoznavanje obrazov smo uporabili ML Kit za Firebase, ki ga je izdal Google (https://firebase.google.com/docs/ml-kit). ML Kit ponuja API za zaznavanje obrazov, ki vrne omejevalno polje vsakega obraza in njegove mejnike, vključno z očmi, nosom, ušesi, lici in različnimi točkami na ustih. Ko zazna obraze, aplikacija sledi gibanju ust, da ugotovi, ali oseba govori. Uporabljamo preprost pristop, ki temelji na pragu in zagotavlja zanesljivo delovanje. Izkoristili smo dejstvo, da se gibanje ust poveča tako vodoravno kot navpično, ko človek govori. Izračunamo navpično in vodoravno razdaljo ustja ter izračunamo standardni odklon za vsako razdaljo. Razdalja se normalizira glede na velikost obraza. Večji standardni odklon označuje govorjenje. Ta pristop ima omejitev, da lahko vsako dejavnost, ki vključuje gibanje ust, vključno s prehranjevanjem, pitjem ali zehanjem, prepoznamo kot govorjenje. Vendar ima nizko stopnjo lažno negativnih.

7. korak: Programska oprema - rotacijski motor

Programska oprema - Rotacijski motor
Programska oprema - Rotacijski motor

Zaradi nadzora hitrosti vrtenja motor ni bil tako enostaven, kot smo pričakovali. Za nadzor hitrosti razglasimo globalno številsko spremenljivko, ki motorju omogoča obračanje le, ko spremenljivka doseže določeno vrednost. Razglasili smo tudi drugo globalno spremenljivko, ki označuje, ali se motor premika, da mikrofonom sporoči, da se lahko izogne zvoku, ki prihaja iz vrtenja motorja.

8. korak: Prihodnje izboljšave

Ena od omejitev je, da se motor pod določenimi koti niha. Zdi se, da motor ni dovolj močan, da bi premagal navor, ki ga ustvari vrtenje pametnega telefona. To lahko odpravite z uporabo močnejšega motorja ali prilagoditvijo položaja pametnega telefona proti središču vrtenja, da zmanjšate navor.

Zaznavanje smeri zvoka na podlagi zvoka bi bilo mogoče izboljšati z bolj izpopolnjeno metodo. Radi bi preizkusili pristop oblikovanja zvočnega snopa, da bi določili smer vhodnega zvoka. Poskusili smo s časom prihoda zvočnih signalov. Hitrost vzorčenja perja je omejena, da zazna časovno razliko, ko so mikrofoni oddaljeni le približno 10 cm.

Zadnji manjkajoči del tega prototipa je ocena uporabnosti. Obetaven način ocenjevanja je integracija sistema z obstoječo platformo za video klice in opazovanje odzivov uporabnikov. Ti odgovori bodo pomagali izboljšati sistem in narediti naslednjo ponovitev tega prototipa.

Priporočena: