İçindekiler:
- Adım 1: Parçalar
- Adım 2: Transistörler
- 3. Adım: Hepsini Bir Araya Bağlayın
- Adım 4: Sensörler
- Adım 5: Komut Satırı Metninden Konuşmaya
- 6. Adım:
- 7. Adım: Kod
- Adım 8: Programları Çalıştırın
- 9. Adım: Bitmiş Ürün Videosu
Video: Ses Değiştirici: 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:22
İş yerinde müziğinizin sesini yükselttiğiniz ve birinin sizinle konuşmaya çalıştığını fark etmediğiniz oldu mu? Daha da kötüsü, hiç işte uyumak istediniz, ancak biri (patronunuz gibi) odanıza gelmek üzereyken uyanmanın iyi bir yolunu bulamadınız mı? Sahibim. Bu sorunları çözmek için Arduino tabanlı SoundSwitcher'ı icat ettim. Temel olarak bu, bir ses kaynağı (benim durumumda bir iPod) ve neler olup bittiğini size bildiren Ladyada'nın Dalga kalkanı arasında geçiş yapmak için 6 transistör kullanır. Ardından Arduino'yu istediğiniz sensör tipine bağlayabilirsiniz. Örneğin, benimki bir Paralaks Ping ultrasonik telemetre, mikrofon, kapı zili düğmesi ve bilgisayara bağlı (yeni bir e-postada uyarılar). Cep telefonunuzun ne zaman çaldığını (ekran aydınlanır) algılamak için bir foto rezistör bağlayarak veya bir Paralaks CH4 sensörü bağlayarak daha da ileri gidebilirsiniz, böylece hücre arkadaşınız çok fazla metan gazı aldığından hücrenizdeki metan seviyelerinin yükseldiğine dair erken uyarı alabilirsiniz. öğle yemeğinde lahana. Her neyse, çoğunuz muhtemelen bu probleminiz yok (keşke olmasaydım). Projenin gerçekte ne yaptığının yanı sıra, metni bir wav dosyasına dönüştürme ve dosyaları Arduino üzerinde Seri üzerinden SD karta aktarma hakkında talimatlar da veriyor.. Umarım bunlar, projelerinde başkaları için faydalı olabilir. NOT: Tüm bu konularda oldukça yeniyim, bu yüzden işleri doğru yaptığımın garantisi yok. Bu, transistörlerle tasarladığım ilk proje, bu yüzden bir yerlerde bazı kapaklar ve diyotlar eksik olabilir… Herhangi birinin tavsiyesi varsa, duymaktan ve dahil etmekten memnuniyet duyarım.
Adım 1: Parçalar
1- Arduino1- Wave Shield (Ladyada)6 - 2n3904 transistörler6 - 330 Ohm dirençler6 - 22 Ohm dirençler2 - 10k Ohm dirençler (düğmeler için pullup'lar)2 - butonlar2 - Stereo erkek kulaklık konnektörleri1 - dişi stereo kulaklık konnektörüSen ne istersen onu yaptım1 - Mikrofon1 - Paralaks Ping Ultrasonik Mesafe Bulucu1- Fotosel1 - E-postayı kontrol eden ve seri üzerinden Arduino'ya bağlanan bir Ruby betiği çalıştıran bilgisayar
Adım 2: Transistörler
Transistörler esas olarak şeyleri yükseltmek için veya anahtarlar olarak kullanılır. Bu durumda transistörleri anahtar olarak kullanıyorum. Arduino pinini yükselttiğimde transistör, onlara bağlı cihazdan kulaklığıma ses gelmesine izin veriyor. Her iki taraftaki üç transistör, her ses kaynağı için zemini ve sol ve sağ stereo kanalları değiştirmeme izin veriyor. Birkaç direnç denedim ve bunlara karar verdim. Transistörler ısınmaz ve ona bağlı Arduino pini yüksek olduğunda transistörün kendisinden gelen direnç çok düşüktür. Bu önemli, böylece iyi, boğuk olmayan bir ses elde edebilirim. Bir sonraki adımda şematikte görebileceğiniz gibi, transistörlerin her biri, tabanı kontrol etmek için Arduino pinine gidecek şekilde bağlanır (aralarında bir dirençle). Yayıcı hem toprağa (direnç ile) hem de ses girişine bağlanır. Toplayıcı, kulaklıkların ses çıkışına bağlıdır. İşte transistörlerin anahtar olarak kullanılmasıyla ilgili güzel bir web sayfası
3. Adım: Hepsini Bir Araya Bağlayın
Şematik oldukça basit. Akılda tutulması gereken bir şey, dalga kalkanının Arduino'da bir grup pim kullanmasıdır, bu yüzden bunlardan uzak durun (onları tahtada lehimle doldurdum). Transistörler için 8 ve 9 pinlerini kullandım (8, dalga kalkanı, 9 harici ses kaynağı oynatır). Mikrofon için analog pin 0 kullanıldı (yine de pek iyi çalışmıyor, bunun üzerinde çalışıyorum). "Yoksay" butonu için analog pin 1 kullanılır. Bu düğmeye basıldığında, önceden tanımlanmış bir süre boyunca tüm sensörler yok sayılır. Analog pin 2 bir "kapı zili" dir. Diğer şeyler için hala bazı ücretsiz pinler var. Analog pin 3'te çaldığını algılamak için cep telefonu ekranına koyduğum bir foto rezistör eklemeyi planlıyorum. Denediğimde buraya ekleyeceğim.
Adım 4: Sensörler
Şu anda olayları tetiklemek için aşağıdaki "sensörleri" (muhtemelen girişler daha doğrudur) kullanıyorum: -Kapı zili için basma düğmesi - Bu oldukça basittir, böylece birinin bir düğmeye basmasını sağlar ve kulaklıklarınızdan bir ses çalacaktır birinin etrafta olduğunu bilmeni sağlamak. Kullandığım buton, varsayılan olarak devreyi kapattı ve butona basıldığında devreyi açtı (sadece bunlar vardı). Çekme dirençlerini unutmayın (genellikle devre açıkken iyi bir yüksek sinyal vermeye yardımcı olmak için telin Arduino pin tarafına giden 10k Ohm'luk bir direnç). Benimki Arduino Analog Pin 2'ye bağlı.-Parallax Ping Ultrasonik telemetre - Yakında biri olduğunda bana haber ver (yani, biri kabininize girmek üzere). Benimki Arduino Pin 6'ya bağlı (sensörün beyaz kablosunda). Sensörün kırmızı kablosu 5 volta gider ve siyah kablo toprağa gider.-Mikrofon - Bu, birisinin sizinle konuştuğunu algılamak içindir. Kulaklık taktığının farkına varmayan ve konuşmaya başlayan adamları bilirsin. Hâlâ bunun üzerinde çalışıyorum, görünüşe göre sparkfun'dan aldığım mikrofonla iyi bir okuma yapabilmek için bir ön amfiye ihtiyacım var. Bir sonraki ilginç adım, sesin birkaç saniyesini dalga kalkanındaki bir dosyaya kaydetmek ve ardından müziğinizi kapatmadan önce önemsediğiniz bir şey olup olmadığını anlamak için onu oynatmak olacaktır.-Bilgisayar - Şu anda bu bir Ruby kullanıyor. yeni e-postayı kontrol etmek için komut dosyası ve Arduino'nun yeni bir e-posta alındığını bildirmek için seri bağlantı noktasına bir sinyal gönderir. Açıkçası bununla çok daha fazlasını yapabilirsin. Temel olarak, bilgisayarın uyarabileceği herhangi bir şey, kulaklıklarınız aracılığıyla uyarmasını sağlayabilirsiniz. Bilgisayarın bazı AT&T seslerini kullanarak otomatik olarak bir dalga dosyası oluşturmasını ve ardından seri yoluyla Arduino'ya göndermesini sağlayabilirsem harika olurdu. Yine de bu bir çıkış yolu.-Cep telefonu çalma sensörü - Bunun için Radio Shack'ten (The Shack) bir fotosel kullandım. Analog pin 4'e ve ardından 5 volta bağladım. Ayrıca Arduino'daki pin 4'ü toprağa bağlayan taraftan 10k Ohm'luk bir direnç yapmanız gerekiyor (aksi takdirde sinyal değişmeyecek). Telefonum için Arduino'da okunan analogda kullandığım fotosel 400'ün üzerine çıkarsa ekran aydınlanıyor. Diğer Potansiyel Sensörler-Masa Telefonu zil sensörü - Belki mikrofon bunu algılayabilir. Telefona bağlı olarak, muhtemelen bunu yapmanın birkaç yolu vardır. Genel amaçlı bir çözüm bulup bulamayacağımı görmek için bunun hakkında biraz daha düşünmem gerekecek.-Lazer ve bir foto rezistör - Bir lazer işaretçisini hücre açıklığınızın üzerinden bir foto rezistöre doğrultabilirsiniz. Biri kabininize girdiği için ışık kesildiğinde, bir uyarı çalabilirsiniz.-CH4 gaz dedektörü - Hücrenizdeki yükselen metan seviyelerini tespit edin. Bu, yakınlardan geçen gaza karşı erken uyarı sistemi olarak hizmet etmeye yardımcı olabilir.
Adım 5: Komut Satırı Metninden Konuşmaya
İşte metni konuşmaya çevirmek için çok hızlı yazdığım küçük bir yardımcı program. C# ile freeVisual C# 2008 Express Edition ile yazılmıştır. Bunu çalıştırmak için muhtemelen. Net 3.5'e ihtiyacınız olacak. Kod dahildir, ancak yalnızca exe'yi istiyorsanız, zip dosyasındaki CommandLineText2Speech/CommandLineText2Speech/bin/Release içinde alabilirsiniz. Aracı çalıştırmak için bir komut istemi açabilir, exe'yi koyduğunuz dizine gidebilir ve CommandLineText2Speech.exe yazabilirsiniz. Bunun çıktısını verecektir: Kullanım: Kurulu sesleri listelemek için:CommandLineText2Speech.exe whatvoices
Metni bir wav'a dönüştürmek için:CommandLineText2Speech.exe [ses] [hız - varsayılan 0 (-10 ila 10)] [hacim - varsayılan 80 (0 ila 100)] "[dönüştürülecek metin]" [çıktı dosyası]Başka bir deyişle muhtemelen ilk önce şunu çalıştırmak isteyeceksiniz:CommandLineText2Speech.exe whatvoicesBu, bilgisayarınıza hangi sesleri yüklediğinizi listeleyecektir. Aracı çalıştırmak için bir sesin adına ihtiyacınız olacak. Windows ile gelen sesler harika değil, AT&T'de oldukça iyi olan sesler var. Metni bir wav dosyasına dönüştürmenin yanında şunu yapınCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Bu bir testtir" test.wavİşte bunun anlamı şudur:"Microsoft Sam"- ses, bu Windows ile birlikte gelen ses, sahip olduğunuz boşluk olduğu için tırnak içine almak için 0- Normal Hız (-10'dan 10'a gidebilir)80- Normal Hacim (0'dan 100'e gidebilir)"Bu bir testtir"- Wav dosya testine dönüştürülecek metin.wav- wav dosyasının adı ne olacak
6. Adım:
Ekli Ruby kodu, yeni bir e-posta olup olmadığını görmek için aşağıdaki kontrolleri yapar ve varsa bunu Arduino'da yerleşik USB'den Seri arabirime aracılığıyla Arduino'ya aktarır. Seri (muhtemelen arabellek boyutu) üzerinden yüksek hızlı bağlantılar yaparken sorunlar yaşadım. Dosyanın ayarlarının tümü dosyanın en üstündedir. Bu, bir wav dosyası oluşturmak için C# programımı kullanır. Muhtemelen hepsini tek bir dile dönüştürmeliyim, Ruby'nin büyük bir hayranıyım, ancak metinden wav'ı çok kolay oluşturacak gibi görünmüyordu, bu yüzden küçük C# uygulamasını yazdım. Ayrıca ruby'ye de ihtiyacınız olacak. seri mücevher, onu da dahil ettim. Kurmak için (Ruby'yi kurduktan sonra) gem'i indirdiğiniz dizinin komut istemine "gem install win32-serial-0.5.1-x86-mswin32-60.gem" yazın. Bu programın çalışması için ihtiyacınız olan tek şey bu.
7. Adım: Kod
Arduino taslağımı ekledim. İçinde yardımcı olacak birçok yorum var. Temel olarak tüm girişleri kontrol etmeye devam eder, eğer bunlardan biri patlarsa, sesi Dalga Kalkanı'na çevirir ve bu uyarıyla ilişkili wav dosyasını çalar.
Adım 8: Programları Çalıştırın
Tamam, şimdi tüm parçalara sahipsiniz. Bunun doğru şekilde çalışmasını sağlamak için yapmanız gerekenler1. Arduino2'ye Wave Shield kurun. Arduino'yu Bilgisayara Bağlayın (veya XBee'yi kullanın) - Donanım yazılımının zaten kurulu olduğunu varsayıyorum3. Ruby checkEmail.rb komut dosyasını çalıştırın4. Müziğinizin keyfini çıkarın, Arduino e-postanızı okuması gerektiğinde veya çevrenizde bir şey algıladığında sizi kesecektir.
9. Adım: Bitmiş Ürün Videosu
İşte ses değiştirici iş başında
Önerilen:
Spartan Ses Değiştirici Kask: 14 Adım (Resimlerle)
Spartalı Ses Değiştirici Kask: Merhaba! Sorbonne Üniversitesi Politeknik Okulu'ndan 4 öğrenciden oluşan bir ekibiz: Louis BuchertBilal MelehiBao Tinh PiotMarco Longépé Bu proje, çalışmalarımızın bir parçası olarak gerçekleştirilir ve bir dizi aracı ele almayı ve aynı zamanda
Ses Değiştirici (Arduino): 5 Adım
Ses Değiştirici (Arduino): Bu proje, okul proje grubum ve benim birden fazla ses kaynağını tek bir ses yükselticisine çevirmemiz gerektiği için başladı. İnternette Arduino için bir çeşit ses değiştirme modülü ararken buna benzer bir şey bulamadık.
DIY Synth'ler için Ses Değiştirici Hack: 9 Adım (Resimlerle)
DIY Synth'ler için Ses Değiştirici Hack: En son 'ibles'imi takip edenler için - son zamanlarda birkaç 555 zamanlayıcı synth inşa ettiğimi bileceksiniz. Geçenlerde yerel geri dönüşüm depoma yaptığım bir gezi sırasında bir çocuk sesi değiştirici buldum. Bir mikrofona konuştuğunuz türden
Ses Değiştirici: 5 Adım (Resimlerle)
Ses Değiştirici: Merhaba ! Her zaman, sesinizi filtreleme veya modülasyon gibi efektlerle değiştirebilen bir kayıt/restitüsyon ses sistemi oluşturmak istediniz! Ses değiştirici sizin için yapıldı! Bu projenin yaklaşık 10 saate ihtiyacı var ve 173.78.1$ değerinde bir bütçeye sahip DE0 nano Yani
Ses Değiştirici Kutusu (1/8" Stereo Jaklar): 3 Adım
Ses Değiştirici Kutusu (1/8" Stereo Jaklar): Bir çeşit 1/8" satın almak için internette arama yaparak saatler harcadım. jak ses değiştirici kutusu, ancak boşuna. Bu yüzden kendim yapmaya karar verdim ve şaşırtıcı derecede kolaydı.Bu proje için kullandım: 1 - 4x4x2 pvc bağlantı kutusu (Lowes'tan) -