Мазмұны:

(дерлік) әмбебап MIDI SysEx CC бағдарламашысы (және реттегіш ): 7 қадам (суреттермен)
(дерлік) әмбебап MIDI SysEx CC бағдарламашысы (және реттегіш ): 7 қадам (суреттермен)

Бейне: (дерлік) әмбебап MIDI SysEx CC бағдарламашысы (және реттегіш ): 7 қадам (суреттермен)

Бейне: (дерлік) әмбебап MIDI SysEx CC бағдарламашысы (және реттегіш ): 7 қадам (суреттермен)
Бейне: Титаниктің құпиясы: олар айсбергті қалай байқамады?! Ең егжей-тегжейлі оқиға! 2024, Қараша
Anonim
(дерлік) әмбебап MIDI SysEx CC бағдарламашысы (және реттегіш …)
(дерлік) әмбебап MIDI SysEx CC бағдарламашысы (және реттегіш …)
(дерлік) әмбебап MIDI SysEx CC бағдарламашысы (және реттегіш …)
(дерлік) әмбебап MIDI SysEx CC бағдарламашысы (және реттегіш …)

Сексенінші жылдардың ортасында синтез өндірушілері «жақсысы аз» процесін бастады, бұл жалаңаш синтезге әкелді. Бұл өндіруші тарапынан шығындарды азайтуға мүмкіндік берді, бірақ түпкілікті пайдаланушы үшін мүмкін болмаса, түзету процесін қиындатты.

Өндірушілер мен үшінші тарап компаниялары сіздің синтез тондарыңызбен шынымен «ойнауға» мүмкіндік беретін тұтқалармен және/немесе сырғытқыштармен толықтырылған қосымша қораптарды шығарды, бірақ олар қазіргі кезде ақымақтықпен бағалануда және біз әрқашан арзан шешімдерді табуға мәжбүрміз;)

Бұл жоба менің соңғы синтездегі сатып алуымның бір бөлігін оңай бағдарламалау қажеттілігінен туындады: Roland Alpha Juno 2 және JX8P. Ол қарапайым SysEx контроллері ретінде басталды, содан кейін ол менде өсті және басқа синтездеу жолында қолдау тапты (Korg DW8000, Oberheim Matrix 6/6R, SCI MAX) және кіріктірілген реттегішпен.

Бұл нұсқаулықта мен сізге өзіңіздің жеке контроллеріңізді қалай іске асыру керектігін көрсетемін: бағасы жоғары параметрлерді басқару қораптарын эмуляциялайтын арзан құрал … және басқалары (толығырақ оқуды жалғастырыңыз …).

1 -қадам: Бұл нақты не (және не емес …)

Бұл нақты не (және не емес …)
Бұл нақты не (және не емес …)
Бұл нақты не (және не емес …)
Бұл нақты не (және не емес …)
Бұл нақты не (және не емес …)
Бұл нақты не (және не емес …)

Бұл жерде MIDI SysEx және Control Change контроллері 16 түйме (потенциометр) мен 4 түймелі MIDI контроллері болып табылады. Әдепкі эскизде үш «беттер» өңделеді, барлығы 48 синтез тонының параметрлері.

Мен контроллерді MIDI хабарламаларын басқаруды өзгертуге үйлестірдім (MIDI хабарламасының қарапайым және «жаһандық» түрі, әсіресе 90-шы жылдары синт өндірушілері кеңінен қолданады) және SysEx хабарлары (MIDI хабарламасының басқа түрі, жалпыға ортақ және синтезге тән емес) 80 -жылдары қолданылған).

Атап айтқанда, контроллер әдепкі бойынша үйлесімді:

- Роланд Альфа Джуно (1/2)

- Roland JX8P

- Korg DW8000

- Oberheim Matrix 6/6R (> 2.14 микробағдарлама)

- MAX/SixTrak тізбекті тізбектері.

Ақыр соңында сіз контроллерге MIDI бақылауды өзгерту (CC) хабарламаларын қабылдай алатын кез келген синтезде әрекет етуге мүмкіндік бере аласыз, бірақ ол әдепкі бойынша өшірілген.

Жобаның ашық көзі болғандықтан, сіз таңдаған кез келген басқа синтезді қолдау өте оңай (егжей -тегжейлі кодты қараңыз).

Барлық осы сандармен дыбыс параметрлерінің орналасуы бірінші кезекте шатастыруы мүмкін, бірақ бұл кездейсоқ емес: ол өндірушінің MIDI енгізу кестесінің тәртібіне сәйкес. Бұл кодты қарапайым және «әмбебап» сақтау үшін дизайн таңдауы болды.

Сіз сурет парақтарын Alpha-Junos, JX8P, DW8000, Matrix 6 және MAX/SixTrak үшін 4х4 форматында жүктей аласыз, бұл бетте: көк параметрлер-1-бетте, қара-2-бетте, 3 -беттегі апельсин.

Контроллерде экран болмаса да, нақты уақыт режимінде қандай параметр реттелетінін көрсететін синхронды ойындар патч жасау процесін қуанышқа бөлейді. JX8P және Matrix 6, мысалы, бұған қабілетті; Alpha Juno, керісінше, сізге өзгеретін параметрді көрсетпейді және жағдайды біршама қиындатады (бірақ керемет патчтарды жасау кірістірілген тұтқасыз интерфейсті қолданғаннан гөрі оңай және оңай); DW8000 тек қана сандық дисплейлерге ие, бірақ сіз өзіңіздің твиттеріңізді нақты уақытта көре аласыз, осылайша ол олардың арасында орналасады.

Ондағы түймелер ше?

Алғашқысы (менің орналасуымның жоғарғы сол жағында) беттерді шолуға арналған: түймені әр басқан кезде келесі параметрдің бетіне өтіңіз. Жарық диодтары сіз қай бетте екеніңізді көрсетеді.

Екіншісі басылған кезде патчты синтезге қайта жібереді (суретті қараңыз: сіз өзіңіздің өміріңіздің түзетулерін жасадыңыз, содан кейін синтездеу бетіндегі бағдарлама түймесін түртіп, түйме үшін арнайы патч жүктелді … сіздің барлық жұмысыңыз аяқталды !). Бұл батырманың көмегімен сіз соңғы түзету процесінде бағдарламашы есте сақтаған барлық мәндерді жібере аласыз. Егер сіз рандомизаторды қайта бассаңыз (рандомизация процесі жадыдағы барлық параметрлерді қайта жазады) және бұл кем дегенде бір рет өңделген параметрлерде ғана тиімді болса, бұл патчты еске түсіру процесі жұмыс істемейді. Ең соңғы түзету өшірілгеннен кейін жадта сақталмайды.

Үшіншісі қосалқы функцияға арналған: рандомизатор/патчер! Параметрді минималды мәнге (яғни осциллятор LFO, осциллятор конвертіне және т.б.) жабу үшін қажет тұтқаларды сағат тіліне қарсы толық бұраңыз немесе мәнді жоғарылату үшін (яғни осциллятор қоспасының көлемі, VCA дыбысы және т.б.) сағат тілінің бағытымен толық бұраңыз және түймесін басыңыз. барлық басқа параметрлер бойынша рандомизация процесін бастау батырмасы.

Төртінші түйме - бұл Пасха жұмыртқасын (сұрыптау …) белсендіру үшін, мен макеттің … 16 қадамды MIDI секенсеріне өте ыңғайлы екенін байқағаннан кейін кодты орналастырдым! Дәл: төртінші түймені (MODE түймешігін) басыңыз, контроллер «секвенер режиміне» өтеді және сізге ескі аналогтық секвенер сияқты дәл осылай жазбаларды іске қосуға рұқсат етіледі. Керемет!

Контроллер/патч режиміне оралу үшін MODE түймесін қайтадан басыңыз.

Бұл жарық диодтар туралы не деуге болады?

Әр түймеге сәйкес келетін 4 светодиод бар (менің орналасуымда әр түйменің оң жағында); Бұл светодиодтарда бірнеше қондырғы бар:

1) олар сізге қай бет параметрлері бар екенін айтады (жоғарғы жарық диоды 1 -бетте, 2 -ші бет белсенді болған кезде астындағы жарық диоды, 3 -диодты жарықтандырады … сіз мұны өзіңіз ойлап таптыңыз). Біз 3 беттік банкоматпен шектелеміз, бірақ кодты басқа беттерді өңдеу үшін оңай реттеуге болады;

2) екінші жарық диоды 2 -ші парақтың параметрлерін көрсетеді ЖӘНЕ микроконтроллер алдыңғы патчты жіберген кезде жанады (патчты еске түсіру);

3) үшінші жарық диоды 3 -ші беттің параметрлерін көрсетеді және рандомизация процесі кезінде жанады.

Төртінші жарық диоды MIDI контроллері режимінде ештеңе жасамайды және режимді жаһандық өзгерту үшін қолданылады.

Бұл функциялардың барлығы MIDI хабарламалары ретінде беріледі, сондықтан тиімді болу үшін синтез осындай хабарламаларды қабылдауға және түсіндіруге қабілетті/қосулы болуы керек

2 -қадам: «Жасырын» 16 қадамдар тізбегі

The
The

Жоғарыда айтылғандай, контроллерді тестілеу кезінде мен синхрондау параметрлерін өзгертуге және тонға соңғы әсер туралы жақсы түсінікке ие болу үшін жазбалар тізбегін қосуға болатынын түсіндім. Менде бағдарламалық жасақтама секвенері бар (маған seq24 өте ұнайды!), Бірақ бұл аппараттық құрал-бұл 16 сатылы ПЕРФЕКТІ секвенер! Содан кейін оны іске асыру тек код мәселесі болды.

Сіз #4 түймесін (MODE түймесі) басу арқылы контроллер мен секвенер режимі арасында ауыса аласыз.

Секвенер режимінде түймелер басқаша жұмыс істейді және жарық диодтары сізге жаңа ақпарат береді:

- бірінші батырманы (SHIFT батырмасы) басқан кезде темпке, жазбаның ұзындығына, арналарға және октаваның өзгеруіне мүмкіндік береді; темп мәні бірінші потенциометрдің позициясымен беріледі, нота ұзындығы екінші потенциометр позициясынан, MIDI арналары үшінші және төртінші потенциометрлік позициялардан және бесінші кастрюльден октава (-1 o +2 дейін) есептеледі. Сіз жылдамдықты 40 BPM -ден (№1 потенциометрді сағат тілінің бағытына қарсы толық бұраңыз) #1 түймесін басып тұрып, шамамен 240 BPM -ге дейін басқара аласыз (№1 потенциометрді сағат тілінің бағытымен #1 түймесін басып тұрып). Сіз SHIFT батырмасын басып тұрып, №2 қазанды бұру арқылы жазбаларды ұзындығының жартысына, тоқсандық нотасына, сегіздік нотасына, он алты жазбасына орната аласыз. Сіз MIDI арналарын (негізгі арна мен қосалқы арна) 1 -ден 16 -ға дейін орната аласыз. Негізгі ноталар диапазоны (C2 -ден F#4 -ке дейін) бір октаваны төмендетуге немесе бір немесе екі октаваға ұлғайтуға болады.

Әдепкі бойынша темп 120 BPM -ге, ал нотаның ұзақтығы тоқсанға дейін.

- екінші түйме жазбалар тізбегін бастайды және тоқтатады. Жоғарыда айтылғандай, егер сіз режимді #4 (MODE) түймесін басу арқылы өзгертсеңіз, реттегіш режиміне өтесіз, бірақ реттілік жұмысын жалғастырады.

- үшінші түйме - ПАНИК! Оны басу арқылы барлық ноталар өшіріледі.

- төртіншісі #1 түймесі басылмаған кезде жаһандық режимдер арасында ауысу үшін пайдаланылады немесе #1 басылғанда реттілік режимдері арасында (келесі кестені қараңыз).

Секвенер режимінде #1 түймесін (SHIFT) басып тұрып режимді таңдау батырмасын бассаңыз, 3 түрлі реттілік режимінің арасында ауысуға болады:

1 - 16 қадамды моно реттілік

2 - 16 қадамдық поли реттілігі: кастрюльдермен салыстырғанда бір октавадан төмен ноталар да іске қосылады (бұл әр соққыға 2 дауысты шығарады)

3 - 8 сатылы поли реттілік, қосарлы канал: екі параллель 8 қадамдық екі тізбек екі түрлі арнаға жіберіледі (әдепкі бойынша CH1 және CH2); негізгі және екінші арналарда бірдей арна мәнін орнату арқылы сіз бірдей (полифониялық) синтезатор ойнайтын 8 қадамнан тұратын екі параллель тізбекке ие бола аласыз.

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

Қадамдар тізбегінің жіберілмейтін мүмкіндіктері біреу қажет деп тапты: MIDI синхрондау, қадамдарды ұстап тұру (тек бір қадамды өшіруге болады), резюме.

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

Назар аударыңыз, бұл қадам реттегіші MIDI немесе қажет болса цифрлық, сондықтан жұмыс істеу үшін осындай хабарламаларды қабылдау және түсіндіру үшін синтезге қосылу керек

3 -қадам: Қажетті жабдықтар мен құрылыс

Қажетті жабдықтар мен құрылыс
Қажетті жабдықтар мен құрылыс
Қажетті жабдықтар мен құрылыс
Қажетті жабдықтар мен құрылыс
Қажетті жабдықтар мен құрылыс
Қажетті жабдықтар мен құрылыс
Қажетті жабдықтар мен құрылыс
Қажетті жабдықтар мен құрылыс

Осы сөздердің бәрінен кейін, көңіл көтеруге рұқсат етіңіз!

Біз жалпы Arduino жолымен жүреміз. Мен Arduino MEGA -ді аналогты кірістердің көптігіне байланысты қолдандым (біз тұтқалары бар қорапты қалаймыз, солай емес пе?:)).

Атап айтқанда, Arduino MEGA 16 аналогты кірісті өңдей алады (кейбір аппараттық құралдарды түзетумен, яғни араластыру арқылы, сіз оны көбейте аласыз, бірақ біз бұл жолмен жүрмейміз), сондықтан біз 48 MIDI хабарламасын 16 потенциометр арқылы жібереміз. Әр потенциометр, содан кейін әрбір «бет» үшін үш параметрді басқарады; беттер коммутатор түймесі арқылы таңдалады.

Жабдықтар тізімі:

- 1x Arduino MEGA

- 16х сызықты, бір айналым 10 К ом потенциометрі

- 16 рет кастрюль тұтқалары

- 4x лездік батырмалар

- 4x жарық диоды

- 6х 220 Ом резистор

- 1x MIDI қосқышы

- 1x ABS жобалар қорабы

Кейбір кабель, дәнекерлеу сымы және алты - сегіз сағат бос уақыт.

Мен резисторларды дәнекерлеп, кабельдерді бағыттаған қалқанды жүзеге асыру үшін перфордалы тақтаны және бірнеше түйреуіштерді қолдандым. Бұл сізге Arduino -ны шығарып, оны басқа жобалар үшін пайдалануға мүмкіндік беретін артықшылыққа ие (біз бәріміз бір уақытта Arduino тақталарында аз қаламыз!). Бұл міндетті емес, және тағы бір жақсы әдіс - arduino MEGA түйреуіштері мен дәнекерлеу кабельдерін тікелей орнына қою.

Мен 220 Ом резистордың орнына 200 Ом резисторды қолдандым және олар бәрібір тамаша жұмыс істейді; Мен тіпті 150 Ом резисторлары жақсы жұмыс істейтініне сенімдімін (MIDI байланысы үшін де, светодиодтар үшін де).

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

Мен сондай-ақ MIDI OUT қосқышы үшін тесік бұрдым, ал екіншісі arduino қуат коннекторы үшін (мен кіріктірілген USB қуат қосқышын тікелей қолдандым және arduino MEGA-ны орнына мықтап бекітіп қойдым).

НАЗАР АУДАРЫҢЫЗ: бұрғылау кезінде әрқашан көзді және қолды қорғайтын қорғаныс киіңіз, қандай материалмен жұмыс жасасаңыз да (пластмасса, ағаш, металдар, композиттер … маңызды емес: электр құралдарына да, эрозияға ұшыраған/күйдірілген материал чиптеріне де қауіп төнеді. жылжымалы құралдан).

Содан кейін мен барлық кастрөлдер мен түймелерді орналастырдым және компоненттерді суреттегідей дәнекерледім. Соңғы объектінің салмағын (және кабель ұзындығын) азайтудың тиімді әдісі - 5V желісінде де, GND желісінде де барлық кастрюльдерді тізбектеу.

Ешкім сұрамас бұрын: Мен білемін, мен қолданған қорап шіркін! Бірақ бұл тегін болды және ештеңе тегін емес:)

4 -қадам: Сымдарды жалғау

Сымдар
Сымдар

Ардуино микроконтроллер тақтасына потенциометрді (x16), түймені (x4) және жарық диодты (x4) сымдау арқылы сымдарды қосу оңай. Мұнда барлық Arduino негіздері қарастырылған:)

Сым бекітілген. Назар аударыңыз:

- барлық аналогты түйреуіштер қолданылады (А0 -дан А15 -ке дейін), әрбір потенциометр үшін бір;

- 4 цифрлық түйреуіш (кіріс) қолданылады (D51, D49, D47, D45 бастап), әр түйме үшін біреуі;

- светодиодтар үшін басқа 4 цифрлық түйреуіш (шығыс) қолданылады (D43, D41, D39, D37);

MIDI шығысы өте қарапайым және 220 Ом екі резисторды сұрайды (бірақ 150 Ом дейін жұмыс істейді)

- Түймелер ашылатын резисторларды сұрамайды, себебі эскиз ішкі Arduino тартқыш резисторларын іске қосады.

- Әр светодиод шекті шектеу резисторын сұрайды (жасыл жарық диодтар үшін 200-220 Ом жарайды).

Мен тауарға арналған сандық түйреуіштерді қолдандым, бірақ олар «арнайы» түйреуіштер емес (біз мұнда кейбір түйреуіштердің pwm мүмкіндігін немесе басқа түйреуішке тән басқа мүмкіндікті пайдаланбаймыз): сіз өзіңіздің сүйікті цифрлық түйреуіштерді орната аласыз, бірақ өзгертуді ұмытпаңыз сәйкесінше код немесе сіздің түймелер/жарық диодтар жұмыс істемейді!

Назар аударыңыз, суреттегі MIDI OUT байланысы ФРОНТ көрінісі (артқы көрініс емес).

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

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

Roland SysEx -ті іске асыруға арналған жылдам сілтеме:

- https://erha.se/~ronny/juno2/Roland%20Juno%20MIDI%2… (ҚАЗАҚША)

- https://www.2writers.com/eddie/tutsysex.htm (ҚАЗАҚША)

- https://www.chromakinetics.com/handsonic/rolSysEx.h… (ҚАЗАҚША)

- https://www.audiocentralmagazine.com/system-exclusi… (ITALIANO)

және MIDI үшін жалпы сілтеме:

-

-https://www.music-software-development.com/midi-tut…

6 -қадам: Бағдарламалық қамтамасыз ету - эскиз

Мұнда Arduino Mega -ге жүктеу керек эскиз қоса берілген.

Мен бағдарламашыны мүмкіндігінше «әмбебап» етіп сақтауға тырыстым, яғни синтезге арналған код бөліктерін азайтуға тырыстым, кодты мүмкіндігінше қарапайым ұстауға тырыстым. Қадамдық реттегішті қосу жағдайды күрделендіріп, кодты ретсіз етті, бәрібір мен үшін бұл тұрарлық болды. «Әмбебап» кодын сақтау контроллердің орналасуының «кездейсоқ» болуының себебі болып табылады: ол нұсқаулықта анықталған синтез өндірушісінің MIDI енгізу параметрінің тәртібіне сәйкес келеді. Басында бұл түсініксіз болуы мүмкін, бірақ сіз оған тез үйренесіз.

Әдепкі код/эскиз/микробағдарлама «тек» 48 параметрді қолдайды (әрқайсысы 16 кнопкадан тұратын үш бет), сондықтан синтез қолдау көрсететін барлық MIDI хабарларын басқару мүмкін болмады (Access Virus немесе Novation Supernova туралы ойланыңыз: олар көп нәрсені қабылдайды) немесе одан кем 110 MIDI үйлесімді параметрлері). Қажет болса, қосымша хабарларды қолдау үшін эскизді оңай өзгертуге болады.

Шын мәнінде Roland Alpha-Juno, JX8P, Korg DW8000 және Oberheim Matrix 6 үйлесімді SysEx хабарламаларына қолдау көрсетіледі. Егер сізге қажет болса, мен Juno 106 үйлесімді хабарламаларының кодын қалдырдым.

6 -матрица үшін мен басқарылатын параметрлерді таңдауым керек болды. Мен үшінші конвертті, екінші пандусты және басқа нәрсені қалдырдым. Матрицаны MIDI арқылы басқаруға болмайды, сондықтан ол да жоқ. Сізге жаңартылған микробағдарлама қажет (версия 2.14 немесе одан жоғары) және сіз «Master -> Sysex Enable» параметрін «3» деңгейіне қоюыңыз керек.

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

Код түсініктемелерді қамтиды, сондықтан мұнда қосымша түсініктеме берудің қажеті жоқ.

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

Мен әрқашан жақсы кодердің кодын оқу арқылы жаңа нәрсені білемін;)

7 -қадам: Қатысты жобалар

Менің білуімше, MIDI параметрлері мен реттегіштері жоқ (мүмкін, микробағдарламасы өзгертілген ескі Behringer BCR2000 шығар?)

Қалай болғанда да, егер сіз мұндай қорапты іске асыруға бейім болмасаңыз, бірақ синтездеу параметрлерін қашықтан басқаруға арналған арзан шешімдерге қызығушылық танытсаңыз, келесі басқа нұсқаларды қарастырыңыз:

- CTRL MIDI редакторы: бұл win/Linux/mac жүйесінде жұмыс істейтін ашық, ақысыз ашық бағдарлама, ол сіздің компьютеріңізді SysEx синтезінің толық контроллеріне айналдырады.

- Дэвид Консумердің «junosex» CC түрлендіргіші: бұл жоба сізден кішігірім аппараттық жұмысты талап етеді және идея өте жақсы - SysEx -тен SduX -ке арналған конвертерден тұратын arduino негізіндегі конвертер SysEx емес MIDI контроллерін қолданыңыз (яғни AKAI MPK негізгі пернетақтасы)) SysEx дайын синтезімен сөйлесу

Ұсынылған: