Мазмұны:

Сөйлеуді тану құралы: 12 қадам
Сөйлеуді тану құралы: 12 қадам

Бейне: Сөйлеуді тану құралы: 12 қадам

Бейне: Сөйлеуді тану құралы: 12 қадам
Бейне: 10 сөз ойыны. Топтық және жұптық ойын әдісі. 2024, Қараша
Anonim
Сөйлеуді тану құралы
Сөйлеуді тану құралы

Бәріне сәлем………

Бұл мен жіберген екінші нұсқаулық

Сондықтан бәріне қош келдіңіз …

Бұл нұсқаулықта мен сізге arduino тақтасының көмегімен дауысты тану құралын жасауды үйретемін.

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

Ардуиноны қолданудың бұрынғы тәжірибесі жоқ адамдар үшін:

Arduino - бұл конструкторлар мен өндірушілердің үлкен қауымдастығы бар компания шығаратын ашық бастапқы компьютерлік жабдық, оны басқа электронды схемаларды басқаруға болатын шағын компьютер сияқты қарастыруға болады

Arduino өздері жасаған ортада бағдарламаланған, оны өз веб -сайтынан оңай жүктеуге болады

1-қадам: Қоршаған ортаны қалай орнату керек?

Қоршаған ортаны қалай орнатуға болады?
Қоршаған ортаны қалай орнатуға болады?
Қоршаған ортаны қалай орнатуға болады?
Қоршаған ортаны қалай орнатуға болады?
Қоршаған ортаны қалай орнатуға болады?
Қоршаған ортаны қалай орнатуға болады?
Қоршаған ортаны қалай орнатуға болады?
Қоршаған ортаны қалай орнатуға болады?

Google -дан «arduino жүктеуді» іздеңіз

«Arduino - Бағдарламалық қамтамасыз ету» түймесін басыңыз

Сіз «Arduino IDE жүктеуді» көре аласыз

Операциялық жүйеге байланысты таңдаңыз

Жүктеп алыңыз және орнатыңыз

Сіз бағдарламалық қамтамасыз етуді сәтті орнаттыңыз және сіз arduino кодын жаза аласыз және кабельдің көмегімен arduino тақтасын компьютерге қосуға болады және кодты енгізе аласыз.

2 -қадам: Неліктен Ардуиноға сұраныс артуда?

Арзан

Arduino тақталары басқа микроконтроллер платформаларымен салыстырғанда арзан. Бұл шамамен $ 50 тұрады.

Кросс-платформа

Arduino бағдарламалық қамтамасыз ету Windows, Macintosh ОЖ және Linux операциялық жүйелерінде жұмыс істейді. Егер біз басқа микроконтроллерлік жүйелер туралы ойласақ, ол тек Windows жүйесінде жұмыс істейді немесе басқаша айтқанда тек терезелермен шектеледі.

Ашық бастапқы және кеңейтілетін бағдарламалық қамтамасыз ету

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

Бағдарламалаудың қарапайым және қарапайым ортасы

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

Ашық көзі бар және кеңейтілетін аппараттық құрал

Arduino тақталарының жоспарлары Creative Commons лицензиясымен шығарылады, сондықтан схеманы жобалау тәжірибесі бар адамдар модульдің жеке нұсқасын жасай алады, сонымен қатар олар технологияны кеңейтуге құқылы және оған мүмкіндіктерді қосу арқылы жетілдіре алады.

3 -қадам: бастайық !!!!

Мен бұл жоба негізінен Arduino көмегімен дауысты тануға және оған кейбір тапсырмаларды орындауға мүмкіндік беретінін айттым.

Нақтырақ сөйлесіңіз ……

Ол пайдаланушы ұсынатын дыбыстық сигналдарды қабылдайды, оны жарықдиодты жыпылықтау арқылы анықтауға болады, содан кейін синтезделген сөйлеуге айналады.

4 -қадам: Қажетті компоненттер

Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер

Бұл жобаға қажет негізгі компоненттер:

Arduino мерзімі x 1

Spark Fun Electret микрофонының бұзылуы x 1

Spark Fun Mono Audio Amp Breakout x 1

Динамик: 0,25 Вт, 8 Ом x 1

Нан тақтасы x 1

5 мм жарық диоды: қызыл x 3

Резистор 330 Ом х 3

Өткізгіш сымдар x 1

Дәнекерлейтін темір x 1

BitVoicer сервері

Бұл сөйлеуді автоматтандыру үшін сөйлеуді тану мен синтездеу сервері.

5 -қадам: ол қалай жұмыс істейді?

1. Дыбыстық толқындар анықталады, содан кейін ол осы толқындарды түсіреді және Sparkfun Electret Breakout тақтасы арқылы күшейтіледі.

2. Жоғарыда көрсетілген процестен алынған күшейтілген сигнал цифрландырылады және Arduino тақтасында аналогты-цифрлық түрлендіргішті (ADC) қолдана отырып буферленеді/сақталады.

3. Аудио үлгілері BitVoicer серверіне Arduino сериялық порты арқылы беріледі.

4. BitVoicer сервері дыбыстық ағынды өңдейді, содан кейін ол сөйлеуді таниды.

5. Танылған сөйлеу бұрын анықталған командалармен салыстырылады, содан кейін ол қайтадан Arduino -ға жіберіледі. Егер командалардың бірі сөйлеуді синтездеуден тұрса, BitVoicer Server дыбыстық ағынды дайындайды және оны Arduino -ға жібереді.

6. Arduino берілген командаларды анықтайды және белгілі бір сәйкес әрекетті орындайды. Егер аудио ағын қабылданса, ол BVS Speaker класына кезекке қойылады және DUE DAC және DMA көмегімен ойнатылады.

7. SparkFun Mono аудио күшейткіші DAC сигналын күшейтеді, осылайша ол 8 Ом динамикті басқара алады және ол арқылы естіледі.

6 -қадам: компоненттерді қосу

Компоненттерді қосу
Компоненттерді қосу
Компоненттерді қосу
Компоненттерді қосу

Ең бірінші қадам - суретте көрсетілгендей тақтаға, сонымен қатар arduino тақтасына әр түрлі компоненттерді сыммен қосу

Мұнда қолданылатын arduino тақтасы DUE екенін ұмытпаңыз, Arduino шығарған басқа модельдер бар, олардың әрқайсысы кернеудің әр түрлі деңгейінде жұмыс істейді

Arduino тақталарының көпшілігі 5 В жұмыс істейді, бірақ DUE 3,3 В жұмыс істейді

DUE 3,3 В аналогтық сілтемені қолданады, сондықтан сізге AREF түйреуішіне секіргіш қажет емес

Өкінішке орай, мен AREF түйреуіші келесі суретте көрсетілгендей arduino тақтасында бар «ANALOG REFERENCE PIN» екенін айтуды ұмытып кеттім (бұл arduino UNO, бірақ DUE жағдайында ұқсас сайтта ұқсас)

DUE-дегі AREF түйрегіші микроконтроллерге резистор көпірі арқылы қосылады

AREF түйреуішін пайдалану үшін R1 резисторы ПХД-дан [Басып шығарылған тізбек тақтасынан] дәнекерленген болуы керек

7 -қадам: Arduino тақтасына код беру

Arduino тақтасына код беру
Arduino тақтасына код беру

Сондықтан біз кодты Arduino тақтасына жүктеуіміз керек, ол кодта берілген нұсқауларға сәйкес жұмыс істей алады.

Мұны істеу өте оңай, мен олардың әрқайсысына не істейтіні және қалай жұмыс істейтіні туралы егжей -тегжейлі түсіндіремін.

Кітапхананы қалай орнатуға болады?

Сондықтан бұған дейін біз BitVoicer Server кітапханаларын Arduino IDE -ге, яғни arduino бағдарламалық жасақтамасына қалай орнату керектігін білуіміз керек.

Ол үшін Arduino IDE ашыңыз

Жоғарғы панельде «Эскиз» түймесін басыңыз

Содан кейін «Кітапхананы қосу» түймесін басыңыз

Ол үшін «Кітапхананы басқару» түймесін басыңыз

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

Орнатылатын кітапхананы іздеңіз, содан кейін нұсқа нөмірін таңдаңыз

Мұнда біз BitVoicer Server кітапханаларын орнатамыз, ол осы жобаға қажет

. Zip кітапханасын қалай импорттауға болады?

Кітапханаларды ZIP файлы немесе қалта түрінде де таратуға болады

Қалтаның аты - кітапхананың атауы

Қалтаның ішінде.cpp файлы,.h файлы және жиі keywords.txt файлы, мысалдар қалтасы және кітапханаға қажет басқа файлдар болады

Arduino IDE 1.0.5 нұсқасынан оның ішіне үшінші тарап кітапханаларын орнатуға болады

Жүктелген кітапхананы ашпаңыз, оны сол күйінде қалдырыңыз

Ол үшін нобай> Кітапхананы қосу>.zip кітапханасын қосу тармағына өтіңіз

. Zip файлының орнын таңдап, оны ашыңыз.

Эскиз> Кітапхананы импорттау мәзіріне оралыңыз.

Егер ол дұрыс импортталса, онда сіз кітапхананы шарлау кезінде ашылмалы мәзірдің төменгі жағында көресіз.

8 -қадам: Бағдарлама/эскиз

Бұл бағдарлама Arduino -ға жүктелуі керек.

Мұны Arduino тақтасын компьютерге қосу және оны тақтаға жүктеу арқылы жасауға болады.

9 -қадам: Жазылған кодтар туралы не деуге болады?

Енді кодта жазылған функциялардың әрқайсысы немен айналысатынын қарастырайық ……………

Кітапхана сілтемелері мен айнымалы декларация

Бұл туралы айтпас бұрын, біз кейбір негізгі терминдерді білуіміз және түсінуіміз керек.

  • BVSP

    Бұл BitVoicer серверімен ақпарат алмасуға қажетті барлық ресурстарды беретін кітапхана

    BVSP класы арқылы жүзеге асырылатын BitVoicer серверлік протоколы ретінде белгілі протокол бар. Бұл сервермен әрекеттесу үшін қажет

  • BVSMic

    Бұл Arduino-ның аналогты-цифрлық түрлендіргішінің көмегімен дыбысты жазуға қажет барлық нәрсені жүзеге асыратын кітапхана

    Бұл аудио сыныптың ішкі буферінде сақталады және оларды шығарып алуға болады, содан кейін BitVoicer серверінде қол жетімді сөйлеуді тану қозғалтқыштарына жіберуге болады

  • BVSSpeaker

    Бұл BitVoicer серверінен жіберілген аудио ағындарды жаңғыртуға қажетті барлық маңызды ресурстарды қамтитын кітапхана

    Ол үшін Arduino тақтасында сандық-аналогтық түрлендіргіш (DAC) болуы керек

    Arduino DUE - біріктірілген DAC бар жалғыз Arduino тақтасы

BVSP, BVSMic, BVSSpeaker және DAC кітапханалары, оларға сілтеме бағдарламаның қарауын құрайтын алғашқы төрт жолда жазылған

BitVoicer серверін орнатқан кезде сіз осы төрт кітапхананы қамтамасыз ететін BitSophia таба аласыз

Пайдаланушы BVSSpeaker кітапханасына сілтеме қосқанда, бұрын айтылған DAC кітапханасы автоматты түрде шақырылады

BVSP класы BitVoicer серверімен байланысу үшін қолданылады

BVSMic класы дыбысты түсіруге және сақтауға арналған

BVSSpeaker класы Arduino DUE DAC көмегімен дыбысты жаңғырту үшін қолданылады

2. орнату функциясы

Орнату функциясы келесі әрекеттерді орындау үшін қолданылады:

PIN режимдері мен олардың бастапқы күйлерін орнату

Сериялық байланысты бастау үшін

BVSP класын инициализациялау үшін

BVSMic класын инициализациялау үшін

BVSSpeaker класын инициализациялау үшін

Ол сонымен қатар BVSP сыныбының кадрларды қабылдауы, режимін өзгертуі және қабылдауы үшін «оқиға өңдегіштерін» (функция көрсеткіштерін) орнатады

10 -қадам: Цикл функциясы

Ол бес негізгі операцияны орындайды:

1. keepAlive () функциясы

Бұл функция серверден күй туралы ақпарат сұрауға арналған.

2. алу () функциясы

Бұл функция сервердің деректерді жібергенін немесе жібермегенін тексеру болып табылады, егер сервер кез келген деректерді жіберсе, ол оны өңдейді.

3. isSREAvailable (), startRecording (), stopRecording () және sendStream () функциялары

Бұл функциялар аудионы жазудың әр түрлі параметрлерін басқару үшін пайдаланылады және ол дыбысты алғаннан кейін ол BitVoicer серверіне жібереді.

4. play () функциясы

Бұл функция BVSSpeaker сыныбында кезекке тұрған дыбысты ойнату үшін қолданылады.

5. playNextLEDNote ()

Бұл функция светодиодтың қалай жыпылықтауын бақылау үшін қолданылады.

6. BVSP_frameReceived функциясы

Бұл функция қабылдау () функциясы бір толық кадрдың қабылданғанын анықтай бастағанда шақырылады, мұнда біз BitVoicer серверінен алынған командаларды орындаймыз. Жарықдиодты шамдардың жыпылықтауын басқаратын пәрмендер 2 байтты құрайды. Бірінші байт түйреуішті, ал екінші байт түйреуіш мәнін көрсетеді. Бұл жерде біз істікшеге сәйкес мәнді орнату үшін analogWrite () функциясын қолданамыз. Сонымен қатар, біз байт түріндегі playLEDNotes пәрменінің қабылданғанын тексеруіміз керек. Егер ол қабылданса, мен playLEDNotes параметрін ақиқатқа қойдым, ол ағымдағы уақытты бақылайды және белгілейді. Бұл уақытты playNextLEDNote функциясы светодиодтарды әнмен синхрондау үшін пайдаланады.

7. BVSP_modeChanged функциясы

Бұл функция () функциясы шығыс бағыттағы режимнің өзгеруін анықтаған сайын шақырылады (Server Arduino). BitVoicer Server жақтаулы деректерді немесе аудионы Arduino -ға жібере алады. Байланыс бір режимнен екінші режимге өтпес бұрын, BitVoicer сервері сигнал жібереді. BVSP класы бұл сигналды анықтайды және modeChanged оқиғасын көтереді немесе белгілейді. BVSP_modeChanged функциясында, егер пайдаланушы ағын режимінен кадрлы режимге өтетінін анықтаса, ол дыбыстың аяқталғанын біледі, осылайша пайдаланушы BVSSpeaker класына аудионы ойнатуды тоқтату керектігін айта алады.

8. BVSP_streamReceived функциясы

Бұл функция, () функциясы аудио үлгілердің қабылданғанын анықтаған сайын шақырылады. Бұл жай ғана аудионы шығарады және оларды BVSSpeaker класына кезекке қояды, сондықтан play () функциясы оларды қайта шығара алады.

9. playNextLEDNote функциясы

Бұл функция BVSP_frameReceived функциясы playLEDNotes пәрменін анықтаған жағдайда ғана іске қосылады. Ол BitVoicer серверінен жіберілген дыбыспен жарықдиодты басқарады және синхрондайды. Жарық диодты дыбыспен синхрондау және дұрыс уақытты білу үшін Sonic Visualizer ақысыз бағдарламалық жасақтамасын қолдануға болады. Бұл бізге дыбыс толқындарын көруге мүмкіндік береді, осылайша адам фортепиано пернесінің қашан басылғанын біле алады.

11 -қадам: BitVoicer серверінің шешім объектілерін қалай импорттауға болады?

Біз енді BitVoicer серверін Arduino -мен жұмыс істеуге орнаттық.

BitVoicer сервері үшін шешудің төрт негізгі нысаны бар: Орындар, Құрылғылар, BinaryData және дауыстық схемалар.

Бұларды егжей -тегжейлі қарастырайық:

Орындар

Бұл құрылғы орнатылатын физикалық орынды көрсетеді.

Біз үй деп аталатын орынды жасай аламыз.

Құрылғылар

Олар BitVoicer Server клиенттері болып саналады.

Орналасқан жерді құру сияқты, біз аралас құрылғы жасай аламыз, сондықтан оны ArduinoDUE деп атауға рұқсат етіңіз.

Кейде кейбір буферлік толып кетулер болуы мүмкін, сондықтан оны жою үшін байланыс параметрлеріндегі Деректер жиілігін секундына 8000 үлгіге дейін шектеуге тура келді.

BinaryData - бұл BitVoicer Server клиенттік құрылғыларға жібере алатын команданың түрі. Олар іс жүзінде командаларға сілтеме жасай алатын байт массивтері.

BitVoicer сервері осы пәрменге байланысты сөйлеуді танитын кезде ол байт массивін мақсатты құрылғыға жібереді.

Сондықтан мен әр пин мәніне бір BinaryData нысанын құрдым және оларды ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff және т.б.

Мен 18 BinaryData нысандарын жасауым керек болды, сондықтан мен сізге төменде берілген VoiceSchema.sof файлынан объектілерді жүктеуді және импорттауды ұсынамын.

Сонымен, дауыстық схема дегеніміз не?

Дауыстық схемалар - бәрі бір жерге жиналады. олардың басты рөлі - сөйлемдерді қалай тану керектігін анықтау және барлық командаларды орындау қажет.

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

Сіз сондай -ақ берілген командалардың әрқайсысы арасындағы кідірістерді анықтай аласыз.

BitVoicer сервері тек 8-биттік моно PCM аудиосын қолдайды (секундына 8000 үлгі), сондықтан аудио файлды осы форматқа түрлендіру қажет болады, қазіргі уақытта онлайн түрлендіру ақысы өте көп және мен https://audio.online ұсынамын -convert.com/convert-to-wav.

Төмендегі файлдардан осы жобада мен қолданған барлық шешім объектілерін импорттауға болады.

Олардың бірінде DUE құрылғысы бар, екіншісінде дауыстық схема мен оның командалары бар.

12 -қадам: Қорытынды

Міне, сіз !!!

Сіз керемет жоба жасадыңыз және онымен сөйлесе аласыз

Сондықтан сөйлесуді бастаңыз ……………

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

Мен екінші нұсқаулықты аяқтадым !!!!!!!!

Иә……

Мұны бәрі түсінді деп ойлаймын …

Егер біреуде қандай да бір сұрағыңыз болса, мені сұраудан тартынбаңыз

Мен келесі жолы керемет нұсқаулықты ойлап табамын …

Қош…

Жуықта Көріскенше……………

Ұсынылған: