Компьютериңиздеги аналогдук үн синтези: 10 кадам (сүрөттөр менен)
Компьютериңиздеги аналогдук үн синтези: 10 кадам (сүрөттөр менен)
Anonim

Ошол эски аналогдук синтезаторлордун үнүнө окшошпу? Өз убактыңызда, өз жериңизде, каалаганча АКЫСЫЗ ойноону каалайсызбы? Бул жерде сиздин эң жапайы Moog кыялдарыңыз орундалат. Сиз электрондук жазуучу артисти боло аласыз же жөн эле mp3 ойноткучуңуздан угуу үчүн бир аз салкын, учкул үндөрдү чыгара аласыз. Болгону компьютер керек! Мунун баары LTSpice деп аталган бекер схема симуляторунун сыйкырчылыгы аркылуу жасалат. Эми мен билем, балким сиз "Gee wilikers, Тайлер, мен тренажерду иштетүү жөнүндө эч нерсе билбейм- бул КАТУУ угулат!". Кабатыр болбо, Бунки! Бул оңой жана мен сизге бир нече шаблондорду берем жана сиз каалаган кызыктай үндөрдү чыгарышыңыз керек. Бул жерде сиз ойноого даяр үн файлына шилтеме бар (ал "ible" тин 7 -кадамындагы "kompozisyon_1.asc" дан жасалган), сиз сынап көрүңүз. Мен жүктөө убактысын кыскартуу үчүн.wavдан mp3га айландырдым. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3 Анча -мынча бас бар, андыктан гарнитура же жакшы колонкалар менен угуңуз. Эгерде сиз көргөндү жактырсаңыз, мага добуш бериңиз! Эскертүү: Мен LTSpice үчүн сиздин компьютериңизде иштете турган схемалык файлдарды тиркеп койдум, бирок кандайдыр бир себептерден улам сиз аларды жүктөөгө аракет кылсаңыз, аттары жана кеңейтүүлөрү өзгөрүп кетет. Файлдардын мазмуну жакшы окшойт, андыктан файлдарды жүктөп алгандан кийин аттарын жана кеңейтүүлөрүн өзгөртүп койсоңуз, алар иштеши керек. Туура аттар жана кеңейтүүлөр сиз жүктөп алуу үчүн чыкылдатуучу иконкаларда көрсөтүлөт.

1 -кадам: Биринчи нерсе биринчи

LTSpice - бул Windows программасы, бирок бул сиздин көңүлүңүздү түшүрбөсүн. Бул Linux шарап астында жакшы иштейт. Мен VMWare кардарында, VirtualBoxто же Linuxтун астындагы башка виртуалдаштыруу куралдарында жана Mac -тагы пробабалында эч кандай көйгөй жок деп ойлоп жатам. designtools/software/ltspice.jspInstall. LTSpice деген эмне? Бул ар бир электроника хоббиси кантип колдонууну билиши керек болгон убакыт-домендик тренажер. Мен бул жерде кантип иштээри боюнча деталдуу окуу куралын берейин деп жаткан жокмун, бирок мен сизге керек болгон бир нече нерсени түшүндүрүп берем. Бир эскертүү- өтө жыштыктарды чыгаруу оңой же угууга өтө бийик. Эгер сиз андай кылсаңыз жана кымбат баалуу динамиктериңизди күчтүү кубаттуу амп менен башкарсаңыз, сиз жөн эле динамиктериңизди/амфыңызды битке учурата аласыз. Ар дайым толкун формаларын кайра ойнотуудан мурун караңыз жана коопсуз болуу үчүн файлды биринчи жолу ойноткондо үнүн чектеп коюңуз. Динамиктерди сынап көрүүдөн мурун, файлдарды арзан гарнитура аркылуу аз көлөмдө ойнотуу ар дайым жакшы идея.

2 -кадам: киргизүү

Симуляторго киргизүү схемалык диаграмма түрүндө болот. Сиз компоненттерди тандайсыз, аларды схемага жайгаштырасыз, анан аларды зымга бириктиресиз. Сиздин схема бүткөндөн кийин, сиз симуляторго схеманы кантип тууроону каалаарыңызды жана кандай өндүрүштү каалаарыңызды айтасыз. Resistors.asc деп аталган схеманы карап көрүңүз. Сиз чыңалуу булагын, резисторлордун жупун, этикетталган чыгаруу түйүнүн, жерге жана тексттин буйрук сабын камтыган схема бар экенин көрөсүз. Келгиле, ар бирин карап көрөлү. Азыр төмөндө шилтемеленген райондук файлды ачуу үчүн жакшы убакыт. Жер: Бул сиздин схемаңыздагы ЭҢ СЫНДУУ компонент. Сиз чынжырыңыздын жок дегенде бир чекитине туташкан жерге ээ болушуңуз керек же симуляцияңыздан абдан таң калыштуу жыйынтыктарды аласыз. Чыңалуу булагы: Эгер сиз чынжырга чыңалуу киргизип жатсаңыз, ага AC же DC экенин айтышыңыз керек (же татаал нерсе), чыңалуу деген эмне, булактын "ички каршылыгы" ж. Чыныгы муктаждыктын баары - жөнөкөй симуляциялардын каршылыгы. Резисторлор: Резисторлорду түшүнүү оңой. Жөн эле чычкандын оң баскычын басып, каршылыктын маанисин коюңуз. Ал жерде катылып жаткан башка параметрлерди этибарга албаңыз. Белгиленген киргизүү жана чыгаруу түйүндөрү: Жөнөкөй колдонуучулар үчүн ыңгайлуу болгон түйүндөрдүн аттары. симуляторго схеманы кантип симуляциялоону каалаарыңызды айтат. Бул убакыт-домен тренажери, бул чынжырды ар кайсы убакта талдайт. Сиз ага максималдуу убакыт кадамы кандай болорун жана симуляция реалдуу убакытта эмес, "райондук убакытта" иштеши керектигин айтышыңыз керек. Эгерде сиз симуляторго 10 секунддук схемада иштөөнү айтсаңыз жана максималдуу убакытты 0,001 секундга койсоңуз, ал схеманы жок дегенде 10 000 жолу (10 сек/0,001 сек) анализдейт, андан кийин токтойт., чынжырдагы ар бир түйүндөгү чыңалуу жана ар бир түйүнгө кирип -чыккан агымдар ар бир кадам сайын эсептелип, сакталат. Бул маалыматтын баары осциллограф экраны сыяктуу дисплейде (горизонталдык огунун убактысы, чыңалуу же тик октогу ток. Же болбосо, чыгарманы.wav аудио файлына жөнөтсөңүз болот) mp3 ойноткучту ойнотуу үчүн компьютер, CDге жазуу же mp3га айландыруу. Бул тууралуу кийинчерээк…

3 -кадам: Чыгуу

Чыгуу убакыттын чыңалуусунун графикалык графиги болушу мүмкүн, чыңалуу vs чыңалуу ж. Бул instructable. Download жана файлды ачуу "resistors.asc". Кичине чуркап жүргөн адамдын символун чыкылдатыңыз (экрандын сол жагы) жана схема иштеши керек. Эми схемада "OUT" этикеткасын басыңыз. Убакытты билдирген горизонталдык огунда графикалык чыгууда "чыгаруу" деп белгиленген чыңалууну көрөсүз. Бул жерге салыштырмалуу чыңалуу (ошондуктан ар бир схемада жок дегенде бир жерге муктаж!) Бул негиздер. Резистордун маанилеринин бирин же чыңалууну өзгөртүп көрүңүз, анан симуляцияны кайра иштетип, чыгуу чыңалуусуна эмне болорун караңыз. Эми сиз чынжыр тренажерун кантип иштетүүнү билесиз. Оңой эмеспи?

4 -кадам: Азыр кээ бир үн

"Dizzy.asc" деп аталган схеманы ачыңыз. Бул модуляторду жана жуп чыңалуу булактарын колдонуп, CD сапатын (16 бит, 44.1 ksps, 2 канал) ойното турган аудио файлды чыгаруучу кызыктай ызы -чуу жаратуучу. Модулятор компоненти чындыгында осциллятор. Жыштык жана амплитуда реалдуу аналогдук синтезатордо VCO жана VCA сыяктуу жөнгө салынат. Толкундун формасы дайыма синусоидалуу, бирок кийинчерээк аны өзгөртүү жолдору бар. Жыштык чектери белги жана мейкиндик параметрлери менен белгиленет. Марк - бул FM кирүү чыңалуусу 1В болгондо, ал эми боштук - FM кирүү чыңалуусу 0В болгондо. Чыгаруу жыштыгы FM киргизүү чыңалуусунун линиялык функциясы, андыктан жыштык FM киргизүү чыңалуусу 0,5В болгондо белгинин жана космостук жыштыктардын ортосунда жарым болот жана FM кирүү чыңалуусу 2В болгондо 2 эсе болот. модулятор, ошондой эле AM киргизүү пини аркылуу амплитудасы модуляцияланышы мүмкүн. Модулятор (осциллятор) чыгаруу амплитудасы AM чыңалуусуна киргизилген чыңалууга дал келет. Эгерде сиз 1 чыңалуусу бар DC булагын колдонсоңуз, анда чыгуу амплитудасы 1В болот (бул -1ден +1Вга чейин өзгөрөт). Модулятордун эки жолу бар- синус жана косинус. Толкундун формалары таптакыр окшош, алар фазадан 90 градус сыртта. Бул стерео аудио колдонмолору үчүн кызыктуу болушу мүмкүн. Симуляторго максималдуу убакыт кадамын жана симуляциянын узактыгын айткан.tran билдирүүсү бар. Бул учурда, райондук убакыт (жалпы симуляция убактысы) = аудио файлдын убактысы. Бул симуляцияны 10 секунд иштетсеңиз, сиз 10 секундага созулган аудио файлга ээ болосуз дегенди билдирет.. Save билдирүүсү симулятор симуляцияны иштетип жатканда сактай турган маалыматтардын санын азайтуу үчүн колдонулат. Адатта, ал ар бир түйүндөгү чыңалууларды жана ар бир компоненттин ичине жана ичине токту сактайт. Эгерде сиздин схемаңыз татаалдашып кетсе же узак симуляцияны иштетсеңиз, бул көп маалыматка чейин кошо алат. Сиз симуляцияны иштеткенде, диалог кутусундагы тизмеден бир чыңалууну же токту тандаңыз жана маалымат файлы (.raw) кичине болот жана симуляция максималдуу ылдамдыкта иштейт. Акырында.wave билдирүүсү симуляторго Сол каналда "OUTL" жана оң каналда "OUTR" чыңалуусун коюу менен CD сапатындагы стерео аудио файлын (үлгү боюнча 16 бит, 44.1 ksps, эки канал) түзүңүз.. Wav файлы 16 бит үлгүлөрүнөн турат.. Wav файлындагы толук масштабдуу чыгаруу (үлгүдөгү бардык 16 бит күйгүзүлгөн), чыңалуу так +1 Вольт же -1 Вольт болгондо пайда болот. Сиздин синтезатордун схемасы ар бир каналга +/- 1Вдан ашпаган чыңалуу жаратуу үчүн түзүлүшү керек, антпесе.wav файлындагы чыгуу чыңалуу +1 же -1 В ашкан сайын "кесилет". аудио файл 44.1 ksps боюнча тандалып алынган, биз симуляторду схеманы секундасына 44, 100 жолу окшоштуруу үчүн керек, ошондуктан максималдуу убакыт кадамын 1/44, 100 сек же 20 микросекундга (АКШ) койдук.

5 -кадам: Чыңалуу булактарынын башка түрлөрү, Үндөрдүн башка түрлөрү

Аналогдук синтезаторго туш келди ызы -чуунун булагы керек. Сиз "жүрүм -турум чыңалуу булагын" (bv) колдонуп, ызы -чууну пайда кыла аласыз жана аны "чыңалуу башкаруучу которгучтун" (sw) жардамы менен күйгүзүп жана өчүрө аласыз. Bv компонентин ызы -чуу үчүн колдонуу формуланын негизинде чыңалууну аныктоону камтыйт. Ызы -чуу чыгаруу формуласы мындай көрүнөт: V = ак (убакыт*X)*Y Ак функциясы учурдагы убакыттын маанисин урук катары колдонуп, -0.5 жана +0.5 V арасында туш келди чыңалуу жаратат. Y коюу 2 үчүн +/- 1V селкинчек берет. 1, 000 (1e3) жана 100, 000 (1e5) ортосундагы X жөндөө ызы -чуунун спектрине таасирин тийгизет жана sound. The чыңалуусун башкаруучу которууну да.моделдик билдирүүдө коюу үчүн кээ бир параметрлерди талап кылат. Кааласаңыз, ар биринин өзүн башкача алып жүрүүсү үчүн бир нече чыңалуу башкарылуучу өчүргүчтөрдү жана бир нече моделдин билдирүүлөрүн колдоно аласыз. Сиз симуляторго "күйгүзүү" жана "өчүрүү" каршылыктарын жана ал которулуучу босоголук чыңалууну айтышыңыз керек. Vh "гистерезис чыңалуусу". Аны 0.4V сыяктуу оң мааниге коюңуз жана которгуч ачылып-жабылганда эч кандай чыкылдатуу үнү чыкпайт. >>> Жаңыртуу: бул жерде эшиктин ызы-чуу булагын жасоонун дагы оңой жолу бар- жөн гана ызы-чуунун чыңалуусун импульске көбөйтүү source- төмөндө easy_gated_noise.asc караңыз.

6 -кадам: Коңгуроолор, Барабандар, Cymbals, Stringed Strings

Коңгуроолор, барабандар, чаңдар жана үзүлгөн кылдар - баары урма. Алар салыштырмалуу тез өсүү убактысына жана экспоненциалдуу ажыроо убактысына ээ. Синус жана жүрүм -турум чыңалуу булактарын кээ бир жөнөкөй схемалар менен түзүү оңой. Схемалуу "bell_drum_cymbal_string.asc" караңыз. Резистор, конденсатор жана диод менен импульстук чыңалуу булактары керектүү тез өсүүнү жана жай экспоненциалдык ажыроо толкундарын түзөт. Бул чыгаруу чыңалуусу кокусунан ызы -чуу же синус толкуну булактары катары орнотулган жүрүм -турум булактарынын жыйынтыктарын модуляциялайт. Импульстук булак чыңалуусу көтөрүлгөндө конденсаторду бат эле заряддайт. Андан кийин конденсатор резистор аркылуу агып чыгат. Диод булак чыңалуусу нөлгө барабар болгондо, чыңалуу булагын конденсатордун агып кетүүсүнөн сактайт. Чоң резистордун мааниси агып кетүү убактысын жогорулатат. Сиз импульстук булактын көтөрүлүү убактысын көрсөтө аласыз - cymbal - бул абдан тез көтөрүлүүчү убакыты бар nise булагы. Барабан дагы ызы -чуунун булагы болуп саналат, ал төмөнкү жыштыкта иштейт жана жайыраак көтөрүлүү убактысына ээ. Коңгуроо жана сапта импульстуу булактар тарабынан модуляцияланган синус толкундарынын булактары колдонулат. Коңгуроо жогорку жыштыкта иштейт жана сапка караганда ылдамыраак көтөрүлүү убактысына ээ. Симуляцияны иштетип, жыйынтыгын угуңуз. Барабан эки каналда тең пайда болорун, башка бардык үндөр оң же сол канал экенин эске алыңыз. Барабандагы эки резистор үндү эки каналга киргизүү үчүн жооптуу.

7 -кадам: Бардыгын бириктирүү

Макул, эми сиз кээ бир үндөрдү кантип чыгарууну жана конверттерди кантип калыптандырууну жана аларды модуляциялоону көрдүңүз. Эми бир нече ар кандай булактарды бир схемада чогултуу жана угуу үчүн кызыктуу нерсени түзүү убактысы келди. Ошол ызы -чуу булагын 33 секундда композицияга кантип киргизесиз? Кантип 16 секундада чырылдаган коңгуроону күйгүзөсүз, анан өчүрөсүз, анан 42 секундда кайра күйгүзөсүз? Мунун бир жолу - бул керектүү үндү чыгаруу үчүн жүрүм -турум чыңалуу булагын колдонуу, андан кийин үндү жаратуучу чыңалууну үн чыңалуучу жана чыңалуучу башка чыңалууга көбөйтүү менен жандыруу жана өчүрүү, bell_drum_cymbal_string.asc. Сиз үндөрдү өчүрүү жана өчүрүү үчүн ушундай эле нерсени жасай аласыз. Бул жердеги идея кайталануучу үндөрдү орнотуу, андан кийин кошумча булактарды колдонуу менен ошол үндөрдү каалаган убакта композицияңызга алардын чыңалуусун үн чыңалуусуна көбөйтүү аркылуу кошуу болуп саналат. Сиз каалагандай акыркы үн чыгуусуна канча чыңалууну киргизсеңиз болот, жөн гана аларды көбөйтүп туруңуз (логикалык "жана" сыяктуу). Добуштарды бир убакта баштоо менен алар музыканын убагында эч качан эрте же кеч болбойт. Ар бир каналда экиден коңгуроо бар. Pulse_bell чыңалуусу симуляция боюнча иштейт, бирок үндөр V (bell_r) жана V (bell_l) 0ге барабар болбогондо гана чыгат.

8 -кадам: Экспоненциалдык Рампа

Жаңыртуу 7/10- түбүнө жылдыруу Бул жерде ызы-чуу булактарына колдонулуучу экспоненциалдуу пандусту түзгөн схема. V1 жана V2 0ден башталып, prd_l жана prd_r мезгилдеринде X вольтко (сол канал) жана Y вольтко (оң канал) чейин көтөрүлүүчү сызыктуу пандустарды жаратышат. В1 жана В3 сызыктуу пандустарды максималдуу амплитудасы 1В болгон экспоненциалдуу пандустарга айландыруу үчүн формуланы колдонушат. В2 жана В4 амплитудасы экспоненциалдык пандустар жана amp_l жана amp_r параметрлери боюнча модуляцияланган туш келди ызы -чууну жаратат. Мен бул схема тарабынан түзүлгөн mp3 файлын тиркеп койдум, ошондо ал кандай угулат. Сиз, балким, аны ойнотуу үчүн файлдын атын өзгөртүшүңүз керек болот. X жана Y линиялык пандустардын чыңалуу чектерин белгилейт. Акыр -аягы, эки каналдын пандустары 1Вга чейин масштабдалат, бирок X жана Y коюу менен сиз экспоненциалдык пандустун тиктигин көзөмөлдөй аласыз. 1 сыяктуу кичинекей сан дээрлик сызыктуу пандусту берет, ал эми 10 сыяктуу көп сан абдан тик экспоненциалдуу пандусту берет. Рампанын мезгилдери prd_l жана prd_r параметрлерин колдонуу менен коюлат. Сызыктуу пандустун көтөрүлүү убактысы prd_l же prd_r маанисине минус 5 мс, ал эми түшүү убактысы 5 мске коюлган. Узакка созулган күз мезгили ар бир пандустун аягында чыкылдатууга жол бербейт, анткени амплитудасы нөлгө түшөт.out_l жана out_r убакытка негизделген туш келди ызы-чуунун, экспоненциалдуу пандустун чыңалуусунун жана amp_l жана amp_r параметрлеринин продуктулары. Оң каналды кокусунан ызы -чуу мааниси сол каналга караганда башка "үрөндү" колдонот. Бул ар бир каналдагы ызы -чууну туш келди жана карама -каршы каналдан айырмалап турат. Эгерде сиз бир эле үрөндү колдонсоңуз, ошол эле маалда ошол эле кокустук мааниге ээ болосуз жана үн эки башка булак катары кабыл алынбастан, борбордо бүтөт, ар бир каналда. Бул ойноо үчүн кызыктуу эффект болушу мүмкүн … Жаңыртуу: толкун формасы 0Вдан кандайдыр бир оң мааниге чейин баратканын байкаңыз. Бул чыңалуу бирдей оң жана терс маанилердин ортосунда өзгөрүп турганы жакшы. Мен схеманы так ошондой кылдым, бирок ал толкундун формасын бир аз аныктаган теңдеменин татаалдыгын арттырды. Exponential_ramp_noise.asc жүктөп алыңыз (Instructables сервери аны сактаганда атын жана кеңейтүүсүн өзгөртөөрүн унутпаңыз).

9 -кадам: Синус толкунуна карата экспоненциалдык пандус

Бул баракта синус булагын (чынында, синус жана косинус) модуляциялоо үчүн мурунку кадамдагы экспоненциалдык пандусту кантип колдонуу керектиги көрсөтүлгөн. Жүрүм -турум чыңалуусу булагы модуляцияланган 2 компонентке FM киргизүүнү экспоненциалдуу пандуска айлантуу үчүн колдонулат. Үлгү файлын угуңуз- бул абдан кызыктай угулат.

10 -кадам: Сунуштар

1) Сиз симуляциянын жалпы убактысын өзгөртө аласыз - компоненттер менен ойноп жатканыңызда кыска болгула жана сизге жаккан үндү алгандан кийин, симуляторду 30 мүнөт (1800 сек) же каалагандай узак иштетиңиз. Сиз чынжырларды бир барактан экинчисине көчүрө аласыз жана чакан схемаларды жасай аласыз, андыктан кичинекей схема модулдарын чыныгы синтезатордо такта тактасын колдонуу менен бириктире аласыз.2) CD үлгүсүнүн ылдамдыгы 44.1 кссс. Эгерде сиз максималдуу убакытты 20га чейин түшүрсөңүз, анда "таза" жыйынтыкка ээ болосуз, анткени симулятордо ар бир жаңы үлгү боюнча маалыматтар болот. Эгер сиз кичине убакытты колдонсоңуз, симуляция жай болот жана, балким, үнгө эч кандай таасирин тийгизбейт. Эгерде сиз узак убакыт кадамын колдонсоңуз, анда сиз жактырган же жактырбаган кээ бир лакап сөздөрдү угушуңуз мүмкүн. 3).save диалог кутусунун билдирүүсүн схемаңызда колдонуңуз жана симуляцияны иштетип, чыңалуу же токтун бирөөсүн гана тандаңыз. the.raw файлынын көлөмү кичине. Эгерде сиз тандоо жасабасаңыз, БАРДЫК чыңалуу жана агымдар сакталат жана.raw файлы Өтө чоң болот.4) жогорку жыштыктарды модуляциялоо үчүн өтө төмөн жыштыктарды колдонуп көрүңүз5) төмөнкү жыштыктарды модуляциялоо үчүн жогорку жыштыктарды колдонуп көрүңүз.6) Кызыктуу кылуу үчүн кээ бир төмөнкү жыштыктагы булактардан алынган чыгымдарды кээ бир жогорку жыштык булактары менен бириктирүү.7) ритмди камсыз кылуу үчүн синусту же башка булакты модуляциялоо үчүн импульстук чыңалуу булагын колдонуу.8) чыңалуу импульсун каалаган нерсеге келтирүү үчүн аналогдук схемаларды колдонуу.9) жүрүм -турум чыңалуу булагынын чыгышын аныктоо үчүн математикалык сөз айкаштарын колдонуңуз.

Сунушталууда: