Mündəricat:

Kompüterinizdə analoq səs sintezi: 10 addım (şəkillərlə birlikdə)
Kompüterinizdə analoq səs sintezi: 10 addım (şəkillərlə birlikdə)

Video: Kompüterinizdə analoq səs sintezi: 10 addım (şəkillərlə birlikdə)

Video: Kompüterinizdə analoq səs sintezi: 10 addım (şəkillərlə birlikdə)
Video: Mövzu 12.1. Kompüter şəbəkələri. Lokal şəbəkə: Şəbəkə avadanlıqları. Topologiyalar 2024, Noyabr
Anonim
Kompüterinizdə analoq səs sintezi
Kompüterinizdə analoq səs sintezi

O köhnə analoq sintezatorların səsi kimi? PULSUZ olaraq, istədiyiniz müddətdə, öz yerinizdə, öz yerinizdə oynamaq istəyirsiniz? Ən çılğın Moog xəyallarınızın gerçəkləşdiyi yer budur. Elektron səs yazıcısı ola bilər və ya mp3 pleyerinizdə dinləmək üçün sadəcə sərin, səssiz səslər çıxara bilərsiniz. Lazım olan tək şey bir kompüterdir! İndi bilirəm ki, yəqin ki, "Gee willikers, Tyler, bir dövrə simulyatoru işlətmək haqqında heç nə bilmirəm- bu SƏNİZ səslənir!". Narahat olma, Bunky! İstədiyiniz qəribə səsləri çıxarmaq üçün başlamaq və dəyişdirmək üçün sizə bir neçə şablon verəcəyəm. Sınaya biləcəyiniz bir səs faylının bağlantısı (bu "ible" in 7 -ci addımındakı "kompozisiya_1.asc" dan hazırlanmışdır). Yükləmə müddətini azaltmaq üçün.wav -dan mp3 -ə çevirdim. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3 Səsdə aşağı bas var, buna görə qulaqlıq və ya yaxşı dinamiklərlə dinləyin. Gördüklərinizi bəyənirsinizsə, mənə səs verin! Qeyd: LTSpice üçün kompüterinizdə işlədə biləcəyiniz sxematik fayllar əlavə etdim, ancaq nədənsə onları yükləməyə çalışanda adlar və uzantılar dəyişir. Faylların məzmunu yaxşı görünür, buna görə faylları yüklədikdən sonra adları və uzantıları dəyişdirin və onlar işləməlidir. Yükləmək üçün tıkladığınız nişanlar üzərində düzgün adlar və uzantılar göstərilir.

Addım 1: İlk şeylər əvvəlcə

LTSpice bir Windows proqramıdır, ancaq sizi aşağı salmağa imkan verməyin. Linux -da Wine altında yaxşı işləyir. VMWare müştəri, VirtualBox və ya linux altındakı digər virtualizasiya vasitələrində və Mac -da probabaly ilə işləyərkən heç bir problem olmadığından şübhələnirəm. Windows üçün LTSpice -in bir nüsxəsini buradan yükləyin: designtools/software/ltspice.jspInstall edin. LTSpice nədir? Hər bir elektronika həvəskarının necə istifadə edəcəyini bilməli olduğu bir zaman bölgəsi dövrə simulyatorudur. Burada necə işlədiyinə dair ətraflı bir təlimat verməyəcəyəm, amma gedərkən bildiyiniz bir neçə şeyi izah edəcəyəm. Bir xəbərdarlıq sözü- çox aşağı tezlikləri istehsal etmək çox asandır. və ya eşitmək üçün çox yüksəkdir. Bunu etsəniz və bahalı dinamiklərinizi yüksək güclü bir amp ilə idarə etsəniz, hoparlörünüzü/ampinizi bitlərə vura bilərsiniz. Həmişə dalğa formalarına yenidən baxmadan əvvəl baxın və yalnız təhlükəsiz olmaq üçün bir faylı ilk dəfə oxudanda səsin məhdudlaşdırılmasına diqqət yetirin. Dinamikləri sınamadan əvvəl faylları aşağı qulaqlıqlarda aşağı səs səviyyəsində səsləndirmək həmişə yaxşı bir fikirdir.

Addım 2: Giriş

Giriş
Giriş

Simulyatora giriş sxematik bir diaqram şəklindədir. Komponentləri seçirsiniz, sxematik şəkildə yerləşdirirsiniz və sonra telləri birləşdirirsiniz. Dövrünüz tamamlandıqda, simülatörün dövrə simulyasiyasını necə istədiyinizi və hansı növ çıxış istədiyinizi söyləyəcəksiniz. Bir gərginlik mənbəyi, bir cüt rezistor, etiketli bir çıxış qovşağı, bir torpaq və bir mətn əmr xətti olan bir dövrə olduğunu görəcəksiniz. Gəlin hər birinə baxaq. Aşağıda əlaqəli dövrə faylını açmaq üçün yaxşı bir vaxtdır. Zəmin: Bu, sxematikada ən kritik komponentdir. Dövrünüzün ən azı bir nöqtəsinə bağlı bir torpağa sahib olmalısınız və ya simulyasiyalarınızdan çox qəribə nəticələr əldə edəcəksiniz. Gərginlik mənbəyi: Bir dövrə gərginlik qoyursanız, bunun AC və ya DC olduğunu söyləməlisiniz. (və ya daha mürəkkəb bir şey), gərginliyin nə olduğu, mənbənin "daxili müqaviməti" və s. Mənbədəki göstərici ilə sağ tıklayaraq bu parametrləri daxil edə bilərsiniz. Həqiqətən ehtiyac duyduğunuz şey sadə simulyasiyalar üçün müqavimətdir. Rezistorlar: Rezistorları anlamaq olduqca asandır. Müqavimətin dəyərini təyin etmək üçün sağ vurun. Orada gizlənə biləcək digər parametrlərə məhəl qoymayın. Etiketli giriş və çıxış qovşaqları: Yalnız istifadəçi dostu olan dövrədəki qovşaqların adları.- "çıxış", "giriş" və s. Simulyasiya direktivi:.tran ifadəsi simulyatora dövrə simulyasiyasını necə istədiyinizi söyləyir. Bu, dövrənin fərqli nöqtələrində dövrəni təhlil etməsi deməkdir. Maksimum vaxt addımının nə olduğunu və simulyasiyanın real vaxtda deyil, "dövrə zamanında" nə qədər davam etməsini izah etməlisiniz. Simulyatora 10 saniyəlik dövrənin işləməsini söyləsəniz və maksimum vaxt addımını 0.001 saniyəyə təyin etsəniz, dövrəni ən az 10.000 dəfə (10 saniyə/0.001 saniyə) təhlil edəcək və sonra dayandıracaq., dövrədəki hər bir qovşaqdakı gərginlik və hər bir qovşaqdakı və xaricindəki cərəyanlar hər addımda hesablanacaq və saxlanılacaq. Bütün bu məlumatlar osiloskop ekranı kimi bir ekranda (üfüqi oxun vaxtı, şaquli oxda gərginlik və ya cərəyan. Alternativ olaraq, çıxışı a.wav audio faylına da göndərə bilərsiniz) kompüterinizi, CD -yə yazın və ya mp3 pleyerinizdə çalmaq üçün mp3 -ə çevirin. Bu barədə daha sonra…

Addım 3: Çıxış

Çıxış
Çıxış

Çıxış, gərginliyə qarşı vaxt, gərginlik vs gərginlik və s. Və ya hər addımda bir dəstə gərginlik və ya cərəyandan ibarət bir mətn faylı və ya çox istifadə edəcəyimiz bir.wav audio faylı ola bilər. Bu göstərişli. "resistors.asc" faylını yükləyin və açın. Kiçik çalışan adam simvolunu (ekranın sol üst hissəsi) vurun və dövrə işləməlidir. İndi dövrədəki "ÇIKIŞ" etiketini vurun. Vaxtı əks etdirən üfüqi bir ox boyunca qrafik çıxışda "çıxış" etiketli gərginliyi görəcəksiniz. Bu, yerə nisbətən ölçülən gərginlikdir (buna görə də hər dövrədə ən azı bir yerə ehtiyacınız var!) Bunlar əsasdır. Rezistor dəyərlərindən birini və ya gərginliyi dəyişdirməyə çalışın, sonra simulyasiyanı yenidən başladın və çıxış gərginliyinə nə olduğunu görün. İndi bir dövrə simulyatorunu necə idarə edəcəyinizi bilirsiniz. Asan deyilmi?

Addım 4: İndi Biraz Səs

İndi Biraz Səs!
İndi Biraz Səs!

"Dizzy.asc" adlı dövrə açın. Bu, oynaya biləcəyiniz bir CD keyfiyyəti (16 bit, 44.1 ksps, 2 kanal) istehsal etmək üçün bir modulator və bir neçə gərginlik mənbəyindən istifadə edən qəribə bir səs -küy istehsalçısıdır. Modulator komponenti əslində bir osilatördür. Tezlik və amplitüd, həm də real analoq sintezatorda VCO və VCA kimi tənzimlənir. Dalğa forması həmişə sinusoidaldır, lakin daha sonra bunu dəyişdirməyin yolları var. Tezlik məhdudiyyətləri işarə və boşluq parametrləri ilə müəyyən edilir. Mark, FM giriş gərginliyi 1V olduqda boşluq, FM giriş gərginliyi 0V olduqda tezlikdir. Çıxış tezliyi FM giriş gərginliyinin xətti bir funksiyasıdır, buna görə də FM giriş gərginliyi 0,5V olduqda tezlik işarəsi ilə kosmik tezliklərin yarısı olacaq və FM giriş gərginliyi 2V olduqda işarə tezliyinin 2 qatına bərabər olacaq. modulyator da AM giriş pini vasitəsilə amplituda modulyasiya edilə bilər. Modulator (osilator) çıxış amplitudası, AM gərginlik girişinə tətbiq olunan gərginliyə uyğun olacaq. Gərginliyi 1 olan bir DC mənbəyindən istifadə etsəniz, çıxış amplitudu 1V olacaq (yəni -1 ilə +1 V arasında dəyişəcək). Modulyatorun iki çıxışı var- kosinus. Dalğa formaları, fazadan 90 dərəcə kənarda olmaları xaricində tamamilə eynidır. Bu, stereo səs proqramları üçün əyləncəli ola bilər. Simulyatora maksimum vaxt addımını və simulyasiya müddətini bildirən.tran ifadəsi var. Bu halda, dövrə vaxtı (ümumi simulyasiya vaxtı) = audio fayl vaxtı. Bu o deməkdir ki, simulyasiyanı 10 saniyə ərzində yerinə yetirsəniz, 10 saniyə uzunluğunda bir səs faylı alacaqsınız.. Save ifadəsi, simulyatorun işlədərkən saxlayacağı məlumatların miqdarını minimuma endirmək üçün istifadə olunur. Normalda hər bir qovşaqdakı gərginliyi və hər bir komponentə daxil olan və çıxan cərəyanları saxlayır. Dövrünüz çətinləşərsə və ya uzun bir simulyasiya etsəniz, bu çoxlu məlumat əlavə edə bilər. Simulyasiyanı işlədərkən, informasiya qutusundakı siyahıdan bir gərginlik və ya cərəyan seçin və məlumat faylı (.raw) kiçik olacaq və simulyasiya maksimum sürətlə işləyəcək. Nəhayət.wave ifadəsi simulyatora sol kanalda "OUTL" və sağ kanalda "OUTR" gərginliyi qoyaraq bir CD keyfiyyətli stereo audio fayl (nümunə başına 16 bit, 44.1 ksps, iki kanal) yaradın.. Wav faylı 16 bit nümunədən ibarətdir.. Wav faylındakı tam miqyaslı çıxış (nümunədəki 16 bitin hamısı açılır) çıxan gərginlik tam olaraq +1 Volt və ya -1 Volt olduqda baş verir. Sintezator sxeminiz hər bir kanala +/- 1V -dən çox olmayan gərginlik yaratmaq üçün qurulmalıdır, əks halda.wav faylındakı çıxış gərginlik +1 və ya -1 V -ı keçdikdə "kəsiləcək". nümunəsi 44.1 ksps olan bir səs faylı, dövrəni ən azı 44, saniyədə 100 dəfə simulyasiya etmək üçün simulyatora ehtiyacımız var, buna görə maksimum vaxt addımını 1/44, 100 saniyə və ya təxminən 20 mikrosaniyə (bizə) təyin edirik.

Addım 5: Digər Gərginlik Mənbələri, Digər Səslər

Digər Gərginlik mənbələri, digər səs növləri
Digər Gərginlik mənbələri, digər səs növləri
Digər Gərginlik mənbələri, digər səs növləri
Digər Gərginlik mənbələri, digər səs növləri

Analoq sintezatorun təsadüfi səs -küy mənbəyinə ehtiyacı var. "Davranış gərginliyi mənbəyi" (bv) istifadə edərək səs -küy yarada bilərsiniz və "gərginlik idarə olunan açar" (sw) istifadə edərək onu yandırıb söndürə bilərsiniz. Səs -küy yaratmaq üçün bv komponentindən istifadə etmək, bir düstura əsaslanan gərginliyi təyin etməyi əhatə edir. Səs -küy yaratmaq üçün düstur belə görünür: V = ağ (vaxt*X)*Y Ağ funksiya cari vaxt dəyərini toxum olaraq istifadə edərək -0.5 ilə +0.5 V arasında təsadüfi bir gərginlik yaradır. Y-nin 2-yə qoyulması +/- 1V yelləncək verir. X -in 1 000 (1e3) və 100 000 (1e5) arasında olması səs -küy spektrini təsir edir və səsi dəyişir. Gərginlik idarə olunan açarın.model ifadəsində qurulması üçün bəzi parametrlərə ehtiyacı var. İstəyirsinizsə, hər birinin fərqli davranmasını təmin etmək üçün birdən çox gərginliyə nəzarət açarlarından və birdən çox model ifadəsindən istifadə edə bilərsiniz. Simulyatora "açma" və "söndürmə" müqavimətlərini və keçdiyi eşik gərginliyini bildirməlisiniz. Vh "histerezis gərginliyi" dir. 0.4V kimi müsbət bir dəyərə qoyun və açar açıldıqda heç bir klik səsi gəlməyəcək. >>> Yeniləmə: qapalı səs-küy mənbəyi etmək üçün daha da asan bir yol var- səs-küy gərginliyini pulslu vuruşla vurun. source- bax easy_gated_noise.asc, aşağıda.

Addım 6: Bells, Drums, Cymbals, Strucked Strings

Zənglər, Zərb alətləri, Zillər, Kopan Simli tellər
Zənglər, Zərb alətləri, Zillər, Kopan Simli tellər

Zənglər, davullar, zillər və kəsilmiş tellər hamısı zərb alətidir. Nisbətən sürətli yüksəlmə müddətinə və eksponensial çürümə müddətinə malikdirlər. Bəzi sadə sxemlərlə birlikdə sinus və davranış gərginliyi mənbələrini istifadə edərək yaratmaq asandır. "Bell_drum_cymbal_string.asc" sxematikasına baxın. Rezistor, kondansatör və diodlu impulslu gərginlik mənbələri lazım olan sürətli artım və yavaş eksponensial çürümə dalğa formaları yaradır. Bu çıxış gərginliyi təsadüfi səs -küy və ya sinus dalğa mənbələri olaraq qurulan davranış mənbələrinin çıxışlarını modulyasiya edir. Pulslu qaynaq gərginliyi artdıqda kondansatörü tez doldurur. Daha sonra kondansatör rezistor vasitəsilə boşalır. Diyot, qaynaq gərginliyi sıfır olduqda, gərginlik mənbəyinin kondansatörü boşaltmasını maneə törədir. Daha böyük müqavimət dəyərləri boşalma müddətini artırır. İmpulslu mənbənin qalxma vaxtını təyin edə bilərsiniz - zil çox sürətli yüksəliş vaxtı olan bir qaynaq mənbəyidir. Tambur eyni zamanda daha aşağı tezlikdə işləyən və daha yavaş yüksəlmə müddətinə malik olan bir səs -küy mənbəyidir. Zəng və sim də impulslu mənbələr tərəfindən modulyasiya edilən sinus dalğa mənbələrindən istifadə edir. Zəng daha yüksək tezlikdə işləyir və simdən daha sürətli yüksəlmə müddətinə malikdir. Simulyasiyanı işə salın və nəticəni dinləyin. Qeyd edək ki, baraban hər iki kanalda görünür, digər səslər isə sağ və ya sol kanaldır. Tambur çıxışındakı iki rezistor, səsin hər iki kanala daxil edilməsindən məsuldur.

Addım 7: Hamısını bir yerə yığın

Hamısını bir araya gətirmək
Hamısını bir araya gətirmək

Tamam, indi bəzi səsləri necə çıxarmağı və zərfləri necə düzəltməyi və onları modulyasiya etməyi gördünüz. İndi bir neçə fərqli mənbəni bir sxemdə bir araya gətirmək və dinləmək üçün maraqlı bir şey yaratmaq zamanı gəldi. 33 saniyədə bu səs mənbəyini kompozisiyaya necə daxil edə bilərsiniz? 16 saniyədə necə çalırsınız, sonra söndürürsünüz, 42 saniyədə yenidən açırsınız? Bunun bir yolu, istədiyiniz səsi çıxarmaq üçün davranış gərginliyi mənbəyindən istifadə etmək, sonra bell_drum_cymbal_string.asc -da olduğu kimi, səs yaradan gərginliyi səsi açan və söndürən başqa bir gərginliyə vuraraq açıb -bağlamaqdır. Səsləri söndürmək üçün eyni şeyi edə bilərsiniz. Buradakı fikir, təkrarlanan səsləri qurmaq, sonra da səsləri gərginliklərinə vuraraq onların səslərini istədiyiniz vaxt əlavə etmək üçün əlavə mənbələrdən istifadə etməkdir. İstədiyiniz qədər son səs çıxışına bir çox gərginlik əlavə edə bilərsiniz, sadəcə onları (məntiqi "və" ilə eyni) vurmağa davam edin. Səsləri birdən -birə açaraq, kompozisiya boyunca mükəmməl bir senkronda qalacaqlar, belə ki, musiqi vaxtında heç vaxt erkən və ya gec olmayacaqlar. Hər kanalda iki zəng var. Pulse_bell gərginliyi simulyasiya boyunca işləyir, ancaq səslər yalnız V (bell_r) və V (bell_l) 0 -a bərabər olmadıqda çıxışda görünür.

Addım 8: Eksponensial Rampa

Eksponensial Rampa
Eksponensial Rampa
Eksponensial Rampa
Eksponensial Rampa

7/10 yeniləyin- aşağıya doğru sürüşdürün. Burada bir cüt səs-küy mənbəyinə tətbiq olunan eksponensial bir rampa yaradan bir dövrə var. V1 və V2, prd_l və prd_r dövrlərində 0 -dan başlayan və X volt (sol kanal) və Y volt (sağ kanal) yüksələn xətti rampalar yaradır. B1 və B3, xətti rampaları maksimum 1V amplitüdlü eksponensial rampalara çevirmək üçün bir düsturdan istifadə edir. B2 və B4, eksponensial rampalar və amp_l və amp_r parametrləri ilə amplituda modulyasiya olunan təsadüfi səs -küy yaradır. Səsin nə olduğunu eşitmək üçün bu dövrə tərəfindən yaradılmış bir mp3 faylını əlavə etdim. X və Y xətti rampaların gərginlik limitlərini təyin etmək üçün yəqin ki, faylın adını dəyişməli olacaqsınız. Nəhayət, hər iki kanalın rampaları 1V -ə endirilir, lakin X və Y -ni təyin edərək, eksponensial rampanın dikliyini idarə edə bilərsiniz. 1 kimi kiçik bir rəqəm, demək olar ki, xətti bir rampa verir və 10 kimi çox sayda çox dik bir eksponensial rampa verir. Eniş dövrləri prd_l və prd_r parametrlərindən istifadə etməklə təyin olunur. Xətti rampanın qalxma müddəti prd_l və ya prd_r dəyərindən eksi 5 ms, düşmə vaxtı isə 5 ms olaraq təyin olunur. Güclü payız vaxtı, amplitudun sıfıra düşdüyü üçün hər bir rampanın sonunda tıklamağı maneə törədir. Out_l və out_r, vaxta əsaslanan təsadüfi səs-küy, eksponent ramp gərginliyi və amp_l və amp_r parametrlərinin məhsuludur. Doğru kanal təsadüfi səs -küy dəyərinin sol kanaldan fərqli bir "toxum" istifadə etdiyini unutmayın. Bu, hər kanaldakı səs -küyü təsadüfi və əks kanaldan fərqli saxlayır. Eyni toxumdan istifadə etsəniz, eyni zamanda eyni təsadüfi dəyər alacaqsınız və səs hər kanalda iki fərqli qaynaq olaraq qəbul edilmək əvəzinə mərkəzdə bitəcək. Bu oynamaq maraqlı bir təsir ola bilər … Yeniləmə: dalğa formasının 0V -dən bəzi müsbət dəyərlərə getdiyini nəzərə alın. Gərginliyin bərabər müsbət və mənfi dəyərlər arasında dəyişməsi daha yaxşıdır. Bunu etmək üçün sxemi yenidən işlədim, ancaq dalğa formasını müəyyən edən tənliyin mürəkkəbliyini bir qədər artırdı. Exponential_ramp_noise.asc yükləyin (unutmayın ki, Instructables serveri yadda saxladığınız zaman adını və uzantısını dəyişəcək).

Addım 9: Sinüs Dalğasına Tətbiq Edilən Eksponensial Rampa

Sinus Dalğasına Tətbiq Edilən Eksponensial Rampa
Sinus Dalğasına Tətbiq Edilən Eksponensial Rampa

Bu səhifə, bir sinus mənbəyini (əslində, sinus və kosinusu) modulyasiya etmək üçün əvvəlki addımdakı eksponensial rampanın necə istifadə olunacağını göstərir. Davranış gərginliyi mənbəyi bir modulate2 komponentində FM girişini idarə edən eksponensial bir rampaya çevirmək üçün istifadə olunur. Nümunə faylını dinləyin- olduqca qəribə səslənir.

Addım 10: Təkliflər

1) Ümumi simulyasiya müddətini dəyişə bilərsiniz - komponentlərlə oynayarkən qısa saxlayın və bəyəndiyiniz səsi aldıqdan sonra simulyatoru 30 dəqiqə (1800 saniyə) və ya istədiyiniz qədər uzun müddətə işlədin. Dövrləri bir səhifədən digərinə kopyalaya bilərsiniz və kiçik sxemlər yarada bilərsiniz, belə ki, əsl sintezatorda yamaq taxtası istifadə etmək kimi kiçik dövrə modullarını bir -birinə bağlaya bilərsiniz. 2) CD nümunə sürəti 44.1 ksps -dir. Maksimum vaxt addımını 20-yə endirsəniz, "təmiz" bir nəticə əldə edəcəksiniz, çünki simulyatorda hər yeni nümunə üçün məlumat olacaq. Kiçik bir zaman addımından istifadə etsəniz, simulyasiya yavaş olacaq və yəqin ki, səsə heç bir təsiri olmayacaq. Daha uzun bir zaman addımından istifadə etsəniz, bəyənə biləcəyiniz və ya bəyənməyəcəyiniz bəzi təxəllüsləri eşidə bilərsiniz. 3) sxeminizdə.save dialoq qutusu ifadəsini istifadə edin və simulyasiyanı işlədərkən gərginliyi və ya cərəyandan yalnız birini seçin. the.raw faylının ölçüsü kiçikdir. Seçim etməsəniz, BÜTÜN gərginliklər və cərəyanlar saxlanılacaq və.raw faylı ÇOX böyük olacaq.4) daha yüksək tezlikləri modulyasiya etmək üçün çox aşağı tezliklərdən istifadə etməyə çalışın 5) daha aşağı tezlikləri modulyasiya etmək üçün daha yüksək tezliklərdən istifadə etməyə çalışın.6) bəzi aşağı frekanslı mənbələrdən çıxarılan şeyləri maraqlı etmək üçün bəzi yüksək tezlikli mənbələrlə birləşdirin.7) ritmi təmin etmək üçün sinusu və ya başqa bir mənbəni modulyasiya etmək üçün impulslu gərginlik mənbəyindən istifadə edin 8) gərginlik impulslarını istədiyiniz bir şeyə çevirmək üçün analog sxemlərdən istifadə edin.9) davranış gərginliyi mənbəyinin çıxışını təyin etmək üçün riyazi ifadələrdən istifadə edin.

Tövsiyə: