Мазмұны:

Басқа резюме қорапшасына MIDI: 7 қадам (суреттермен)
Басқа резюме қорапшасына MIDI: 7 қадам (суреттермен)

Бейне: Басқа резюме қорапшасына MIDI: 7 қадам (суреттермен)

Бейне: Басқа резюме қорапшасына MIDI: 7 қадам (суреттермен)
Бейне: Trying to Prove His Masculinity Leaves Him Broken — Gay Movie Recap & Review 2024, Шілде
Anonim
Басқа түйінге резюме MIDI
Басқа түйінге резюме MIDI

Басқа резюме -резюме қорабы - бұл Korg MS10 есігімді қағып, менің студиямда болған кезде мен жасаған жоба. Менің қондырғым барлық құралдарды автоматтандыру мен синхрондау үшін MIDI -мен тығыз байланысты болғандықтан, мен MS10 -ды сатып алған кезде, бірінші кезекте, мұндай бақылауды қалай жүзеге асыру керек екеніне тап болдым.

Korg MS20/10 MIDI -ді енгізудің ең оңай синтезі емес: біріншіден, олар oct/V (октаваға 1В) емес, Гц/В бақылауына (бақылау кернеуі мен нота жиілігі арасындағы сызықтық корреляция) сүйенеді; екіншіден, нотаны іске қосу үшін сіз теріс қақпа сигналын жіберіп, +5 В сигналы емес (V-триг) жерге (S-Trig) кірісті қысқартуыңыз керек.

Қазіргі уақытта мұндай құралдарды басқарудың әр түрлі коммерциялық шешімдері бар (мысалы, Arturia Beatstep Pro, Korg SQ-1, Kenton Solo), бірақ мен арзан бейбақпын, тіпті 100 евро «дыбыс шықпайтын» құрылғы үшін тым көп:).

Міне, біз осындамыз: MIDI-ге дейінгі синтездің қадамын, қақпасын, жылдамдығын және жиілігін сыртқы MIDI контроллерімен (пернетақта, DAW, реттегіш немесе басқалары) басқару/автоматтандыру үшін резюме-резюме қорапшасының аз бюджетін құру жолын көрсетуге рұқсат етіңіз..

«Жаңа MS20 шағын ше?

Барлығы біледі, жаңа MS20 іс жүзінде MIDI -ге дайын: 5 полюсті MIDI қосқышы бар IN және USB қосқышы бар IN/OUT.

«Сонымен, егер менде MS20 шағын болса, бұл нәрсе пайдасыз!»

Ал, жоқ. MS20 mini тек қосылатын/өшірілген хабарларды таниды және пернетақта жылдамдыққа сезімтал емес. Мұны MS10/20 винтажды немесе шағын пернетақтаның көмегімен жеңуге болмайды, бірақ midi box пен жылдамдыққа сезімтал пернетақтаның көмегімен сіз алтынсыз. Сонымен қатар, MIDI қорабының көмегімен сіз сүзгіні ажыратуды (немесе кез келген басқа кернеуді басқаратын параметрді) автоматтандыруға немесе оны MIDI кіріс жылдамдығының жазбасымен модуляциялауға болады. Тағы да, MS20 шағын MIDI арнасы тек 1 -арнаға жауап береді. Бұл қораптың көмегімен сіз бұл шекті де жеңе аласыз.

«Егер менде Oct/V синтезі болса ше?»

Проблема жоқ! Мен жазған код Oct/V синтезаторларымен үйлесімді (тексерілмеген, бірақ мен қораптан тыс жұмыс істейтініне сенімдімін;)).

1 -қадам: !! Назар аударыңыз - жауапкершіліктен бас тарту

Сіздің қондырғыңыз өте құнды және тестілеу үшін пайдаланылмауы керек.

Электрмен ойнау сіздің жабдықты қатты зақымдауы немесе өзіңізге зиян келтіруі мүмкін.

Мен осы нұсқаулықта мен хабарлаған бағдарламалық жасақтамадан, схемалардан, ақпараттардан немесе сілтемелерден сіздің жабдықтарыңызға/жабдықтарыңызға, тіпті өзіңізге келтірілген зиян үшін жауап бере алмаймын.

Сізге ескерту жасалды!

2 -қадам: аппараттық құралдарды жасау

Arduino мұндай жобалармен жұмыс жасау кезінде ыңғайлы болады. Үлкен қауымдастықтың болуы және барлық жақсы тапсырмаларды қамтитын өте жақсы кітапханалар оны дұрыс таңдау етеді. Бұл жерде тақта кіріс MIDI деректерін оқитын етіп бағдарламаланатын болады, содан кейін дискіге тиісті кернеулер жібереді:

- ПВМ шығысын аналогтық кернеуге түрлендіру арқылы VCO -ны цифрлық -аналогтық түрлендіргіш (DAC) арқылы басқару

- Жылдамдық, VCA -ны қарапайым RC сүзгісімен басқару үшін pwm шығысын сүзу арқылы

- VCF -ті қарапайым RC сүзгісімен басқару үшін pwm шығысын сүзу арқылы сүзу жиілігі.

- V-триггері жағдайында тікелей цифрлық шығудан (ағынды ағызуды төмендету үшін шығысымен 1 Кохм тізбегін орнатыңыз) немесе цифрлық шығудан қарапайым pnp транзисторлық қосқышпен (схеманы қараңыз).

Arduino тікелей тұрақты кернеулерді шығара алмайды, бірақ әр түрлі кезеңдегі 0/+5 В импульстер (PWM). Біз цифрлық аналогты түрлендіргішке (DAC) мұқтажбыз. RC сүзгілері - бұл менің ойымша ең қарапайым DAC. RC сүзгісі кернеуді басқаратын күшейткіш пен сүзгі (VCA және VCF) үшін жақсы. RC сүзгілері жиілігі <20 Гц (ең төменгі дыбыстық жиілік) үзілуіне әкеледі.

Мен поляризацияланбаған сыйымдылығы төмен конденсаторлармен сынақ жүргіздім және ең қолайлы болу үшін сыйымдылығы 0,1uF болды. MS20 MKII жақсы сыналған.

Өкінішке орай, біз кернеу реттелетін осцилляторды (VCO) жетектеу үшін RC сүзгісіне сене алмаймыз, өйткені ол дәл жеткіліксіз болады (Гц/В шкаласы бойынша, төменгі шетінде екі адиацендті семитон 0,02В -тан төмен ерекшеленеді; V /окт екі адиасентті семитон 0,083 В үшін ерекшеленеді); Біз бұл үшін IC DAC (MPC4725) қолданамыз.

Белгілі лимиттер

Жетектің кернеуін 5В (Arduino шығыс кернеуі) дейін шектеу, 0 -ден 5В -қа дейінгі толық диапазон жылдамдық үшін жабылады; кесу жартылай жабылған (-5В-тан +5В дейін); VCO диапазоны ішінара қамтылған, себебі Гц/В кернеуі 440 Гц А4 жету үшін 8 В кернеуі қажет болады. 5В шығыс шегі кезінде біз осцилляторды D4 жиілігіне Гц/В жиілікке қоя аламыз.

3 -қадам: компоненттер тізімі

Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі
Компоненттер тізімі

Сізге қажет:

1X Arduino UNO (немесе нано)

1X MPC4725 DAC тақтасы

4X 1/8 «немесе 1/4» моно қосқыштар

1X MIDI қосқышы

1X 6N138 оптикалық қосқышы

1X 1N4148 диод

1X 220 Ом 1/4 Вт резистор

1X 470 Ом 1/4 Вт резистор

1X 10K ом 1/4 Вт резистор

4X 1K ом 1/4 Вт резистор

2X 0,1 uF конденсатор

1X BC547 pnp транзисторы (S-trig жағдайында)

1X ABS қорапшасы (кемінде 55 x 70 x 100 мм)

… Және, әрине, нанды немесе перфордалы тақтаны, дәнекерленген темірді, дәнекерлеуші сымды және кабельдерді (28 метрлік AWG -нің 2 метрін алу керек).

Жоғарыдағы суреттерде менің прототипімде 100 uF электролиттік қақпақ орнатылғанына назар аударыңыз, бірақ олар сыйымдылықтың зарядталу уақытына байланысты тым баяу. Сыйымдылығы 0,1uF - бұл дұрыс таңдау.

Мен arduino -ға қуат беру үшін қосымша қосқышты қолдандым; шағын USB коннекторы арқылы микроконтроллерді сығудың қажеті жоқ.

4 -қадам: Қосылымдар/схемалар

Қосылымдар/схемалар
Қосылымдар/схемалар
Қосылымдар/схемалар
Қосылымдар/схемалар
Қосылымдар/схемалар
Қосылымдар/схемалар

MIDI IN

MIDI IN схемасы қарапайым және желіде жақсы сипатталған. Мысалы, Аманда Гассейдің MIDI және Arduino бойынша нұсқаулығын алыңыз. Мен бәрібір бұл мәселе бойынша n -ші схеманы жасадым.

Мен MIDI IN схемасына қосқышты қосқанымды байқаңыз (1 -қосқыш): бұл жаңа эскизді Arduino -ға жүктеу кезінде қажет, себебі опто кіріс midi хабарларсыз да RX желісіне кедергі жасайды. Эскизді жүктемес бұрын қосқышты ашу керек, әйтпесе IDE жаңа эскизді жүктей алмайды.

Сіз ақыр соңында бағдарламалық қамтамасыз етудің сериялық байланысын пайдалану үшін эскизді өзгерте аласыз.

DAC, RC сүзгісі, синтезатор

DAC, RC сүзгілері мен Synth қосылымы (қадам, қақпа және жылдамдық) жоғарғы диаграммада көрсетілген. Мен Korg MS20 патч -панелін анықтамаға алдым, бірақ мен бәрін MS10 -де тексердім. Түйіндеменің VCA «бастапқы пайда» түзету нүктесіне тікелей қосылуының әсері болмайды (мен бұл мәселені әрі қарай қазып алуым керек), бірақ егер сіз оны «Total» түзету нүктесіне қоссаңыз және жалпы сыртқы кастрюльдерді көтерсеңіз (MG/T. EXT)), сіз нота жылдамдығының функциясы ретінде жақсы дыбыстық өзгерістерді естисіз.

Менің схемаларым (және менің прототипім де) DAC шығысында шектеуші резисторды пайдаланбайды, бірақ сіздің тізбектеріңіздің ұзақ қызмет етуін қамтамасыз ету үшін оны орналастырған дұрыс. 220 Ом резисторы жеткілікті болады.

Назар аударыңыз, 100 UF жоғары электролиттік қақпақшалар жоғарыда көрсетілген, бірақ олар сыйымдылықтың зарядталу уақытына байланысты тым баяу. Поляризацияланбаған, 0.1uF қақпақтары - дұрыс таңдау.

Есіктен шығу

Егер сіз V-Trig (кернеу триггері) сигналдарымен үйлесімді синтезді реттейтін болсаңыз, ток ағызуды азайту үшін 1к Ом сериялы резистор жеткілікті болады; S-Trig синхронизациясы жағдайында сіз PNP қосқышының қарапайым схемасын қолдана аласыз (берілген схеманы қараңыз).

5 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету

Мен эскизді мүмкіндігінше анық және «оқылатын» етіп сақтауға тырыстым.

Мен қарапайым калькулятор парағында жұмыс істедім, мұнда кернеудің Vs Ескертуінің қисық сызығын алуды және микроконтроллердегі теңдеуді қолдану үшін осы жерден таптым. Теңдеу графиктің жоғарғы жағында көрсетілген. Мен C2 сілтеме ретінде Arp/Korg үйлесімді кернеу мен кернеудің байланысын алу үшін қолдандым (C0 - 0.25V, C1 - 0.5V, C2 - 1V, C3 - 2V, C4 - 4V, C5 - 8V және т.б.).

Жақсы баптау үшін ойыншықтың айнымалы мәнін анықтауым керек болды … дұрыс мәндерді табуға уақыт бөліңіз. Тюнер қажет.

Біз шығыс кернеуін төмендету үшін таймер/санауыштың pwm жиілігін арттырамыз (код жолы сияқты оңай).

Кодтың кіріс байттарына жауап беруін қамтамасыз ету үшін код функциялардың кері шақыруларына көп сүйенеді.

Сізге Sparkfun «Adafruit_MCP4725.h» және қырық жеті эффект/Франсуа Бесттің «MIDI.h» кітапханаларын жинау қажет! (Бұл адамдарға үлкен рахмет: олардың күш -жігерінсіз бұл жоба ешқашан жүзеге аспайды!).

Менің ойымша, сіздің компьютеріңізде Arduino IDE дайын және сіз Arduino тақтасына эскизді қалай жүктеу керектігін білесіз.

Мен нақты өмірде кодер емеспін, сондықтан эскизді жақсы түрде жазуға болатын шығар. Мен ұсыныстарға ашықпын (мен әрқашан кодердің кодына қарап бірдеңе үйренемін;))

Қосымша ескертулер төмендегі кодта жазылған. Екі кітапхананы орнатыңыз, IDE -де бекітілген кодты ашыңыз, тақтаны қосыңыз, тақта түрін таңдаңыз және жүктеңіз.

6 -қадам: ақауларды жою

Жоба төмен деңгейде болса да, қате кетуі мүмкін көптеген нәрселер бар. Егер сіз өзіңіздің жеке MIDI резюмеңізді резюме жасау кезінде қиындықтарға тап болсаңыз, мына қадамдарды орындаңыз:

1. Arduino MIDI хабарламаларын дұрыс қабылдайтынына көз жеткізіңіз

Пернетақтаңыздың немесе DAW немесе Sequencer MIDI хабарламаларын шығаратын шығыс арнасын тексеріңіз. Arduino әдепкі бойынша 1 -арнаны тыңдайды. Кіріс noteON хабарламасын оқу үшін «TEST_MIDI_IN.ino» жүктеңіз.

2. Сымдарды екі рет тексеріңіз

… Немесе одан да жақсы: оларды үш рет тексеріңіз! Бұған уақытыңызды бөліңіз.

3. DAC мекенжайын және шығысын тексеріңіз

DAC эскизде мен орнатқаннан басқа мекенжай бойынша деректерді алу үшін орнатылуы мүмкін. «I2C_scanner.ino» іске қосу арқылы мекенжайды тексеріңіз. Егер «құрылғы табылмады» қатесі орын алса, DAC сымдарын тексеріңіз (SDA мен SCL кірістері әр түрлі Arduino тақталарында әр түрлі!). Егер сізде осциллокоп бар болса (тіпті 15 евролық сандық осциллографтар да жеткілікті … және ойыншықтармен көңілді!) Сіз DAC кітапханасын орнатуға қосылған үшбұрышты генератордың мысалын жүктеу арқылы DAC шығысын тексере аласыз.

Есіңізде болсын, оптикалық қосқыш arduino тақтасының RX кірісіне қосылған кезде, сіз жаңа эскизді жүктей алмайсыз !! RX түйреуішінің алдында қосқышты қойыңыз (бұл қарапайым секіргіш болуы мүмкін).

Бұл тест эскиздерінің көпшілігі менікі емес немесе кем дегенде қолданыстағы онлайн материалдарға негізделген.

Бұл маған мүлдем сәйкес келмейді !?

Бұл нақты мәселе емес: Гц/В басқару үшін алынған теңдеу «идеалды». Идеал мінез -құлықтан біршама ауытқу сіз беретін 5.000В емес +5В -тан, DAC -тан және құралдың өзінен көтерілуі мүмкін. Мәселені шешу үшін сіз синтездеу/дәл реттеу потенциометрі мен «voilà» MIDI -нің тамаша реттелген басқару элементімен әрекет етуіңіз керек;)

7 -қадам: Пайдалы сілтемелер

kk.wikipedia.org/wiki/CV/gate

www.instructables.com/id/Send-and-Receive-…

www.songstuff.com/recording/article/midi_me…

pages.mtu.edu/~suits/NoteFreqCalcs.html

espace-lab.org/activites/projets/en-arduin…

learn.sparkfun.com/tutorials/midi-shield-h…

provideyourown.com/2011/analogwrite-conver…

www.midi.org/specifications/item/table-3-c…

arduino-info.wikispaces.com/Arduino-PWM-Fr…

sim.okawa-denshi.jp/kz/PWMtool.php

Ұсынылған: