Sisällysluettelo:

Äänenvaihtaja: 9 vaihetta
Äänenvaihtaja: 9 vaihetta

Video: Äänenvaihtaja: 9 vaihetta

Video: Äänenvaihtaja: 9 vaihetta
Video: Seuraavan tason puhesynteesi - RVC RMVPE -komentosarjamalli Kagglelle |Uutta ML-maailmassa| RMVPE ko 2024, Marraskuu
Anonim
Äänenvaihtaja
Äänenvaihtaja

Oletko koskaan saanut musiikkia soimaan töissä etkä huomannut, että joku yrittää puhua kanssasi. Vielä pahempaa on, oletko koskaan halunnut nukkua töissä, mutta sinulla ei ollut hyvää tapaa herätä, jos joku (kuten pomosi) oli tulossa kaappiisi. Minulla on. Näiden ongelmien ratkaisemiseksi keksin Arduino -pohjaisen SoundSwitcherin. Pohjimmiltaan tämä käyttää kuutta transistoria vaihtamaan äänilähteen (minun tapauksessani iPod) ja Ladyadan Wave -kilven välillä, mikä kertoo sinulle, mitä tapahtuu. Voit sitten liittää Arduinon haluamaasi anturityyppiin. Esimerkiksi minun on liitetty Parallax Ping -ultraäänietäisyysmittariin, mikrofoniin, ovikellopainikkeeseen ja tietokoneeseen (hälytykset uudesta sähköpostista). Voit mennä pidemmälle liittämällä valokuvaresistorin, joka tunnistaa matkapuhelimesi soivan (näyttö syttyy), tai Parallax CH4 -anturin, jotta voit saada varhaisen varoituksen metaanipitoisuuksien noususta kennossasi, koska kumpikaverillasi oli liikaa kaali lounaalla. Joka tapauksessa useimmilla teistä ei todennäköisesti ole tätä ongelmaa (toivoisin, ettei minulla olisi). Sen lisäksi, mitä projekti todella tekee, se antaa myös ohjeita tekstin muuntamisesta wav -tiedostoksi ja tiedostojen siirtämisestä Arduinon SD -kortille Serialin kautta. Toivottavasti näistä voi olla hyötyä muille heidän hankkeissaan. Tämä on ensimmäinen projekti, jonka olen koskaan suunnitellut transistoreilla, joten ehkä puuttuu joitain korkkeja ja diodeja jostain… Jos jollain on neuvoja, kuulen ne mielelläni ja otan ne huomioon.

Vaihe 1: Osat

Osat
Osat
Osat
Osat

1- Arduino1- Wave Shield (Ladyada) 6-2n3904 transistorit6-330 ohmin vastukset6-22 ohmin vastukset2-10k ohmin vastukset (painikkeiden vetäminen) 2 - painikkeet2 - Stereokuulokeliittimet1 - naaras stereokuulokeliitäntä Halutut anturit, tein1 - Mikrofoni1 - Parallax Ping Ultrasonic Range Finder1- Valokenno1 - Tietokone, jossa on Ruby -skripti, joka tarkistaa sähköpostit ja muodostaa yhteyden Arduinoon sarjaportin kautta

Vaihe 2: Transistorit

Transistorit
Transistorit

Transistoreita käytetään pääasiassa asioiden vahvistamiseen tai kytkimiksi. Tässä tapauksessa käytän transistoreita kytkimenä. Kun käännän Arduino -nastan korkealle, transistori sallii äänen tulevan niihin yhdistetystä laitteesta kuulokkeisiini. Kolme transistoria kummallakin puolella mahdollistavat maan ja vasemman ja oikean stereokanavan vaihtamisen kullekin äänilähteelle. Kokeilin useita vastuksia ja päädyin niihin. Transistorit eivät kuumene ja itse transistorin vastus on hyvin alhainen, kun siihen liitetty Arduino -nasta on korkea. Tämä on tärkeää, jotta saan hyvän hiljaisen äänen. Kuten seuraavassa kaaviossa näet, transistorit on kytketty toisiinsa niin, että kanta menee Arduino -nastaan ohjaamaan sitä (niiden välissä on vastus). Lähetin on kytketty sekä maahan (vastuksella) että äänituloon. Keräin on liitetty kuulokkeiden äänilähtöön. Tässä on hyvä verkkosivu transistorien käyttämisestä kytkiminä

Vaihe 3: Yhdistä kaikki

Yhdistä kaikki
Yhdistä kaikki

Kaavio on melko yksinkertainen. Yksi asia, joka on pidettävä mielessä, on se, että aaltosuoja käyttää joukkoa nastoja Arduinossa, joten pysy kaukana niistä (täytin ne juotoksellani). Käytin nastat 8 ja 9 transistoreille (8 soi aaltosuojaa, 9 toistaa ulkoista äänilähdettä). Mikrofonissa käytettiin analogista nastaista 0 (se ei kuitenkaan toimi kovin hyvin, työskentelen tämän parissa). Analogista nastaa 1 käytetään "Ohita" -painikkeeseen. Kun tätä painiketta painetaan, kaikki anturit ohitetaan ennalta määrätyn ajan. Analoginen nasta 2 on "ovikello". Vielä on ilmaisia nastoja muihin asioihin. Aion lisätä valokuvavastuksen, jonka laitan matkapuhelimen näyttöä vasten havaitsemaan, milloin se soi analogisella nastalla 3. Lisään sen tänne, kun kokeilen sitä.

Vaihe 4: Anturit

Anturit
Anturit

Tällä hetkellä käytän seuraavia "antureita" (luultavasti tulot ovat tarkempia) tapahtumien käynnistämiseksi: -Painike ovikellolle - Tämä on melko yksinkertaista, tekee sen niin, että joku voi painaa painiketta ja se toistaa äänen kuulokkeistasi ilmoittaa, että joku on lähellä. Käyttämäni painike sulki piirin oletusarvoisesti ja avasi piirin, kun painiketta painettiin (minulla oli juuri nämä ympärillä). Älä unohda vetovoimia (yleensä 10 k ohmin vastus, joka menee langan Arduino -nastapuolelle, jotta saadaan hyvä korkea signaali, kun piiri on auki). Minun on kytketty Arduino Analog Pin 2. -parallax Ping -ääni -etäisyysmittariin - Kerro minulle, kun joku on lähellä (eli joku on tulossa kennoosi). Minun on kytketty Arduino Pin 6: een (anturin valkoiseen johtoon). Anturin punainen johto menee 5 volttiin ja musta johto maahan. - Mikrofoni - Tämä on tarkoitettu havaitsemaan, kun joku puhuu sinulle. Tiedät niitä tyyppejä, jotka eivät ymmärrä, että sinulla on kuulokkeet päässä ja alkavat puhua. Työskentelen edelleen tämän kanssa, näyttää siltä, että tarvitsen esivahvistimen saadakseni hyvän lukemisen kipinän mikrofonilla. Mielenkiintoinen seuraava askel olisi tallentaa muutama sekunti ääntä aaltosuojalla olevaan tiedostoon ja sitten toistaa se, jotta tiedät, onko se sinulle tärkeä asia ennen musiikin sammuttamista. - Tietokone - Tällä hetkellä tämä käyttää Ruby skripti uusien sähköpostien etsimiseksi ja lähettää signaalin sarjaporttiin, jossa Arduino ilmoittaa, että uusi sähköposti on vastaanotettu. Ilmeisesti voit tehdä paljon enemmän tällä. Pohjimmiltaan mitä tahansa tietokonetta voi hälyttää, voit saada sen hälyttämään kuulokkeidesi kautta. Olisi hienoa, jos saisin tietokoneen automaattisesti generoimaan aaltotiedoston käyttämällä joitain AT&T -ääniä ja lähettämään sen sitten Arduinolle sarjaliikenteen kautta. Se on kuitenkin tie siellä. - Matkapuhelimen soittoanturi - käytin tähän Radio Shackin (The Shack) valokennoa. Liitin sen analogiseen nastaan 4 ja sitten 5 volttiin. Sinun on myös tehtävä 10 k ohmin vastus sivulta, joka yhdistää Arduinon nastaan 4 maahan (muuten signaali ei muutu). Puhelimessani, jos käyttämäni valokenno menee yli 400 Arduinon analogisella lukemalla, niin näyttö on valaistu. Puhelimesta riippuen siihen on todennäköisesti useita tapoja. Minun täytyy miettiä tätä vielä jonkin aikaa nähdäkseni, voinko keksiä yleiskäyttöisen ratkaisun. Kun valo on rikki, koska joku kävelee kennoosi, saatat antaa hälytyksen. - CH4 -kaasunilmaisin - Havaitsee kohottavan metaanipitoisuuden. Tämä voi toimia varhaisvaroitusjärjestelmänä lähistöllä kulkevaa kaasua vastaan.

Vaihe 5: Komentorivin teksti puheeksi

Tässä on pieni apuohjelma, jonka kirjoitin todella nopeasti peittääkseni tekstin puheeksi. Se on kirjoitettu C# -versiolla freeVisual C# 2008 Express Editionin kanssa. Tarvitset todennäköisesti. Net 3.5: n tämän suorittamiseen. Koodi on mukana, mutta jos haluat vain exen, voit saada sen CommandLineText2Speech/CommandLineText2Speech/bin/Release zip -tiedostossa. Jotta työkalu toimisi, voit avata komentokehotteen, siirtyä hakemistoon, johon laitat exe -tiedoston, ja kirjoittaa CommandLineText2Speech.exe. Se antaa tämän: Käyttö: Asennettujen äänien luetteloiminen: CommandLineText2Speech.exe whatvoices

Tekstin muuntaminen waviksi: CommandLineText2Speech.exe [ääni] [nopeus - oletus 0 (-10 - 10)] [äänenvoimakkuus - oletusarvo 80 (0-100)] "[muunnettava teksti]" [tulostustiedosto] Toisin sanoen haluat todennäköisesti suorittaa ensin: CommandLineText2Speech.exe whatvoicesTämä luetteloi tietokoneellesi asennetut äänet. Tarvitset äänen nimen työkalun suorittamiseen. Windowsin mukana tulevat äänet eivät ole hienoja, AT&T: llä on joitain melko hyviä. Seuraavaksi muuntaaksesi tekstin wav-tiedostoksi tee tämäCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Tämä on testi" test.wavTämä tarkoittaa kaikkea: "Microsoft Sam"- ääni, tämä on Windows-käyttöjärjestelmä, sinulla on lainausmerkeissä lainausmerkeissä, koska siellä on välilyönti.wav- mikä wav-tiedoston nimi on

Vaihe 6:

Liitteenä oleva Ruby -koodi tarkistaa seuraavat sähköpostit, onko uusia sähköpostiviestejä ja onko se lähettänyt ne Arduinolle Arduinoon rakennetun USB -sarjaliitännän kautta. Minulla on ollut ongelmia nopeiden yhteyksien muodostamisessa Serialin kautta (todennäköisesti puskurin koko). Tiedoston asetukset ovat kaikki tiedoston yläosassa. Tämä käyttää C# -ohjelmaani luomaan wav -tiedoston. Minun pitäisi luultavasti muuttaa tämä kaikki yhdelle kielelle, olen suuri Rubyn fani, mutta se ei näyttänyt siltä, että se voisi luoda wavin tekstistä erittäin helposti, joten kirjoitin pienen C# -sovelluksen. sarjan helmi, olen sisällyttänyt sen myös. Asenna se (Rubyn asentamisen jälkeen) kirjoittamalla "gem install win32-serial-0.5.1-x86-mswin32-60.gem" sen hakemiston komentoriville, josta lataat helmen. Tämä on kaikki mitä tarvitset tämän ohjelman toimimiseksi.

Vaihe 7: Koodi

Olen liittänyt Arduino -luonnoksen. Siinä on paljon kommentteja, jotka auttavat. Se tarkistaa periaatteessa kaikki tulot, jos yksi niistä laukaisee, se vaihtaa Wave Shieldin äänen ja toistaa hälytykseen liittyvän wav -tiedoston.

Vaihe 8: Suorita Ohjelmat

Okei, nyt sinulla on kaikki osat. Jotta tämä toimisi oikein, sinun on 1. Asenna Wave Shield Arduino2: een. Liitä Arduino tietokoneeseen (tai käytä XBeeä) - oletan, että sinulla on jo laiteohjelmisto asennettuna3. Suorita Ruby checkEmail.rb -skripti4. Nauti musiikistasi, Arduino keskeyttää sinut, kun sen täytyy lukea sähköpostisi tai kun se havaitsee jotain surrondingsistasi.

Vaihe 9: Video valmiista tuotteesta

Tässä on äänikytkin töissä

Suositeltava: