{"id":16159,"date":"2019-08-29T10:47:23","date_gmt":"2019-08-29T10:47:23","guid":{"rendered":"https:\/\/gb.ru\/blog\/?p=16159"},"modified":"2023-12-06T15:45:06","modified_gmt":"2023-12-06T15:45:06","slug":"kak-sdelat-govoryashchuyu-programmu-na-python","status":"publish","type":"post","link":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/","title":{"rendered":"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?"},"content":{"rendered":"<div class=\"topic-list\">\n<p><b>\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f:<\/b><\/p>\n<ol class=\"main-list\">\n<li><a href=\"#1\">\u0413\u043e\u0442\u043e\u0432\u0438\u043c \u043f\u043e\u043b\u044f\u043d\u0443<\/a><\/li>\n<li><a href=\"#2\">\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 pyttsx3<\/a><\/li>\n<li><a href=\"#3\">\u041a\u0430\u043a \u043e\u0437\u0432\u0443\u0447\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432 Windows \u0438 Linux<\/a><\/li>\n<li><a href=\"#4\">\u041e\u0431\u0435\u0440\u0442\u043a\u0430 \u0434\u043b\u044f eSpeak NG<\/a><\/li>\n<li><a href=\"#5\">\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0435\u0447\u044c\u044e \u0447\u0435\u0440\u0435\u0437 Speech Dispatcher \u0432 Linux<\/a><\/li>\n<li><a href=\"#6\">\u041c\u043e\u0434\u0443\u043b\u044c Google TTS \u2014 \u0433\u043e\u043b\u043e\u0441\u0430 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430<\/a><\/li>\n<li><a href=\"#7\">\u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u0447\u0435\u0440\u0435\u0437 NVDA<\/a><\/li>\n<li><a href=\"#6\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/a><\/li>\n<li><!-- noindex -->\r\n<style>\r\n    .checklist-download {\r\n        align-items: flex-start;\r\n        cursor: pointer;\r\n        display: flex;\r\n        flex-direction: row;\r\n        justify-content: flex-start;\r\n        margin-left: 20px;\r\n    }\r\n    .checklist-download__icon {\r\n        height: 44px;\r\n        margin-right: 10px;\r\n        width: 34px;\r\n    }\r\n    .checklist-download__content {\r\n        align-items: flex-start;\r\n        display: flex;\r\n        flex-direction: column;\r\n        font-family: 'IBM Plex Sans', sans-serif;\r\n        justify-content: flex-start;\r\n    }\r\n    .checklist-download__content-title {\r\n        color: #0968ad;\r\n        font-style: normal;\r\n        font-weight: 700;\r\n        font-size: 20px;\r\n        line-height: 24px;\r\n        margin-bottom: 5px;\r\n        text-decoration: underline;\r\n        animation: text-pulse 2s ease-in-out infinite;\r\n    }\r\n    @keyframes text-pulse {\r\n      from {\r\n        transform: scale(.99);\r\n      }\r\n      50% {\r\n        transform: scale(1);\r\n      }\r\n      to {\r\n        transform: scale(.99);\r\n      }\r\n    }\r\n    .checklist-download__content-title:hover {\r\n      color: #6654D9;\r\n    }\r\n    .checklist-download__content-desc {\r\n        font-style: italic;\r\n        font-weight: 400;\r\n        font-size: 16px;\r\n        line-height: 22px;\r\n        color: #636363;\r\n    }\r\n    @media screen and (max-width: 768px) {\r\n        .checklist-download__content {\r\n            margin-left: 10px;\r\n        }\r\n        .checklist-download__content-title {\r\n            font-size: 16px;\r\n            line-height: 21px;\r\n        }\r\n        .checklist-download__content-desc {\r\n            font-size: 14px;\r\n            line-height: 18px;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"checklist-download\">\r\n    <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" decoding=\"async\" class=\"checklist-download__icon\" width=\"34px\" height=\"44px\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/checklist-download\/checklist-download-icon.svg\" alt=\"\"><meta itemprop=\"width\" content=\"34px\"><meta itemprop=\"height\" content=\"44px\"><\/span>\r\n    <div class=\"checklist-download__content\">\r\n        <div class=\"checklist-download__content-title\">\u041f\u0440\u043e\u0439\u0434\u0438 \u0442\u0435\u0441\u0442 \u0438 \u0443\u0437\u043d\u0430\u0439, \u043a\u0430\u043a\u0430\u044f \u0441\u0444\u0435\u0440\u0430 \u0442\u0435\u0431\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442:<br> \u0430\u0439\u0442\u0438, \u0434\u0438\u0437\u0430\u0439\u043d \u0438\u043b\u0438 \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433.<\/div>\r\n        <div class=\"checklist-download__content-desc\">\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e \u043e\u0442 Geekbrains<\/div>\r\n    <\/div>\r\n<\/div>\r\n<!-- \/noindex -->\r\n<\/li>\n<\/ol>\n<\/div>\n<p>\u0421\u0438\u043d\u0442\u0435\u0437 \u0440\u0435\u0447\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432\u0430\u043c \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u043c, \u0443\u043c\u043d\u044b\u043c \u0434\u043e\u043c\u043e\u043c \u043d\u0430 Raspberry Pi,\u00a0<a href=\"https:\/\/geekbrains.ru\/geek_university\/data-science\" target=\"_blank\" rel=\"nofollow noopener\">\u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u043e\u043c<\/a>, \u0438\u0433\u0440\u043e\u0439, \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u0438 \u0437\u0432\u0443\u043a\u043e\u0432\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c. \u0413\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0434\u043e\u043d\u0435\u0441\u0443\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0434\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0435\u043a\u043e\u0433\u0434\u0430 \u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0443\u043c\u0435\u0435\u0442 \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043e\u043d\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043d\u0435\u0437\u0440\u044f\u0447\u0438\u043c \u0438 \u0441\u043b\u0430\u0431\u043e\u0432\u0438\u0434\u044f\u0449\u0438\u043c.\u00a0 \u0415\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u043c \u0431\u0435\u0437 \u043e\u043f\u043e\u0440\u044b \u043d\u0430 \u0437\u0440\u0435\u043d\u0438\u0435. \u041e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u2014 NVDA (NonVisual Desktop Access) \u2014 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 Python \u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c C++.<\/p>\n<p><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16167\" src=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-i66uua.jpg\" alt=\"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e? \" width=\"800\" height=\"533\" srcset=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-i66uua.jpg 800w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-i66uua-300x200.jpg 300w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-i66uua-768x512.jpg 768w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-i66uua-600x400.jpg 600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><meta itemprop=\"width\" content=\"800\"><meta itemprop=\"height\" content=\"533\"><\/span><\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c text-to-speech (TTS) \u0432 Python \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u044b \u0433\u043e\u043b\u043e\u0441\u0430 \u043a \u0432\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435. \u042d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e \u044f \u0445\u043e\u0442\u0435\u043b\u0430 \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u00ab\u0413\u043e\u0432\u043e\u0440\u044f\u0449\u0430\u044f \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u00bb, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Windows, Linux, \u0430 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u2014 \u0438 MacOS. \u041f\u043e\u0442\u043e\u043c \u0440\u0435\u0448\u0438\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u0449\u0435\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0432\u0435\u0434\u044c \u043e\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u044f GUI \u0441\u0443\u0442\u044c \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. \u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043f\u043e\u044f\u0441\u043d\u044e: \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u2014 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b Linux \u0438\u043b\u0438 \u0437\u043d\u0430\u043a\u043e\u043c\u0430\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c Windows \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430.<\/p>\n\r\n<!-- noindex -->\r\n<div class=\"career career-23 career-23-v2\">\r\n\r\n    <div class=\"career-header\">\r\n\r\n        <div class=\"career-header__item career-header__item-descr\">\r\n            <div class=\"career-header__title\">\r\n                \u0423\u0437\u043d\u0430\u0439, \u043a\u0430\u043a\u0438\u0435 \u0418\u0422&nbsp;-&nbsp;\u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0438<br> \u0432\u0445\u043e\u0434\u044f\u0442 \u0432 \u0422\u041e\u041f-30 <span>\u0441 \u0434\u043e\u0445\u043e\u0434\u043e\u043c<br> \u043e\u0442 210&nbsp;000 \u20bd\/\u043c\u0435\u0441<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"career-header__item career-header__item-about mob\">\r\n                <div class=\"career-header__img\">\r\n                    <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" decoding=\"async\" width=\"114\" height=\"138\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-top-it-30-2023-v2\/Pavel_Simonov-m.png\" alt=\"\u041f\u0430\u0432\u0435\u043b \u0421\u0438\u043c\u043e\u043d\u043e\u0432 - \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440 Geekbrains\" loading=\"lazy\"><meta itemprop=\"width\" content=\"114\"><meta itemprop=\"height\" content=\"138\"><\/span>\r\n                <\/div>\r\n\r\n                <div class=\"career-header__man\">\r\n                    <div>\u041f\u0430\u0432\u0435\u043b \u0421\u0438\u043c\u043e\u043d\u043e\u0432<\/div>\r\n                    <span>\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440 Geekbrains<\/span>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"text\">\r\n                \u041a\u043e\u043c\u0430\u043d\u0434\u0430 GeekBrains \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u044b\u043c\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\u043c\u0438 \u043f\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044e \u043a\u0430\u0440\u044c\u0435\u0440\u044b\r\n                \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u043c \u043d\u0430\u0447\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0438 \u043c\u0435\u0447\u0442\u044b.\r\n            <\/div>\r\n\r\n            <div class=\"text\">\r\n                \u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u044b\u0435 \u0432\u043e\u0441\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\r\n                IT-\u0441\u0444\u0435\u0440\u0435. 86% \u043d\u0430\u0448\u0438\u0445 \u0443\u0447\u0435\u043d\u0438\u043a\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u0441 \u043a\u0430\u0440\u044c\u0435\u0440\u043d\u043e\u0439 \u0446\u0435\u043b\u044c\u044e \u043d\u0430 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435\r\n                \u0431\u0443\u0434\u0443\u0449\u0435\u0435!\r\n            <\/div>\r\n\r\n            <p class=\"career-list\">\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0443\u0436\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f:<\/p>\r\n        <\/div>\r\n\r\n        <div class=\"career-header__item career-header__item-about pc\">\r\n            <div class=\"career-header__img\">\r\n                <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" decoding=\"async\" width=\"276\" height=\"409\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-top-it-30-2023-v2\/Pavel_Simonov.png\" alt=\"\u041f\u0430\u0432\u0435\u043b \u0421\u0438\u043c\u043e\u043d\u043e\u0432 - \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440 Geekbrains\" loading=\"lazy\"><meta itemprop=\"width\" content=\"276\"><meta itemprop=\"height\" content=\"409\"><\/span>\r\n            <\/div>\r\n\r\n            <div class=\"career-header__man\">\r\n                <div>\u041f\u0430\u0432\u0435\u043b \u0421\u0438\u043c\u043e\u043d\u043e\u0432<\/div>\r\n                <span>\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440 Geekbrains<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"career-body\">\r\n\r\n        <div class=\"prof-pdf-list\">\r\n\r\n            <div class=\"career-pdf-list__item\" id=\"careerPdfListItem1\">\r\n                <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" decoding=\"async\" width=\"50\" height=\"50\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/pdf-insert-prof.svg\" alt=\"pdf \u0438\u043a\u043e\u043d\u043a\u0430\" loading=\"lazy\"><meta itemprop=\"width\" content=\"50\"><meta itemprop=\"height\" content=\"50\"><\/span>\r\n                <div>\r\n                    <p class=\"career-pdf-list__item-virtual-title\">\u0422\u043e\u043f-30 \u0441\u0430\u043c\u044b\u0445 \u0432\u043e\u0441\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0439 2023<\/p>\r\n                    <p class=\"career-pdf-list__item-virtual-description\">\u041f\u043e\u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435 \u0442\u0440\u0443\u0434\u0430<\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"career-pdf-list__item\" id=\"careerPdfListItem2\">\r\n                <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" decoding=\"async\" width=\"50\" height=\"50\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/docx-insert-v2.png\" alt=\"doc \u0438\u043a\u043e\u043d\u043a\u0430\" loading=\"lazy\"><meta itemprop=\"width\" content=\"50\"><meta itemprop=\"height\" content=\"50\"><\/span>\r\n                <div>\r\n                    <p class=\"career-pdf-list__item-virtual-title\">\u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 50+ \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/p>\r\n                    <p class=\"career-pdf-list__item-virtual-description\">\u0422\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u0438\u0437 \u0420\u043e\u0441\u0441\u0438\u0438 \u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c<\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"career-pdf-list__item\" id=\"careerPdfListItem3\">\r\n                <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" decoding=\"async\" width=\"50\" height=\"50\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/pdf-insert-prof.svg\" alt=\"pdf \u0438\u043a\u043e\u043d\u043a\u0430\" loading=\"lazy\"><meta itemprop=\"width\" content=\"50\"><meta itemprop=\"height\" content=\"50\"><\/span>\r\n                <div>\r\n                    <p class=\"career-pdf-list__item-virtual-title\">\u0422\u041e\u041f-100 \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0442 GeekBrains<\/p>\r\n                    <p class=\"career-pdf-list__item-virtual-description\">\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u0441 \u0434\u043e\u0445\u043e\u0434\u043e\u043c \u043e\u0442 210 000 \u20bd<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <button class=\"get-gifts-btn\" id=\"getGifts\">\r\n            \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\r\n            <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" decoding=\"async\" class=\"pc\" width=\"39\" height=\"39\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/hand_anime.gif\" alt=\"\u0410\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u043a\u043b\u0438\u043a\u0430\" loading=\"lazy\"><meta itemprop=\"width\" content=\"39\"><meta itemprop=\"height\" content=\"39\"><\/span>\r\n            <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" decoding=\"async\" class=\"mob\" width=\"20\" height=\"27\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/hand_anime.gif\" alt=\"\u0410\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u043a\u043b\u0438\u043a\u0430\" loading=\"lazy\"><meta itemprop=\"width\" content=\"20\"><meta itemprop=\"height\" content=\"27\"><\/span>\r\n        <\/button>\r\n\r\n        <div class=\"career-body__file-wrapper\">\r\n            <div class=\"career-body__file\">pdf 3,7mb<\/div>\r\n            <div class=\"career-body__file\">doc 1,7mb<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"profession-download\">\r\n            \u0423\u0436\u0435 \u0441\u043a\u0430\u0447\u0430\u043b\u0438  36041            <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" decoding=\"async\" width=\"19\" height=\"18\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-top-it-30-2023\/vrezka-submit-people.svg\" alt=\"pdf \u0438\u043a\u043e\u043d\u043a\u0430\" loading=\"lazy\"><meta itemprop=\"width\" content=\"19\"><meta itemprop=\"height\" content=\"18\"><\/span>\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n<\/div>\r\n<!-- \/noindex -->\r\n\n<p>\u0426\u0435\u043b\u044c \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u043e\u0447\u0435\u043d\u044c \u0441\u043a\u0440\u043e\u043c\u043d\u0443\u044e: \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443 \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n<h2>\u0413\u043e\u0442\u043e\u0432\u0438\u043c \u043f\u043e\u043b\u044f\u043d\u0443<\/h2>\n<p id=\"1\">\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434, \u0443\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0447\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0433\u043e\u0442\u043e\u0432\u0430 \u043a \u0441\u0438\u043d\u0442\u0435\u0437\u0443 \u0440\u0435\u0447\u0438, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0437\u0430\u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u043d\u0443\u0436\u043d\u044b:<\/p>\n<ul>\n<li>\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0439 \u0434\u0432\u0438\u0436\u043e\u043a (\u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440 \u0440\u0435\u0447\u0438) \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043d\u0443\u0436\u043d\u044b\u0445 \u043d\u0430\u043c \u044f\u0437\u044b\u043a\u043e\u0432,<\/li>\n<li>\u0433\u043e\u043b\u043e\u0441\u0430 \u0434\u0438\u043a\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430.<\/li>\n<\/ul>\n<p>\u0412 Windows \u0435\u0441\u0442\u044c \u0448\u0442\u0430\u0442\u043d\u044b\u0439 \u0440\u0435\u0447\u0435\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Microsoft Speech API (SAPI). \u0413\u043e\u043b\u043e\u0441\u0430 \u043a \u043d\u0435\u043c\u0443 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u044e\u0442, \u043f\u043e\u043c\u0438\u043c\u043e Microsoft, \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438: Nuance Communications, Loquendo, Acapela Group, IVONA Software.<\/p>\n<p>\u0415\u0441\u0442\u044c \u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0435 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u0438:<\/p>\n<ul>\n<li><a href=\"http:\/\/yandex.ru\/clck\/jsredir?bu=atoo&amp;from=yandex.ru%3Bsearch%2F%3Bweb%3B%3B&amp;text=&amp;etext=2197._HaTPgkEWCcvXWdNFaxI78h9ALgjaCXg7Szb3DtPY-U.b50091d5e1b0cb1a6608d0843fd80cd5449bfb9f&amp;uuid=&amp;state=PEtFfuTeVD5kpHnK9lio9dFa2ePbDzX7sdpoY4CdtdgxLYsTNjk9xbHNmc71fHrF_z27bE7uqgvA4oS29jznzP-0U5ebMvru9XqD1h6LwYQ2YdOELzCWuHoRWXIqX8UDy3SEynNbGPY,&amp;&amp;cst=AiuY0DBWFJ5fN_r-AEszk46UnLUpO5zIsBXAmPbW60VPNGB-pTpYfqVhfL7dDzu-A5Cnnu6HTDOo--RV6r-jZVkn4PK5ejABQjZ-ZjA8DLY60KRYfD4EuLM2xR0saPrEgB5vmuvKMmg4OcmRMKc33ftntsjI89oPvYv9hDjcNSoHFX2YzPye3VMdX9kxKlEjYsayNuknhKJBcZcGz5ZmjR9-3sIjetyVeAau9dikG7NGCI3qtjr-iyuWzIIPzbIMlTQ1z8HhLWl-SKthJB9Rqohrkh-87X_qwoU2eanp1lSRLOwoAJ1vD4mSMJvRTslkO_iU7VaMcNDf0-_9OpOPkZ3Yjkt0-JOGF1VHK-hPOP3h_CQPq9HHI0u0uLMF7hFTSp3xdbLXuYJu6BNN1cAIfS2irEcJ2q_-TEosFwx-72njdBMbJs_T81X6YmWOTdrPna2JtcSFw3YXlIicimLQybbEiNrJZeZiim1WQi5cmD6cM8EbvXYkh2oKLS4Lg6gTiPaUVHogzOcJWjiHvoH76B9yJGZBiUrmDc70cxW0yzDbH_SJkQqnJCOcwFcLnSIRYGMyQmDwflCdK3AEzm6QQATLa1HJaeQicMK-xlZFOpb1GIoPZfvcYcPKLLFG80W0a3DyjMX8p0e5ODrvV5oS2uyBcZQfm72qpJmA4NEP89bttRWVdRkb5CGK9bRlErmX1CNkLwT_ayI4ej2CWcgbd7XcVy9oRA95X4miulxsDI2rlQuZXbVSkRdx3pMWJmQaCgZKmrCl26UreXD_wFwXGRkZ-dWVBAZO2KWkZe1_S033RNPqL4kx5II7nQrq7W_G2QtXVeQ28jBRsSe0Ad2j0PaKrL8ry2NP8m5Xe-Yi1BtkZ-DY4AzWLNJDRT42sWNs&amp;data=UlNrNmk5WktYejY4cHFySjRXSWhXQlI0TEU4MTN1YnZEU1VYNU02aWUzRHJNSUwyMjlCel9NcWtMbFBsS3NKR1pBOFExYmViSy1RWjlMaGhNNnA4QUItTHJtQnpmSEwwbmQ4NlY5dkxYOExSVWpYWXZxemlfZHV4UkZSMmFJNlRmQzJNSjNBQ1k1MCw,&amp;sign=1ece56f6c5fdd4dd9e5caf90860062ed&amp;keyno=0&amp;b64e=2&amp;ref=orjY4mGPRjk5boDnW0uvlrrd71vZw9kpuUakbTEXIx5Csk0FY-TSNehB8LUg4ZbUxcywWC3S_ZdbzxTQGAS9HGMIXiricdhC&amp;l10n=ru&amp;rp=1&amp;cts=1561714343769&amp;mc=1&amp;hdtime=3930\" target=\"_blank\" rel=\"nofollow noopener\">RHVoice<\/a>\u00a0\u043e\u0442 \u041e\u043b\u044c\u0433\u0438 \u042f\u043a\u043e\u0432\u043b\u0435\u0432\u043e\u0439\u00a0 \u2014 \u0438\u043c\u0435\u0435\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u0433\u043e\u043b\u043e\u0441\u0430 \u0434\u043b\u044f \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 (\u043e\u0434\u0438\u043d\u00a0 \u043c\u0443\u0436\u0441\u043a\u043e\u0439 \u0438 \u0442\u0440\u0438 \u0436\u0435\u043d\u0441\u043a\u0438\u0445), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0430\u0442\u0430\u0440\u0441\u043a\u0438\u0439, \u0443\u043a\u0440\u0430\u0438\u043d\u0441\u043a\u0438\u0439, \u0433\u0440\u0443\u0437\u0438\u043d\u0441\u043a\u0438\u0439, \u043a\u0438\u0440\u0433\u0438\u0437\u0441\u043a\u0438\u0439, \u044d\u0441\u043f\u0435\u0440\u0430\u043d\u0442\u043e \u0438 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Windows, GNU\/Linux \u0438 Android.<\/li>\n<li><a href=\"http:\/\/espeak.sourceforge.net\/\">eSpeak<\/a>\u00a0\u0438 \u0435\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435 \u2014\u00a0<a href=\"https:\/\/github.com\/rhdunn\/espeak\" target=\"_blank\" rel=\"nofollow noopener\">eSpeak NG<\/a>\u00a0\u2014 c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0431\u043e\u043b\u0435\u0435 100 \u044f\u0437\u044b\u043a\u043e\u0432 \u0438 \u0434\u0438\u0430\u043b\u0435\u043a\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0434\u0430\u0436\u0435 \u043b\u0430\u0442\u044b\u043d\u044c. NG \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 New Generation\u00a0 \u2014 \u00ab\u043d\u043e\u0432\u043e\u0435 \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u0435\u00bb. \u042d\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440, \u043a\u0430\u043a \u0430\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 eSpeak \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u0441\u0432\u044f\u0437\u044c. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0437\u0432\u0443\u0447\u0438\u0442 \u0432\u0430\u0448 \u0442\u0435\u043a\u0441\u0442 \u0432 Windows, Android, Linux, Mac, BSD. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0442\u0430\u0440\u044b\u0439 eSpeak \u0441\u0442\u0430\u0431\u0438\u043b\u0435\u043d \u0432 \u041e\u0421 Windows 7 \u0438 XP, \u0430 eSpeak NG \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u0441 Windows 8 \u0438 10.<\/li>\n<\/ul>\n<p><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16164\" src=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-129-wipeef.jpg\" alt=\"\u0413\u043e\u0442\u043e\u0432\u0438\u043c \u043f\u043e\u043b\u044f\u043d\u0443\" width=\"800\" height=\"587\" srcset=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-129-wipeef.jpg 800w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-129-wipeef-300x220.jpg 300w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-129-wipeef-768x564.jpg 768w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-129-wipeef-545x400.jpg 545w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><meta itemprop=\"width\" content=\"800\"><meta itemprop=\"height\" content=\"587\"><\/span><\/p>\n<p>\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u043e\u043c\u0443 \u0441\u043e\u0444\u0442\u0443.<\/p>\n<p>\u041f\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0443 \u0433\u043e\u043b\u043e\u0441\u0430 RHVoice \u043d\u0435\u043f\u043b\u043e\u0445 \u0438 \u043a \u043d\u0435\u043c\u0443 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u0438\u0432\u044b\u043a\u0430\u0435\u0448\u044c, \u0430 \u0432\u043e\u0442 eSpeak \u043e\u0447\u0435\u043d\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u043d \u0438 \u0441 \u0430\u043a\u0446\u0435\u043d\u0442\u043e\u043c. \u0417\u0430\u0442\u043e eSpeak \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0443\u0442\u044e\u0433\u0435 \u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0430 \u043a\u0440\u0430\u0439\u043d\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439, \u043a\u043e\u0433\u0434\u0430 \u043d\u0438\u0447\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043b\u0438 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0440\u0435\u0447\u0435\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432, \u0433\u043e\u043b\u043e\u0441\u043e\u0432 \u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 Windows<\/h3>\n<p>\u0421 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u0432 Windows \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u044e\u0430\u043d\u0441 \u2014 \u0434\u043b\u044f \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u0433\u043e\u043b\u043e\u0441\u0430 eSpeak \u0438 eSpeak NG \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c\u00a0<a href=\"http:\/\/espeak.sourceforge.net\/data\/ru_dict-48.zip\" target=\"_blank\" rel=\"nofollow noopener\">\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0448\u0435\u043d\u0438\u044f<\/a>. \u0420\u0430\u0441\u043f\u0430\u043a\u0443\u0439\u0442\u0435 \u0430\u0440\u0445\u0438\u0432 \u0432 \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433 espeak-data \u0438\u043b\u0438 espeak-ng-data \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u0441\u0442\u0430\u0440\u044b\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u043d\u043e\u0432\u044b\u043c: \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u0443\u0439\u0442\u0435 ru_dict-48 \u0432 ru_dict, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0432 \u0438\u043c\u0435\u044e\u0449\u0438\u0439\u0441\u044f \u0444\u0430\u0439\u043b \u0441 \u0442\u0435\u043c \u0436\u0435 \u0438\u043c\u0435\u043d\u0435\u043c (ru_dict).<\/p>\n<style>\r\n    .banner-2__wrap {\r\n        background: url(\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/05\/bg-programmer.png\") no-repeat center;\r\n        background-size: cover;\r\n    }\r\n\r\n    @media (max-width: 800px) {\r\n        .banner-2__wrap {\r\n            background: url(\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/05\/bg-programmer-mob.png\") no-repeat center;\r\n            background-size: cover;\r\n        }\r\n    }\r\n<\/style>\r\n<!-- noindex -->\r\n<div class=\"banner-2__wrap get-course\">\r\n\r\n    <div class=\"banner-2\">\r\n\r\n        <div class=\"banner-2__content\">\r\n\r\n            <div class=\"banner-2__notice\">\r\n                \u0414\u043b\u044f \u0432\u0430\u0441 \u043f\u043e\u0434\u0430\u0440\u043e\u043a! \u0412&nbsp;\u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c&nbsp;\u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u0434\u043e <span\r\n                    style=\"color: #a055ff\">\r\n                    17.05<\/span>\r\n                <!-- \u0414\u043b\u044f \u0432\u0430\u0441 \u043f\u043e\u0434\u0430\u0440\u043e\u043a! \u0412 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u0434\u043e<span><\/span> -->\r\n            <\/div>\r\n\r\n            \r\n                <div class=\"banner-2__title\">\r\n                    <span style=\"color: #a055ff\">\r\n                    \u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 \u0422\u041e\u041f-10 <br>\u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439<\/span>\r\n                    <br>\u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f                <\/div>\r\n\r\n            \r\n            \r\n                <div class=\"banner-2__description\">\u041f\u043e\u043c\u043e\u0433\u0443\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043d\u0430 25%<\/div>\r\n\r\n                    <\/div>\r\n\r\n        <form class=\"banner-2__input-wrap\">\r\n\r\n            <div class=\"banner-2__input-form-wrap\">\r\n                <label for=\"email\">\r\n                    <span>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0430\u0439\u043b, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 e-mail:<\/span>\r\n                    <input type=\"email\" name=\"email\" id=\"bannerTwoEmail\" placeholder=\"E-mail, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, info@gb.ru\" required\r\n                           pattern=\"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$\">\r\n                <\/label>\r\n\r\n                <label class=\"input-tel-wrap\" for=\"tel\" style=\"position: relative\">\r\n                    <span>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043d\u0435 \u0440\u043e\u0431\u043e\u0442, \u0443\u043a\u0430\u0437\u0430\u0432 \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430:<\/span>\r\n                    <input type=\"tel\" id=\"bannerTwoTel\" class=\"only_num\" name=\"tel\" required>\r\n                <\/label>\r\n\r\n                <div class=\"submit\">\r\n\r\n                    <div class=\"banner-2__group-submit\">\r\n\r\n                        <!--                    <div class=\"banner-2__img-wrapper\">-->\r\n                        <!--                        <span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" class=\"banner-2__img-people\" width=\"18\" height=\"13\" src=\"--><meta itemprop=\"width\" content=\"18\"><meta itemprop=\"height\" content=\"13\"><\/span>\r\n                        <!--\/assets\/images\/banner-two-get-course\/people.png\" alt=\"\u0418\u043a\u043e\u043d\u043a\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0439\" loading=\"lazy\">-->\r\n                        <!--                        \u0423\u0436\u0435 \u043f\u0440\u043e\u0448\u043b\u0438 \u043e\u043f\u0440\u043e\u0441 8965 \u0447\u0435\u043b\u043e\u0432\u0435\u043a-->\r\n                        <!--                    <\/div>-->\r\n\r\n                        <button type=\"submit\" class=\"banner-2__submit\">\r\n                            \u0421\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\r\n                        <\/button>\r\n\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"control control--checkbox\">\r\n                <input type=\"checkbox\" checked=\"checked\" id=\"banner_2__wrap_get_course\" class=\"checked-suc\"\/>\r\n                <label class=\"control-checkbox__text\" for=\"banner_2__wrap_get_course\">\r\n                    \u042f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 <a href=\"https:\/\/gb.ru\/confidential\/\">\u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/a>\r\n                <\/label>\r\n                <div class=\"control__indicator\"><\/div>\r\n            <\/div>\r\n\r\n\r\n        <\/form>\r\n    <\/div>\r\n<\/div>\r\n\r\n<div class=\"popup banner-2__suc-wrap\">\r\n    <div class=\"banner-2__popup-success\">\r\n        <div class=\"popup-close banner-2__suc-close\">\r\n            <svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fal\" data-icon=\"times\" role=\"img\"\r\n                 xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 320 512\" class=\"svg-inline--fa fa-times fa-w-10 fa-3x\">\r\n                <path fill=\"#00000\"\r\n                      d=\"M193.94 256L296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z\"\r\n                      class=\"\"><\/path>\r\n            <\/svg>\r\n        <\/div>\r\n        <div class=\"banner-2__suc-title\">\r\n            \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0430\u0440\u043e\u043a, \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435\r\n        <\/div>\r\n        <div class=\"banner-2__suc-actions\">\r\n            <a id=\"bannerTarget\" href=\"https:\/\/gb.ru\/a\/a_blog1\" target=\"_blank\">\u041f\u0435\u0440\u0435\u0439\u0442\u0438<\/a>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<a class=\"banner-2__download_file\" href=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/job_search_channels_in_a_crisis.pdf\" download>\u0421\u043a\u0430\u0447\u0430\u0442\u044c\r\n    \u0444\u0430\u0439\u043b<\/a>\r\n<!-- \/noindex -->\r\n\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 pywin32, python-espeak \u0438 py-espeak-ng, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u043d\u0430\u043c \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c TTS:<\/p>\n<p>pip install pywin32 python-espeak pyttsx3 py-espeak-ng<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u0441\u043e\u0441\u0435\u0434\u0441\u0442\u0432\u0443\u044e\u0442 Python 2 \u0438 3, \u0437\u0434\u0435\u0441\u044c \u0438 \u0434\u0430\u043b\u0435\u0435 \u043f\u0438\u0448\u0438\u0442\u0435 \u00abpip3\u00bb, \u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u00a0 \u2014 \u00abpython3\u00bb.<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 eSpeak(NG) \u0432 Linux<\/h3>\n<p>\u041f\u043e\u0434\u0440\u0443\u0436\u0438\u0442\u044c \u00ab\u043f\u0438\u043d\u0433\u0432\u0438\u043d\u0430\u00bb \u0441 eSpeak, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 NG, \u043c\u043e\u0436\u043d\u043e \u0437\u0430 \u043c\u0438\u043d\u0443\u0442\u0443:<\/p>\n<p>sudo apt-get install espeak-ng python-espeak<\/p>\n<p>pip3 install py-espeak-ng pyttsx3<\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044c ru_dict \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430:<\/p>\n<p>wget http:\/\/espeak.sourceforge.net\/data\/ru_dict-48.zip<\/p>\n<p>unzip ru_dict-48.zip<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0438\u0449\u0435\u043c \u0430\u0434\u0440\u0435\u0441 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 espeak-data (\u0438\u043b\u0438 espeak-ng-data) \u0433\u0434\u0435-\u0442\u043e \u0432 \/usr\/lib\/ \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0442\u0443\u0434\u0430. \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430 \u0442\u0430\u043a:<\/p>\n<p>sudo mv ru_dict-48 \/usr\/lib\/i386-linux-gnu\/espeak-data\/ru_dict<\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0432\u043c\u0435\u0441\u0442\u043e \u00abi386\u00bb \u0443 \u0432\u0430\u0441 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u00abx86_64&#8230;\u00bb \u0438\u043b\u0438 \u0435\u0449\u0435 \u0447\u0442\u043e-\u0442\u043e. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u043f\u043e\u0438\u0441\u043a\u043e\u043c:<\/p>\n<p>find \/usr\/lib\/ -name &#171;espeak-data&#187;<\/p>\n<p>\u0413\u043e\u0442\u043e\u0432\u043e!<\/p>\n<h3>RHVoice \u0432 Linux<\/h3>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 RHVoice \u0432 Linux \u0432\u044b \u043d\u0430\u0439\u0434\u0435\u0442\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043d\u0430\u0447\u0430\u043b\u0435\u00a0<a href=\"https:\/\/solkogan.ru\/python.php?mode=view2&amp;mid=54\">\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438<\/a>. \u041d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e, \u043d\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0435\u043d \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442.<br \/>\n<style>\r\n    .insert-bn {\r\n        align-items: flex-start;\r\n        border-radius: 20px;\r\n        background: #E7EDFB;\r\n        display: flex;\r\n        flex-direction: column;\r\n        font-family: 'IBM Plex Sans', sans-serif;\r\n        justify-content: flex-start;\r\n        margin: 40px auto;\r\n        padding: 44px 40px;\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n    .insert-bn__content {\r\n        align-items: flex-start;\r\n        display: flex;\r\n        flex-direction: column;\r\n        justify-content: flex-start;\r\n        max-width: 450px;\r\n    }\r\n    .insert-bn__content-title span,\r\n    .insert-bn__content-title {\r\n        color: #23242C;\r\n        font-family: 'IBM Plex Sans', sans-serif;\r\n        font-size: 26px;\r\n        font-weight: 700;\r\n        line-height: 36px;\r\n        margin-bottom: 19px;\r\n        text-align: left;\r\n    }\r\n    .insert-bn__content-title span {\r\n        color: #8D46F6;\r\n    }\r\n    .insert-bn__content-desc strong,\r\n    .insert-bn__content-desc {\r\n        font-size: 18px;\r\n        font-weight: 400;\r\n        line-height: 23px;\r\n        margin-bottom: 44px;\r\n        text-align: left;\r\n    }\r\n    .insert-bn__content-desc strong{\r\n        font-weight: 500;\r\n    }\r\n    .insert-bn__content-btn:visited,\r\n    .insert-bn__content-btn:focus,\r\n    .insert-bn__content-btn:hover,\r\n    .insert-bn__content-btn {\r\n        background: #8D46F6;\r\n        border: none;\r\n        border-radius: 10px;\r\n        color: #fff;\r\n        cursor: pointer;\r\n        outline: none;\r\n        font-size: 20px;\r\n        font-style: normal;\r\n        font-weight: 700;\r\n        line-height: 16px;\r\n        padding: 25px 38px;\r\n    }\r\n    .insert-bn .image_bg {\r\n        border-radius: 20px;\r\n        background: #E7EDFB;\r\n        bottom: 0;\r\n        height: 100%;\r\n        left: 0;\r\n        position: absolute;\r\n        right: 0;\r\n        top: 0;\r\n        width: 100%;\r\n        z-index: -1;\r\n    }\r\n    @media screen and (max-width: 768px) {\r\n        .insert-bn {\r\n            min-height: 525px;\r\n            padding: 28px 20px;\r\n        }\r\n        .insert-bn__content {\r\n            max-width: unset;\r\n            width: 100%;\r\n        }\r\n        .insert-bn__content-title span,\r\n        .insert-bn__content-title {\r\n            font-size: 24px;\r\n            line-height: normal;\r\n        }\r\n        .insert-bn__content-desc strong,\r\n        .insert-bn__content-desc {\r\n            font-size: 16px;\r\n            line-height: 24px;\r\n            margin-bottom: 30px;\r\n        }\r\n        .insert-bn__content-btn:visited,\r\n        .insert-bn__content-btn:focus,\r\n        .insert-bn__content-btn:hover,\r\n        .insert-bn__content-btn {\r\n            font-size: 20px;\r\n            line-height: 26px;\r\n            padding: 20px 0;\r\n            text-align: center;\r\n            width: 100%;\r\n        }\r\n    }\r\n<\/style>\r\n<div class=\"insert-bn\" id=\"insert_bn\">\r\n    <div class=\"insert-bn__content\">\r\n        <div class=\"insert-bn__content-title\">\r\n            <span>\u0414\u0430\u0440\u0438\u043c \u0441\u043a\u0438\u0434\u043a\u0443 \u043e\u0442 60%<\/span><br class=\"mob\"> \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u00abPython-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u00bb \u0434\u043e 17 \u043c\u0430\u044f        <\/div>\r\n        <div class=\"insert-bn__content-desc\">\r\n            \u0423\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 9 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0434\u043e\u0445\u043e\u0434\u043e\u043c <strong>\u043e\u0442 150 000 \u0440\u0443\u0431\u043b\u0435\u0439<\/strong>        <\/div>\r\n        <a class=\"insert-bn__content-btn\" href=\"https:\/\/gb.ru\/geek_university\/developer\/programmer\/python?from=blog_vrezka\">\r\n            \u0417\u0430\u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0438\u0434\u043a\u0443\r\n        <\/a>\r\n    <\/div>\r\n\r\n    <img decoding=\"async\" class=\"image_bg insert-bn-bg pc\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/insert-bn\/python_dev.png\" alt=\"\">\r\n    <img decoding=\"async\" class=\"image_bg insert-bn-bg mob\" src=\"https:\/\/gb.ru\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/insert-bn\/python_dev_mob.png\" alt=\"\">\r\n<\/div>\r\n<br \/>\n\u0421\u043c\u044b\u0441\u043b \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c git-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0447\u0435\u0440\u0435\u0437 scons.<\/p>\n<p>\u0414\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 Windows \u0438 Linux \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0440\u0443\u0441\u0441\u043a\u0438\u0435 \u0433\u043e\u043b\u043e\u0441\u0430: \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u2018ru\u2019 \u0432 eSpeak \u0438 Aleksandr \u0432 RHVoice.<\/p>\n<p><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16163\" src=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-114-1d1tt4f.jpg\" alt=\"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0440\u0435\u0447\u0435\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432, \u0433\u043e\u043b\u043e\u0441\u043e\u0432 \u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 Windows\u00a0\" width=\"800\" height=\"450\" srcset=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-114-1d1tt4f.jpg 800w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-114-1d1tt4f-300x169.jpg 300w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-114-1d1tt4f-768x432.jpg 768w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-114-1d1tt4f-711x400.jpg 711w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><meta itemprop=\"width\" content=\"800\"><meta itemprop=\"height\" content=\"450\"><\/span><\/p>\n<h3>\u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u0430<\/h3>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0434\u0432\u0438\u0436\u043a\u0443, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043e\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 eSpeak \u0432 Windows \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 GUI\u00a0 \u2014 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c TTSApp.exe \u0432 \u043f\u0430\u043f\u043a\u0435 \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439. \u0414\u0430\u043b\u044c\u0448\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0433\u043e\u043b\u043e\u0441\u043e\u0432, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c eSpeak-RU, \u0432\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u0432 \u043f\u043e\u043b\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0436\u043c\u0435\u043c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 Speak.<\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043a espeak \u043c\u043e\u0436\u043d\u043e \u0438 \u0438\u0437 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430. \u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f eSpeak \u0438 NG \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u2014 \u043d\u0430\u0434\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u043b\u0438 \u0443\u0431\u0438\u0440\u0430\u0442\u044c \u00ab-ng\u00bb \u043f\u043e\u0441\u043b\u0435 \u00abespeak\u00bb:<\/p>\n<p>espeak -v ru -f D:\\my.txt<\/p>\n<p>espeak-ng -v en &#171;The Cranes are Flying&#187;<\/p>\n<p>echo &#171;\u0414\u0430, \u044d\u0442\u043e \u043e\u0442 \u0434\u0443\u0448\u0438. \u0417\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e. \u0414\u043e\u0441\u0442\u043e\u0439\u043d\u043e \u0432\u043e\u0441\u0445\u0438\u0449\u0435\u043d\u0438\u044f&#187; |RHVoice-test -p Aleksandr<\/p>\n<p>\u041a\u0430\u043a \u043d\u0435\u0442\u0440\u0443\u0434\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u043f\u0435\u0440\u0432\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441 \u043a\u043b\u044e\u0447\u043e\u043c -f\u00a0 \u0447\u0438\u0442\u0430\u0435\u0442 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0442\u0435\u043a\u0441\u0442 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430. \u0427\u0442\u043e\u0431\u044b \u0432 Windows \u043a\u043e\u043c\u0430\u043d\u0434\u0430 espeak \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u0432\u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0432 \u043a\u0430\u043a\u043e\u0439 \u0432\u044b \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u0442\u044c \u043a \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 eSpeak (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u2014 C:\\Program Files\\eSpeak\\command_line) \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f Path. \u0412\u043e\u0442\u00a0<a href=\"https:\/\/docs.microsoft.com\/ru-ru\/previous-versions\/office\/developer\/sharepoint-2010\/ee537574(v%3Doffice.14)\" target=\"_blank\" rel=\"nofollow noopener\">\u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c<\/a>.<\/p>\n<h2>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 pyttsx3<\/h2>\n<p id=\"2\"><a href=\"https:\/\/pypi.org\/project\/pyttsx3\/\" target=\"_blank\" rel=\"nofollow noopener\">PyTTSx3<\/a>\u00a0\u2014 \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 TTS \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u043d\u0430 Python 3. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0438\u043d\u0442\u0435\u0437\u0430 \u0440\u0435\u0447\u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u041e\u0421:<\/p>\n<ul>\n<li>\u0432 Windows \u2014 SAPI5,<\/li>\n<li>\u0432 Mac OS X \u2014 nsss,<\/li>\n<li>\u0432 Linux \u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 \u2014 eSpeak.<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e: \u043f\u0438\u0448\u0435\u0442\u0435 \u043a\u043e\u0434 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0438 \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u0435\u0437\u0434\u0435. \u041a\u0441\u0442\u0430\u0442\u0438, eSpeak NG \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439.<\/p>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b!<\/p>\n<h3>\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0433\u043e\u043b\u043e\u0441\u043e\u0432<\/h3>\n<p>\u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0433\u043e\u043b\u043e\u0441\u0430 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c:<\/p>\n<ul>\n<li>id (\u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435),<\/li>\n<li>name (\u0438\u043c\u044f),<\/li>\n<li>languages (\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u044f\u0437\u044b\u043a\u0438),<\/li>\n<li>gender (\u043f\u043e\u043b),<\/li>\n<li>age (\u0432\u043e\u0437\u0440\u0430\u0441\u0442).<\/li>\n<\/ul>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432 \u0442\u043e\u043c, \u043a\u0430\u043a\u0438\u0435 \u0433\u043e\u043b\u043e\u0441\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0433\u043e\u043b\u043e\u0441\u0430, \u0438\u0445 \u0438\u043c\u0435\u043d\u0430 \u0438 ID. \u041d\u0430\u0437\u043e\u0432\u0435\u043c \u0444\u0430\u0439\u043b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, list_voices.py:<\/p>\n<p>import pyttsx3<\/p>\n<p>tts = pyttsx3.init() # \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0439 \u0434\u0432\u0438\u0436\u043e\u043a.<\/p>\n<p>\u0423 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430 \u0435\u0441\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u2018voices\u2019, \u0433\u0434\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u044d\u0442\u043e\u043c\u0443 \u0434\u0432\u0438\u0436\u043a\u0443 \u0433\u043e\u043b\u043e\u0441\u043e\u0432. \u042d\u0442\u043e \u043d\u0430\u043c \u0438 \u043d\u0443\u0436\u043d\u043e:<\/p>\n<p>voices = tts.getProperty(&#8216;voices&#8217;)<\/p>\n<p># \u041f\u0435\u0440\u0435\u0431\u0440\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u0430 \u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u0430\u0436\u0434\u043e\u0433\u043e<\/p>\n<p>for voice in voices:<\/p>\n<p>print(&#8216;=======&#8217;)<\/p>\n<p>print(&#8216;\u0418\u043c\u044f: %s&#8217; % voice.name)<\/p>\n<p>print(&#8216;ID: %s&#8217; % voice.id)<\/p>\n<p>print(&#8216;\u042f\u0437\u044b\u043a(\u0438): %s&#8217; % voice.languages)<\/p>\n<p>print(&#8216;\u041f\u043e\u043b: %s&#8217; % voice.gender)<\/p>\n<p>print(&#8216;\u0412\u043e\u0437\u0440\u0430\u0441\u0442: %s&#8217; % voice.age)<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0438\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e, \u043a\u0443\u0434\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442, \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c list_voices.py.<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0438\u043c:<\/p>\n<p><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16161\" src=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-39-k86e1e.jpg\" alt=\"\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\" width=\"800\" height=\"396\" srcset=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-39-k86e1e.jpg 800w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-39-k86e1e-300x149.jpg 300w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-39-k86e1e-768x380.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><meta itemprop=\"width\" content=\"800\"><meta itemprop=\"height\" content=\"396\"><\/span><\/p>\n<p>\u0412 Linux \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0445\u043e\u0436\u0435\u0439, \u043d\u043e \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u043c\u0438.<\/p>\n<p><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16160\" src=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-39-15h7bkd.jpg\" alt=\"\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\" width=\"800\" height=\"629\" srcset=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-39-15h7bkd.jpg 800w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-39-15h7bkd-300x236.jpg 300w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-39-15h7bkd-768x604.jpg 768w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-39-15h7bkd-509x400.jpg 509w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><meta itemprop=\"width\" content=\"800\"><meta itemprop=\"height\" content=\"629\"><\/span><\/p>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0432 Windows \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0433\u043e\u043b\u043e\u0441\u043e\u0432 MS SAPI \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u00ab\u0418\u043c\u044f\u00bb \u0438 ID. \u041e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u043e\u0433\u043e \u0445\u0432\u0430\u0442\u0438\u0442, \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0448\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043d\u0430\u0448\u0443 \u0437\u0430\u0434\u0430\u0447\u0443: \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0431\u0435\u0440\u0435\u0442 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0433\u043e\u043b\u043e\u0441 \u0438 \u0447\u0442\u043e-\u0442\u043e \u0438\u043c \u043f\u0440\u043e\u0438\u0437\u043d\u0435\u0441\u0435\u0442.<\/p>\n<style>\r\n    .strategy-of-beginners-new {\r\n        background: url(\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-strategy-for-beginners-new-v2\/bg-2.jpg) no-repeat;\r\n        padding: 40px 30px 50px 30px;\r\n        margin: 10px auto;\r\n    }\r\n    .strategy-of-beginners-new__date {\r\n        font-size: 18px;\r\n        font-weight: 700;\r\n        line-height: 23px;\r\n        color: #23242C;\r\n        position: relative;\r\n        margin-left: 20px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__date:after {\r\n        content: '';\r\n        position: absolute;\r\n        background: url('\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-strategy-for-beginners-new\/date-1.png') no-repeat;\r\n        width: 209px;\r\n        height: 57px;\r\n        left: -20px;\r\n        top: -18px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__title {\r\n        font-size: 30px;\r\n        line-height: 30px;\r\n        font-weight: 700;\r\n        color: #23242C;\r\n        margin-top: 17px;\r\n        max-width: 500px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__title span {\r\n        font-size: 30px;\r\n        color: #8D46F6;\r\n        font-weight: 700;\r\n        line-height: 30px;\r\n    }\r\n\r\n    .strategy-of-beginners-new span {\r\n        font-family: 'IBM Plex Sans';\r\n    }\r\n\r\n    .strategy-of-beginners-new__list--title {\r\n        font-size: 16px;\r\n        font-weight: 500;\r\n        color: #23242C;\r\n        line-height: 16px;\r\n        margin-bottom: 19px;\r\n        max-width: 710px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__list {\r\n        margin-top: 19px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__list--item {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        color: #6654D9;\r\n        cursor: pointer;\r\n        font-weight: 600;\r\n        font-size: 15px;\r\n        line-height: 16px;\r\n        text-decoration: underline;\r\n    }\r\n\r\n    .strategy-of-beginners-new__list--item:nth-child(3) {\r\n        margin: 8px 0;\r\n    }\r\n\r\n    .strategy-of-beginners-new__form {\r\n        margin-top: 10px;\r\n    }\r\n    .strategy-of-beginners-new__form-wrapper {\r\n        display: flex;\r\n        align-items: flex-end;\r\n        justify-content: space-between;\r\n    }\r\n\r\n    .strategy-of-beginners-new__form--input {\r\n        display: flex;\r\n        flex-direction: column;\r\n        min-width: 224px;\r\n        max-width: 224px;\r\n        position: relative;\r\n    }\r\n\r\n    .strategy-of-beginners-new__inputtip {\r\n        font-size: 11px;\r\n        color: #23242C;\r\n        line-height: 15px;\r\n        font-weight: 500;\r\n        margin-bottom: 6px;\r\n    }\r\n    .strategy-of-beginners-new__form--input input {\r\n        border: 0;\r\n        border-radius: 10px;\r\n        color: #828282;\r\n        font-size: 13px;\r\n        line-height: 17px;\r\n        margin-bottom: 0;\r\n        padding: 16px 15px;\r\n        width: -webkit-fill-available;\r\n    }\r\n    .strategy-of-beginners-new__form--input.input-tel-wrap {\r\n        margin-top: 10px;\r\n    }\r\n    .strategy-of-beginners-new__form--input span {\r\n        bottom: 0;\r\n        color: #f00;\r\n        display: none;\r\n        font-size: 8px;\r\n        line-height: 8px;\r\n        margin-bottom: -8px;\r\n        position: absolute;\r\n    }\r\n    .strategy-of-beginners-new__form--input.error span {\r\n        display: block;\r\n    }\r\n    .strategy-of-beginners-new__form--input.error input{\r\n        border: 1px solid #f00;\r\n    }\r\n\r\n    .strategy-of-beginners-new__inputtip .iti__selected-dial-code {\r\n        font-size: 13px;\r\n    }\r\n    .iti--separate-dial-code .iti__selected-flag {\r\n        background-color: transparent;\r\n    }\r\n\r\n    .strategy-of-beginners-new__form--input input::placeholder {\r\n        color: #828282;\r\n    }\r\n\r\n    button.strategy-of-beginners-new__submit {\r\n        font-size: 14px;\r\n        line-height: 16px;\r\n        font-weight: 700;\r\n        background: #24D086;\r\n        border-radius: 10px;\r\n        padding: 18px;\r\n        position: relative;\r\n        color: #fff;\r\n        border: 0;\r\n        cursor: pointer;\r\n    }\r\n\r\n    .strategy-of-beginners-new__submit span {\r\n        position: absolute;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        bottom: -14px;\r\n        font-size: 14px;\r\n        line-height: 16px;\r\n        color: #0E0E0E;\r\n        background: #fff;\r\n        padding: 5px 15px;\r\n        border-radius: 8px;\r\n        font-weight: 600;\r\n    }\r\n\r\n    .strategy-of-beginners-new__download {\r\n        position: absolute;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        display: flex;\r\n        align-items: center;\r\n        min-width: 145px;\r\n        bottom: -30px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__button--container {\r\n        position: relative;\r\n    }\r\n\r\n    .strategy-of-beginners-new__download span {\r\n        font-size: 12px;\r\n        line-height: 15px;\r\n        color: #23242C;\r\n        margin-left: 6px;\r\n        font-weight: 500;\r\n    }\r\n\r\n\r\n    .strategy-of-beginners-new__form .control--checkbox {\r\n        align-items: center;\r\n        color: #7D7D7D;\r\n        display: flex;\r\n        flex-direction: row;\r\n        justify-content: flex-start;\r\n        font-weight: 400;\r\n        font-size: 12px;\r\n        line-height: 14px;\r\n        margin-top: 17px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__form .checked-suc {\r\n        height: 8px;\r\n        position: relative;\r\n        margin-right: 6px;\r\n        width: 8px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__form .checked-suc:not(:checked):before {\r\n        background: #fff;\r\n        border-radius: 2px;\r\n        border: 1px solid #AB72FF;\r\n        content: '';\r\n        height: 10px;\r\n        margin: -1px 0 0 -1px;\r\n        position: absolute;\r\n        left: 0;\r\n        top: 0;\r\n        width: 10px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__form .checked-suc:checked:before {\r\n        background: url('..\/images\/popup\/career-23\/check.png') no-repeat center;\r\n        border-radius: 2px;\r\n        border: 1px solid #AB72FF;\r\n        content: '';\r\n        height: 10px;\r\n        margin: -1px 0 0 -1px;\r\n        position: absolute;\r\n        left: 0;\r\n        top: 0;\r\n        width: 10px;\r\n    }\r\n\r\n    .strategy-of-beginners-new__form .control-checkbox__text {\r\n        margin-bottom: 0;\r\n        cursor: pointer;\r\n    }\r\n\r\n    .strategy-of-beginners-new__form .control-checkbox__text a:focus,\r\n    .strategy-of-beginners-new__form .control-checkbox__text a:active,\r\n    .strategy-of-beginners-new__form .control-checkbox__text a:visited,\r\n    .strategy-of-beginners-new__form .control-checkbox__text a:hover,\r\n    .strategy-of-beginners-new__form .control-checkbox__text a {\r\n        color: #AB72FF;\r\n        text-decoration: none;\r\n        outline: none;\r\n    }\r\n\r\n\r\n\r\n    @media (max-width: 1200px) {\r\n        .strategy-of-beginners-new {\r\n            padding: 24px 20px 147px 20px;\r\n            background: url(\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-strategy-for-beginners-new-v2\/bg-2-m.jpg) no-repeat;\r\n            background-size: cover;\r\n        }\r\n        .strategy-of-beginners-new__date {\r\n            font-size: 15px;\r\n        }\r\n        .strategy-of-beginners-new__date:after {\r\n            width: 185px;\r\n            height: 57px;\r\n            left: -21px;\r\n            top: -13px;\r\n            background-size: contain;\r\n        }\r\n        .strategy-of-beginners-new__title {\r\n            font-size: 18px;\r\n            line-height: 22px;\r\n            max-width: unset;\r\n            width: 100%;\r\n        }\r\n        .strategy-of-beginners-new__title span {\r\n            font-size: 18px;\r\n            line-height: 22px;\r\n        }\r\n        .strategy-of-beginners-new__list {\r\n            margin-top: 6px;\r\n        }\r\n        .strategy-of-beginners-new__list--title {\r\n            font-size: 13px;\r\n            margin-bottom: 4px;\r\n        }\r\n        .strategy-of-beginners-new__list--item {\r\n            font-size: 13px;\r\n        }\r\n        .strategy-of-beginners-new__form {\r\n            margin-top: 13px;\r\n        }\r\n        .strategy-of-beginners-new__form-wrapper {\r\n            flex-direction: column;\r\n        }\r\n        .strategy-of-beginners-new__form--input {\r\n            min-width: 100%;\r\n            max-width: 100%;\r\n        }\r\n        #strategyForBeginnersNewTel {\r\n            width: 100%;\r\n        }\r\n        .strategy-of-beginners-new__button--container {\r\n            width: 100%;\r\n            margin-top: 10px;\r\n        }\r\n        button.strategy-of-beginners-new__submit {\r\n            width: 100%;\r\n            font-size: 14px;\r\n            line-height: 16px;\r\n            padding: 22px;\r\n        }\r\n        .strategy-of-beginners-new__submit span {\r\n            bottom: -12px;\r\n        }\r\n        .strategy-of-beginners-new__download {\r\n            bottom: -32px;\r\n        }\r\n        .strategy-of-beginners-new__download span {\r\n            font-weight: 400;\r\n        }\r\n\r\n        .strategy-of-beginners-new__form .control--checkbox {\r\n            margin-top: 35px;\r\n        }\r\n        .strategy-of-beginners-new__form .control--checkbox label {\r\n            font-size: 9px;\r\n            line-height: 12px;\r\n        }\r\n\r\n    }\r\n    @media screen and (max-width: 320px) {\r\n        .strategy-of-beginners-new__title {\r\n            font-size: 16px;\r\n        }\r\n        .strategy-of-beginners-new__title span {\r\n            font-size: 16px;\r\n        }\r\n    }\r\n<\/style>\r\n<!-- noindex -->\r\n<div class=\"strategy-of-beginners-new\">\r\n    <div class=\"strategy-of-beginners-new__date\">\r\n        \u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043e 18.05    <\/div>\r\n    <div class=\"strategy-of-beginners-new__title\">\r\n        \u0421\u043a\u0430\u0447\u0430\u0439 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0447\u0442\u043e\u0431\u044b <span>\u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043d\u0430\u0439\u0442\u0438<\/span> \u0440\u0430\u0431\u043e\u0442\u0443 \u0432 IT \u0437\u0430 14 \u0434\u043d\u0435\u0439\r\n    <\/div>\r\n    <div class=\"strategy-of-beginners-new__list\">\r\n        <div class=\"strategy-of-beginners-new__list--title\">\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432:<\/div>\r\n        <div class=\"strategy-of-beginners-new__list--item\" onclick=\"ym(40414440, 'reachGoal', 'click-file-one-vrezkait')\">\r\n            <img decoding=\"async\" src=\"\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-strategy-for-beginners-new\/pdf.png\">\r\n            \u0422\u041e\u041f-100 \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0442 GeekBrains\r\n        <\/div>\r\n        <div class=\"strategy-of-beginners-new__list--item\" onclick=\"ym(40414440, 'reachGoal', 'click-file-two-vrezkait')\">\r\n            <img decoding=\"async\" src=\"\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-strategy-for-beginners-new\/pdf.png\">\r\n            20 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0439 2023 \u0433\u043e\u0434\u0430, \u0441 \u0434\u043e\u0445\u043e\u0434\u043e\u043c \u043e\u0442 150 000 \u0440\u0443\u0431\u043b\u0435\u0439\r\n        <\/div>\r\n        <div class=\"strategy-of-beginners-new__list--item\" onclick=\"ym(40414440, 'reachGoal', 'click-file-three-vrezkait')\">\r\n            <img decoding=\"async\" src=\"\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-strategy-for-beginners-new\/pdf.png\">\r\n            \u0427\u0435\u043a-\u043b\u0438\u0441\u0442 \u00ab\u041a\u0430\u043a \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435\u00bb\r\n        <\/div>\r\n    <\/div>\r\n    <form class=\"strategy-of-beginners-new__form\" method=\"post\">\r\n        <div class=\"strategy-of-beginners-new__form-wrapper\">\r\n            <div class=\"strategy-of-beginners-new__form--input\">\r\n                <div class=\"strategy-of-beginners-new__inputtip\">\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0430\u0439\u043b, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 e-mail:<\/div>\r\n                <input type=\"email\" id=\"strategyForBeginnersNewEmail\" name=\"email\" placeholder=\"E-mail, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, info@gb.ru\" required pattern=\"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$\">\r\n                <span>\u0412\u0432\u0435\u0434\u0438\u0442\u0435 e-mail, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u043c<\/span>\r\n            <\/div>\r\n            <div class=\"strategy-of-beginners-new__form--input input-tel-wrap\" style=\"position: relative\">\r\n                <div class=\"strategy-of-beginners-new__inputtip\">\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043d\u0435 \u0440\u043e\u0431\u043e\u0442,<br class=\"pc\">\u0443\u043a\u0430\u0437\u0430\u0432 \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430:<\/div>\r\n                <input type=\"tel\" id=\"strategyForBeginnersNewTel\" name=\"tel\" placeholder=\"+7 (000)-000-00-00\" required>\r\n                <span>\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043b\u0435\u0444\u043e\u043d, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u043c<\/span>\r\n            <\/div>\r\n            <div class=\"strategy-of-beginners-new__button--container\">\r\n                <button class=\"strategy-of-beginners-new__submit\" type=\"submit\">\r\n                    \u0421\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\r\n                    <span>pdf 2,5mb<\/span>\r\n                <\/button>\r\n                <div class=\"strategy-of-beginners-new__download\">\r\n                    <img decoding=\"async\" src=\"\/blog\/wp-content\/themes\/reboot-child\/assets\/images\/incut-strategy-for-beginners-new-v2\/people-3.png\">\r\n                    <span>\u0423\u0436\u0435 \u0441\u043a\u0430\u0447\u0430\u043b\u0438 52300<\/span>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"control control--checkbox\">\r\n            <input type=\"checkbox\" checked=\"checked\" class=\"checked-suc\" id=\"strategy_of_beginners_new_popup_suc\">\r\n            <label class=\"control-checkbox__text\" for=\"strategy_of_beginners_new_popup_suc\">\r\n                \u042f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 <a href=\"https:\/\/gbcdn.mrgcdn.ru\/uploads\/staticpage\/342\/asset\/f5adf9f6d80bab3f627967e4c20b2724.pdf\">\u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/a>.\r\n            <\/label>\r\n            <div class=\"control__indicator\"><\/div>\r\n        <\/div>\r\n\r\n    <\/form>\r\n<\/div>\r\n<div class=\"popup popup__success\" id=\"strategyForBeginnersPopupSuccess\" style=\"display: none\">\r\n    <div class=\"strategy-for-beginners-popup__success\">\r\n        <div class=\"popup-close strategy-for-beginners-popup__success-close\">\r\n            <svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fal\" data-icon=\"times\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 320 512\" class=\"svg-inline--fa fa-times fa-w-10 fa-3x\"><path fill=\"#00000\" d=\"M193.94 256L296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z\" class=\"\"><\/path><\/svg>\r\n        <\/div>\r\n        <p class=\"strategy-for-beginners-popup__success-title\">\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432 \u043f\u043e\u0434\u0430\u0440\u043e\u043a \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443 \u0444\u0430\u0439\u043b\u043e\u0432 \u043e\u0442 GeekBrains, \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435<\/p>\r\n        <div class=\"strategy-for-beginners-popup__success-actions\">\r\n            <a id=\"popupStrategyForBeginnersTarget\" href = \"https:\/\/gb.ru\/a\/a_blog3\" target=\"_blank\" onClick=\"ym(40414440, 'reachGoal', 'clickmodalkavrezkavolchek');\">\u041f\u0435\u0440\u0435\u0439\u0442\u0438<\/a>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<a class=\"prof_link\" style=\"display:none;\" href=\"https:\/\/gb.ru\/a\/a_blog3\" target=\"_blank\">\u0410\u043d\u043a\u0435\u0442\u0430<\/a>\r\n<!-- \/noindex -->\r\n\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 \u0433\u043e\u043b\u043e\u0441\u0430 RHVoice Aleksandr \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u2014 \u0435\u0433\u043e \u0438\u043c\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u043e\u043c \u0438 \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0443 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0433\u043e\u043b\u043e\u0441\u043e\u0432. \u041d\u043e \u0447\u0435\u0440\u0435\u0437 pyttsx3 \u044d\u0442\u043e\u0442 \u0433\u043e\u043b\u043e\u0441 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 Windows. \u0414\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432 Linux \u0435\u043c\u0443 \u043d\u0443\u0436\u0435\u043d\u00a0Speech Dispatcher (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435), \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0443\u043c\u0435\u0435\u0442. \u041a\u0430\u043a \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u00ab\u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u043e\u043c\u00bb \u0435\u0449\u0435 \u043e\u0431\u0441\u0443\u0434\u0438\u043c, \u0430 \u043f\u043e\u043a\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0433\u043e\u043b\u043e\u0441\u0430\u043c\u0438.<\/p>\n<h3>\u041a\u0430\u043a \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441 \u043f\u043e \u0438\u043c\u0435\u043d\u0438<\/h3>\n<p>\u0412 Windows \u0433\u043e\u043b\u043e\u0441 \u0443\u0434\u043e\u0431\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u043e ID, \u0442\u0430\u043a \u0438 \u043f\u043e \u0438\u043c\u0435\u043d\u0438. \u0412 Linux \u043f\u0440\u043e\u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0438\u043b\u0438 \u044f\u0437\u044b\u043a\u043e\u043c \u0433\u043e\u043b\u043e\u0441\u0430. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b set_voice_and_say.py:<\/p>\n<p>import pyttsx3<\/p>\n<p>tts = pyttsx3.init()<\/p>\n<p>voices = tts.getProperty(&#8216;voices&#8217;)<\/p>\n<p># \u0417\u0430\u0434\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/p>\n<p>tts.setProperty(&#8216;voice&#8217;, &#8216;ru&#8217;)<\/p>\n<p># \u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0433\u043e\u043b\u043e\u0441<\/p>\n<p>for voice in voices:<\/p>\n<p>if voice.name == &#8216;Aleksandr&#8217;:<\/p>\n<p>tts.setProperty(&#8216;voice&#8217;, voice.id)<\/p>\n<p>tts.say(&#8216;\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u044b\u0439 \u0433\u043e\u043b\u043e\u0441 \u0432\u044b\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e, \u0442\u043e\u0432\u0430\u0440\u0438\u0449 \u0433\u0435\u043d\u0435\u0440\u0430\u043b-\u043f\u043e\u043b\u043a\u043e\u0432\u043d\u0438\u043a!&#8217;)<\/p>\n<p>tts.runAndWait()<\/p>\n<p>\u0412 Windows \u0432\u044b \u0443\u0441\u043b\u044b\u0448\u0438\u0442\u0435 \u0433\u043e\u043b\u043e\u0441 Aleksandr, \u0430 \u0432 Linux \u2014 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 eSpeak. \u0415\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0433\u043e\u043b\u043e\u0441, \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430\u0441 \u0436\u0434\u0430\u043b\u0430 \u0431\u044b \u0442\u0438\u0448\u0438\u043d\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043f\u043e-\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438.<\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: tts.say() \u043d\u0435 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e, \u0430 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0438\u0445 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0437\u0430\u0442\u0435\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 tts.runAndWait().<\/p>\n<h3>\u0412\u044b\u0431\u043e\u0440 \u0433\u043e\u043b\u043e\u0441\u0430 \u043f\u043e ID<\/h3>\n<p>\u0427\u0430\u0441\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0433\u043e\u043b\u043e\u0441\u0430 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0438\u043c\u0435\u043d\u0430\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0434\u0435\u0436\u043d\u0435\u0435 \u0438\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0433\u043e\u043b\u043e\u0441 \u043f\u043e ID.<\/p>\n<p>\u0417\u0430\u043c\u0435\u043d\u0438\u043c \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435 \u043a\u043e\u0434\u0430:<\/p>\n<p>for voice in voices:<\/p>\n<p>ru = voice.id.find(&#8216;RHVoice\\Anna&#8217;)\u00a0 # \u041d\u0430\u0439\u0442\u0438 \u0410\u043d\u043d\u0443 \u043e\u0442 RHVoice<\/p>\n<p>if ru &gt; -1: # E\u0441\u043b\u0438 \u043d\u0430\u0448\u043b\u0438, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u044d\u0442\u043e\u0442 \u0433\u043e\u043b\u043e\u0441<\/p>\n<p>tts.setProperty(&#8216;voice&#8217;, voice.id)<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432 Windows \u043c\u044b \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0435\u043c \u0433\u043e\u043b\u043e\u0441\u0430 Anna \u043e\u0442 Microsoft \u0438 RHVoice. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u043e\u0438\u0441\u043a\u0443 \u0432 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0435 \u043d\u0430\u043c \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 ID \u0433\u043e\u043b\u043e\u0441\u0430.<\/p>\n<p>\u041d\u043e \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u0434\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043e\u0439. \u0412\u044b\u0448\u0435 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 list_voices.py \u2014 \u043e\u043d \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0433\u043e\u043b\u043e\u0441\u0430 \u0432 \u041e\u0421. \u0422\u043e\u0433\u0434\u0430-\u0442\u043e \u0432\u044b \u0438 \u043c\u043e\u0433\u043b\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 Windows \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c \u0441\u043b\u0443\u0436\u0438\u0442 \u0430\u0434\u0440\u0435\u0441 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c \u0440\u0435\u0435\u0441\u0442\u0440\u0435:<\/p>\n<p>import pyttsx3<\/p>\n<p>tts = pyttsx3.init()<\/p>\n<p>EN_VOICE_ID = &#171;HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices\\Tokens\\MS-Anna-1033-20DSK&#187;<\/p>\n<p>RU_VOICE_ID = &#171;HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices\\TokenEnums\\RHVoice\\Anna&#187;<\/p>\n<p># \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u0433\u043e\u043b\u043e\u0441<\/p>\n<p>tts.setProperty(&#8216;voice&#8217;, EN_VOICE_ID)<\/p>\n<p>tts.say(&#171;Can you hear me say it&#8217;s a lovely day?&#187;)<\/p>\n<p># \u0422\u0435\u043f\u0435\u0440\u044c \u2014 \u0440\u0443\u0441\u0441\u043a\u0438\u0439<\/p>\n<p>tts.setProperty(&#8216;voice&#8217;, RU_VOICE_ID)<\/p>\n<p>tts.say(&#171;\u0410 \u043d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u044f \u0441\u043a\u0430\u0436\u0443&#187;)<\/p>\n<p>tts.runAndWait()<\/p>\n<h2>\u041a\u0430\u043a \u043e\u0437\u0432\u0443\u0447\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432 Windows \u0438 Linux<\/h2>\n<p id=\"3\"><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16165\" src=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-144-1wgj3gg.jpg\" alt=\"\u041a\u0430\u043a \u043e\u0437\u0432\u0443\u0447\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432 Windows \u0438 Linux\" width=\"800\" height=\"450\" srcset=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-144-1wgj3gg.jpg 800w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-144-1wgj3gg-300x169.jpg 300w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-144-1wgj3gg-768x432.jpg 768w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-144-1wgj3gg-711x400.jpg 711w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><meta itemprop=\"width\" content=\"800\"><meta itemprop=\"height\" content=\"450\"><\/span><\/p>\n<p>\u042d\u0442\u043e \u043a\u0440\u043e\u0448\u0435\u0447\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443 \u043f\u0440\u043e\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0447\u0430\u0441\u0430\u043c. \u0422\u043e\u0447\u043d\u0435\u0435, \u043e\u043d\u043e \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u043c\u0435\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 14:59:59, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u043a\u0443\u043d\u0434\u0443.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u0438\u043c\u0435\u043d\u0435\u043c time_tts.py. \u0412\u0441\u0435\u0433\u043e, \u0447\u0442\u043e \u043c\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438 \u0432\u044b\u0448\u0435, \u0434\u043e\u043b\u0436\u043d\u043e \u0445\u0432\u0430\u0442\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u0440\u043e\u0447\u043b\u0438 \u0438 \u043f\u043e\u043d\u044f\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434:<\/p>\n<p># \u00ab\u0413\u043e\u0432\u043e\u0440\u044f\u0449\u0438\u0435 \u0447\u0430\u0441\u044b\u00bb \u2014 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f<\/p>\n<p>from datetime import datetime, date, time<\/p>\n<p>import pyttsx3, time<\/p>\n<p>tts = pyttsx3.init()<\/p>\n<p>tts.setProperty(&#8216;voice&#8217;, &#8216;ru&#8217;)\u00a0 # \u041d\u0430\u0448 \u0433\u043e\u043b\u043e\u0441 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/p>\n<p>tts.setProperty(&#8216;rate&#8217;, 150)\u00a0 \u00a0 # \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432 % (\u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c &gt; 100)<\/p>\n<p>tts.setProperty(&#8216;volume&#8217;, 0.8)\u00a0 # \u0413\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u044c (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0442 0 \u0434\u043e 1)<\/p>\n<p>def set_voice(): # \u041d\u0430\u0439\u0442\u0438 \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0433\u043e\u043b\u043e\u0441 \u043f\u043e \u0438\u043c\u0435\u043d\u0438<\/p>\n<p>voices = tts.getProperty(&#8216;voices&#8217;)<\/p>\n<p>for voice in voices:<\/p>\n<p>if voice.name == &#8216;Aleksandr&#8217;:<\/p>\n<p>tts.setProperty(&#8216;voice&#8217;, voice.id)<\/p>\n<p>else:<\/p>\n<p>pass<\/p>\n<p>def say_time(msg): # \u0424\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435<\/p>\n<p>set_voice() # \u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u043e\u043b\u043e\u0441<\/p>\n<p>tts.say(msg)<\/p>\n<p>tts.runAndWait() # \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0440\u0435\u043f\u043b\u0438\u043a \u0438 \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0440\u0435\u0447\u0438<\/p>\n<p>while True:<\/p>\n<p>time_checker = datetime.now() # \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e datetime<\/p>\n<p>if time_checker.second == 0:<\/p>\n<p>say_time(&#8216;{h} {m}&#8217;.format(h=time_checker.hour, m=time_checker.minute))<\/p>\n<p>time.sleep(55)<\/p>\n<p>else:<\/p>\n<p>pass<\/p>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u043a\u0430 \u0432\u044b \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0435\u0435 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0432\u0438\u0448 Ctrl+Break \u0438\u043b\u0438 Ctrl+C (\u0432 Windows \u0438 Linux \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e).<\/p>\n<div class=\"gray-bg-block border\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c: \u0447\u0442\u043e\u0431\u044b \u0443\u043b\u043e\u0432\u0438\u0442\u044c \u0441\u043c\u0435\u043d\u0443 \u043c\u0438\u043d\u0443\u0442\u044b, \u0441\u043b\u0435\u0434\u0438\u043c \u0437\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u0435\u043a\u0443\u043d\u0434 \u0438 \u0436\u0434\u0435\u043c, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u043d\u043e \u043d\u0443\u043b\u044e. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0432\u0440\u0435\u043c\u044f \u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0431\u0435\u0440\u0435\u0447\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0441\u043f\u0430\u0442\u044c \u043d\u0430 55 \u0441\u0435\u043a\u0443\u043d\u0434. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u043d\u0430 \u0441\u043d\u043e\u0432\u0430 \u043d\u0430\u0447\u043d\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u0436\u0434\u0430\u0442\u044c \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0441\u0435\u043a\u0443\u043d\u0434\u044b.<\/div>\n<p>\u0414\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 pyttsx3 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u0432\u00a0<a href=\"https:\/\/pyttsx3.readthedocs.io\/en\/latest\/index.html\" target=\"_blank\" rel=\"nofollow noopener\">\u0430\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e<\/a>, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435\u00a0<a href=\"https:\/\/pyttsx3.readthedocs.io\/en\/latest\/engine.html#pyttsx3.init\" target=\"_blank\" rel=\"nofollow noopener\">\u0441\u043f\u0440\u0430\u0432\u043a\u0443 \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0443<\/a>\u00a0\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b. \u0410 \u043f\u043e\u043a\u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b.<\/p>\n<h2>\u041e\u0431\u0435\u0440\u0442\u043a\u0430 \u0434\u043b\u044f eSpeak NG<\/h2>\n<p id=\"4\">\u041c\u043e\u0434\u0443\u043b\u044c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f py-espeak-ng. \u042d\u0442\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 pyttsx3 \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0438\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440 \u2014 eSpeak NG. \u041d\u0435 \u0434\u0430\u0439 \u0431\u043e\u0433, \u043a\u043e\u043d\u0435\u0447\u043d\u043e. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u0433\u043e\u043b\u043e\u0441\u043e\u043c \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0436\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442. \u041f\u0440\u0438\u043d\u0446\u0438\u043f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0432\u0430\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u043c:<\/p>\n<p>from espeakng import ESpeakNG<\/p>\n<p>engine = ESpeakNG()<\/p>\n<p>engine.speed = 150<\/p>\n<p>engine.say(&#171;I&#8217;d like to be under the sea. In an octopus&#8217;s garden, in the shade!&#187;, sync=True)<\/p>\n<p>engine.speed = 95<\/p>\n<p>engine.pitch = 32<\/p>\n<p>engine.voice = &#8216;russian&#8217;<\/p>\n<p>engine.say(&#8216;\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0413\u043e\u0440\u0431\u0430\u0442\u044b\u0439!&#8217;, sync=True)<\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u043f\u043b\u0438\u043a sync=True. \u0411\u0435\u0437 \u043d\u0435\u0433\u043e \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440 \u043d\u0430\u0447\u043d\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0441\u0435 \u0444\u0440\u0430\u0437\u044b \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u2014 \u0432\u043f\u0435\u0440\u0435\u043c\u0435\u0448\u043a\u0443. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 pyttsx3, \u043e\u0431\u0435\u0440\u0442\u043a\u0430 espeakng \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 runAndWait(), \u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 sync \u0441\u0431\u0438\u0432\u0430\u0435\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0447\u0442\u0435\u043d\u0438\u044f.<\/p>\n<h3>\u041e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430<\/h3>\n<p>\u041d\u0435 \u0431\u0443\u0434\u0435\u043c \u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u2014 \u043f\u043e\u0440\u0430 \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0431\u0440\u0430\u0442\u044c \u0438\u0445 \u0438\u0437\u0432\u043d\u0435. \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e. \u0412 \u043f\u0430\u043f\u043a\u0435, \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u043c\u0438 \u0441\u043a\u0440\u0438\u043f\u0442, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b test.txt \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0438 \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 UTF-8. \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u043a\u043e\u043d\u0435\u0446 \u043a\u043e\u0434\u0430 \u0442\u0430\u043a\u043e\u0439 \u0431\u043b\u043e\u043a:<\/p>\n<p>text_file = open(&#171;test.txt&#187;, &#171;r&#187;)<\/p>\n<p>data = text_file.read()<\/p>\n<p>tts.say(data, sync=True)<\/p>\n<p>text_file.close()<\/p>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435, \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e data, \u0437\u0430\u0442\u0435\u043c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c \u0433\u043e\u043b\u043e\u0441\u043e\u043c \u0432\u0441\u0435, \u0447\u0442\u043e \u0432 \u043d\u0435\u0439 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b.<\/p>\n<h2>\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0435\u0447\u044c\u044e \u0447\u0435\u0440\u0435\u0437 Speech Dispatcher \u0432 Linux<\/h2>\n<p id=\"5\">\u0414\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 Linux \u0432\u044b\u0432\u043e\u0434\u0438\u043b\u0441\u044f \u043e\u0434\u0438\u043d \u0441\u0443\u0440\u043e\u0432\u044b\u0439 eSpeak. \u041f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u0434\u0440\u0443\u0437\u044c\u044f\u0445 Tux\u2019\u0430 \u0438 \u043f\u043e\u0440\u0430\u0434\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u043c\u0438 \u0433\u043e\u043b\u043e\u0441\u0430\u043c\u0438 RHVoice. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f Speech Dispatcher \u2014 \u0430\u043d\u0430\u043b\u043e\u0433 MS SAPI. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0441\u0435\u043c\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u043c\u0438 \u0434\u0432\u0438\u0436\u043a\u0430\u043c\u0438 \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0438\u0437 \u043d\u0438\u0445 \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e Speech Dispatcher \u0435\u0441\u0442\u044c \u0443 \u0432\u0430\u0441 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0427\u0442\u043e\u0431\u044b \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u043c\u0443 \u0438\u0437 \u043a\u043e\u0434\u0430 Python, \u043d\u0430\u0434\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c speechd:<\/p>\n<p>sudo apt install python3-speechd<\/p>\n<p>\u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440 RHVoice \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u00ab\u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0430\u00bb \u0438 \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0442\u0435\u043a\u0441\u0442:<\/p>\n<p>import speechd<\/p>\n<p>tts_d = speechd.SSIPClient(&#8216;test&#8217;)<\/p>\n<p>tts_d.set_output_module(&#8216;rhvoice&#8217;)<\/p>\n<p>tts_d.set_language(&#8216;ru&#8217;)<\/p>\n<p>tts_d.set_rate(50)<\/p>\n<p>tts_d.set_punctuation(speechd.PunctuationMode.SOME)<\/p>\n<p>tts_d.speak(&#8216;\u0418 \u043d\u0435\u0436\u043d\u044b\u0439 \u0432\u043a\u0443\u0441 \u0440\u043e\u0434\u0438\u043c\u043e\u0439 \u0440\u0435\u0447\u0438 \u0442\u0430\u043a \u0447\u0438\u0441\u0442\u043e \u0433\u0443\u0431\u044b \u0445\u043e\u043b\u043e\u0434\u0438\u0442&#8217;)<\/p>\n<p>tts_d.close()<\/p>\n<div class=\"green-bg-border-block border\">\u0423\u0440\u0430! \u041d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u043d\u0430\u0448\u0435 Linux-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0433\u043e\u043b\u043e\u0441\u043e\u043c, \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043d\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0439. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434 .set_output_module() \u2014 \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a, \u0431\u0443\u0434\u044c \u0442\u043e espeak, rhvoice \u0438\u043b\u0438 festival. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0447\u0442\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0433\u043e\u043b\u043e\u0441\u043e\u043c, \u043f\u0440\u0435\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u044f\u0437\u044b\u043a \u2014 \u0433\u043e\u043b\u043e\u0441\u043e\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430.<\/div>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u0430 RHVoice, \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c pyttsx3 \u0438 speechd: \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0432 \u043a\u0430\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430\u0448 \u043a\u043e\u0434, \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c SAPI \u0438\u043b\u0438 Speech Dispatcher. \u0410 \u0432 \u043b\u044e\u0431\u043e\u0439 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u2014 \u043e\u0442\u043a\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043d\u0435\u043a\u0430\u0437\u0438\u0441\u0442\u044b\u0439, \u043d\u043e \u0432\u0435\u0437\u0434\u0435\u0445\u043e\u0434\u043d\u044b\u0439 eSpeak.<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u043d\u0430\u0442\u044c, \u0433\u0434\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u041e\u0421 \u0438 \u0435\u0435 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043b\u0435\u0433\u043a\u043e! \u041b\u0438\u0447\u043d\u043e \u044f \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c platform, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c:<\/p>\n<p>import platform<\/p>\n<p>system = platform.system() # \u0412\u0435\u0440\u043d\u0435\u0442 \u0442\u0438\u043f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<p>bit = platform.architecture() # \u0412\u0435\u0440\u043d\u0435\u0442 \u043a\u043e\u0440\u0442\u0435\u0436, \u0433\u0434\u0435 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u2014 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442<\/p>\n<p>print(system)<\/p>\n<p>print(bit[0])<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430:<\/p>\n<p>Windows<\/p>\n<p>64bit<\/p>\n<p>\u041a\u0441\u0442\u0430\u0442\u0438, \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u0448\u0430\u0442\u044c \u0432\u0441\u0435 \u0437\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u041d\u0430 \u0431\u0430\u0437\u0435 pyttsx3 \u0432\u044b \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u0442\u0435 \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u043e\u0440\u0430 \u0433\u043e\u043b\u043e\u0441\u0430 \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0430\u043a\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438, \u043a\u0430\u043a \u0432\u044b\u0441\u043e\u0442\u0430 \u0433\u043e\u043b\u043e\u0441\u0430, \u0433\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u044c \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0435\u0447\u0438.<\/p>\n<h2>\u041c\u043e\u0434\u0443\u043b\u044c Google TTS \u2014 \u0433\u043e\u043b\u043e\u0441\u0430 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430<\/h2>\n<p id=\"6\"><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16162\" src=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-84-v1h73y.jpg\" alt=\"\u041c\u043e\u0434\u0443\u043b\u044c Google TTS \u2014 \u0433\u043e\u043b\u043e\u0441\u0430 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430\" width=\"800\" height=\"400\" srcset=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-84-v1h73y.jpg 800w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-84-v1h73y-300x150.jpg 300w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-84-v1h73y-768x384.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><meta itemprop=\"width\" content=\"800\"><meta itemprop=\"height\" content=\"400\"><\/span><\/p>\n<p>Google \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0437\u0432\u0443\u0447\u043a\u0443 \u0442\u0435\u043a\u0441\u0442\u0430 \u0441 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0432 mp3-\u0444\u0430\u0439\u043b. \u042d\u0442\u043e \u043d\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438:<\/p>\n<ul>\n<li>\u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043d\u0443\u0436\u0435\u043d \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442;<\/li>\n<li>\u043d\u0435\u043b\u044c\u0437\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0430\u0443\u0434\u0438\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0441\u0430\u043c\u043e\u0433\u043e gtts;<\/li>\n<li>\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u043d\u0438\u0436\u0435, \u0447\u0435\u043c \u0443 \u043e\u0444\u043b\u0430\u0439\u043d-\u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u043e\u0432.<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0433\u043e\u043b\u043e\u0441\u043e\u0432, \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u0438 \u0444\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u0437\u0432\u0443\u0447\u0430\u0442 \u043e\u0447\u0435\u043d\u044c \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u043e. \u0420\u0443\u0441\u0441\u043a\u0438\u0439 \u0433\u043e\u043b\u043e\u0441 \u0413\u0443\u0433\u043b\u0430 \u2014 \u0434\u0435\u0432\u0443\u0448\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0430\u0440\u0442\u0430\u0432\u0438\u0442 \u0438 \u0432\u0434\u043e\u0431\u0430\u0432\u043e\u043a \u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442 \u00ab\u0446\u00bb \u043a\u0430\u043a \u00ab\u0447\u00bb. \u041f\u043e \u044d\u0442\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u0435\u0439 \u043b\u0443\u0447\u0448\u0435 \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435 \u0430\u0443\u0434\u0438\u043e\u043a\u043d\u0438\u0433, \u0438\u043c\u0435\u043d \u0438 \u0442\u043e\u043f\u043e\u043d\u0438\u043c\u043e\u0432.<\/p>\n<p>\u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u043d\u044e\u0430\u043d\u0441. \u041a\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043a\u043e\u0434\u043e\u043c, \u043d\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u00abgtts.py\u00bb \u2014 \u043e\u043d \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c! \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043b\u044e\u0431\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435 \u0438\u043c\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 use_gtts.py.<\/p>\n<p>\u041f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u0432 \u0430\u0443\u0434\u0438\u043e\u0444\u0430\u0439\u043b:<\/p>\n<p>from gtts import gTTS<\/p>\n<p>tts = gTTS(&#8216;\u0418\u0432\u0430\u043d \u0424\u0435\u0434\u043e\u0440\u043e\u0432\u0438\u0447 \u041a\u0440\u0443\u0437\u0435\u043d\u0448\u0442\u0435\u0440\u043d. \u0427\u0435\u043b\u043e\u0432\u0435\u043a \u0438 \u043f\u0430\u0440\u043e\u0445\u043e\u0434!&#8217;, lang=&#8217;ru&#8217;)<\/p>\n<p>tts.save(&#8216;tts_output.mp3&#8217;)<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, \u0433\u0434\u0435 \u043b\u0435\u0436\u0438\u0442 \u0441\u043a\u0440\u0438\u043f\u0442, \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u044c. \u0427\u0442\u043e\u0431\u044b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0444\u0430\u0439\u043b \u00ab\u043d\u0435 \u043e\u0442\u0445\u043e\u0434\u044f \u043e\u0442 \u043a\u0430\u0441\u0441\u044b\u00bb, \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0435 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u0438\u043b\u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a. \u0413\u043e\u0434\u0438\u0442\u0441\u044f pygame \u0438\u043b\u0438 pyglet.<\/p>\n<p>\u0412\u043e\u0442 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u00a0<a href=\"https:\/\/solkogan.ru\/python.php?mode=view2&amp;mid=20\" target=\"_blank\" rel=\"nofollow noopener\">\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e \u0447\u0438\u0442\u0430\u0435\u0442 txt-\u0444\u0430\u0439\u043b\u044b<\/a>\u00a0\u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0432\u044f\u0437\u043a\u0438 gtts \u0438 PyGame. \u042f \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0430, \u0447\u0442\u043e \u0434\u043b\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0442\u0435\u043a\u0441\u0442 \u0438\u0437 text.txt \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 Windows-1251 (ANSI).<\/p>\n<h2>\u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u0447\u0435\u0440\u0435\u0437 NVDA<\/h2>\n<p id=\"7\"><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-16169\" src=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-1fuanux-1.jpg\" alt=\"\u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u0447\u0435\u0440\u0435\u0437 NVDA\" width=\"800\" height=\"651\" srcset=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-1fuanux-1.jpg 800w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-1fuanux-1-300x244.jpg 300w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-1fuanux-1-768x625.jpg 768w, https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/mini_magick20190829-159-1fuanux-1-492x400.jpg 492w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><meta itemprop=\"width\" content=\"800\"><meta itemprop=\"height\" content=\"651\"><\/span><\/p>\n<p>\u041c\u044b \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u043e\u0432. \u041d\u043e \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u044d\u0442\u0430 \u0444\u0438\u0448\u043a\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430, \u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u0447\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u0430\u043a \u043e\u043f\u0446\u0438\u044e \u0434\u043b\u044f \u0441\u043b\u0430\u0431\u043e\u0432\u0438\u0434\u044f\u0449\u0438\u0445? \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u043d\u0438\u044f: \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u2014 \u044d\u043a\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u0434\u0438\u043a\u0442\u043e\u0440\u0443.<\/p>\n<p>\u041e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u044d\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0432 Windows \u2014\u00a0<a href=\"https:\/\/www.nvaccess.org\/download\/\">\u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f NVDA<\/a>. \u0414\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u0441 \u043d\u0435\u0439 \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 nvdaControllerClient (\u0435\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0434\u043b\u044f 32- \u0438 64-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c). \u0423\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432\u044b \u0443\u0436\u0435 \u0443\u043c\u0435\u0435\u0442\u0435.<\/p>\n<p>\u0415\u0449\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u043a\u0440\u0430\u043d\u043d\u044b\u043c \u0434\u0438\u043a\u0442\u043e\u0440\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u0438 ctypes \u0438 time. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b nvda.py, \u0433\u0434\u0435 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c \u0441\u0432\u044f\u0437\u0438 \u0441 NVDA:<\/p>\n<p>import time, ctypes, platform<\/p>\n<p># \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 NVDA<\/p>\n<p>bit = platform.architecture()<\/p>\n<p>if bit[0] == &#8217;32bit&#8217;:<\/p>\n<p>clientLib = ctypes.windll.LoadLibrary(&#8216;nvdaControllerClient32.dll&#8217;)<\/p>\n<p>elif bit[0] == &#8217;64bit&#8217;:<\/p>\n<p>clientLib = ctypes.windll.LoadLibrary(&#8216;nvdaControllerClient64.dll&#8217;)<\/p>\n<p>else:<\/p>\n<p>errorMessage=str(ctypes.WinError(res))<\/p>\n<p>ctypes.windll.user32.MessageBoxW(0,u&#187;\u041e\u0448\u0438\u0431\u043a\u0430! \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b!&#187;,0)<\/p>\n<p># \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u043b\u0438 NVDA<\/p>\n<p>res = clientLib.nvdaController_testIfRunning()<\/p>\n<p>if res != 0:<\/p>\n<p>errorMessage=str(ctypes.WinError(res))<\/p>\n<p>ctypes.windll.user32.MessageBoxW(0,u&#187;\u041e\u0448\u0438\u0431\u043a\u0430: %s&#187;%errorMessage,u&#187;\u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a NVDA&#187;,0)<\/p>\n<p>def say(msg):<\/p>\n<p>clientLib.nvdaController_speakText(msg)<\/p>\n<p>time.sleep(1.0)<\/p>\n<p>def close_speech():<\/p>\n<p>clientLib.nvdaController_cancelSpeech()<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u0443 \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0432 \u043a\u043e\u0434\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b:<\/p>\n<p>import nvda<\/p>\n<p>nvda.say(&#8216;\u041d\u0430\u0447\u0430\u0442\u044c \u0438\u0433\u0440\u0443&#8217;)<\/p>\n<p># \u2026 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0438\u043b\u0438 \u0441\u043e\u043d<\/p>\n<p>nvda.close_speech()<\/p>\n<p>\u0415\u0441\u043b\u0438 NVDA \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u0430, \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u0434\u0430 \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u043e\u043a\u043e\u0448\u043a\u043e \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435, \u0430 \u0435\u0441\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u2014 \u0443\u0441\u043b\u044b\u0448\u0438\u043c \u043e\u0442 \u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442.<\/p>\n<p>\u041f\u043b\u044e\u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0435\u0437\u0440\u044f\u0447\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u044b\u0448\u0430\u0442\u044c \u0442\u043e\u0442 \u0433\u043e\u043b\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0430\u043c \u0432\u044b\u0431\u0440\u0430\u043b \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b \u0432 NVDA.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p id=\"8\">\u0412\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0443\u0436\u0435 \u0433\u043b\u0430\u0433\u043e\u043b\u0435\u0442 \u0443\u0441\u0442\u0430\u043c\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u043e\u0432? \u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e! \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u044d\u0442\u043e \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u043e \u0438 \u00ab\u0432 \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0435 \u0434\u0430\u0436\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0439\u00bb. \u0415\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0430\u0434\u0443\u044e\u0442 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f TTS \u0432 \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u0412\u0441\u0435, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043a\u0430\u043a \u0442\u0435\u043a\u0441\u0442, \u043c\u043e\u0436\u043d\u043e \u0438 \u043e\u0437\u0432\u0443\u0447\u0438\u0442\u044c.<\/p>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 \u0441 \u044d\u043a\u0440\u0430\u043d\u043e\u043c \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0438\u043b\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0430 \u0441\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043f\u043e \u0440\u0435\u0447\u0435\u0432\u044b\u043c \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430\u043c, \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u0448\u0442\u0430\u0442\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443. \u0418\u043b\u0438 \u043a\u0430\u043a \u043d\u0430\u0441\u0447\u0435\u0442 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u043f\u043e\u0447\u0442\u044b, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043d\u0435 \u0437\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u043e\u043c? \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435, \u043a\u043e\u0433\u0434\u0430, \u043d\u0430 \u0432\u0430\u0448 \u0432\u0437\u0433\u043b\u044f\u0434, TTS \u043f\u043e\u043b\u0435\u0437\u043d\u0430, \u0430 \u043a\u043e\u0433\u0434\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0430\u0435\u0442. \u0413\u043e\u0432\u043e\u0440\u044f\u0449\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0431\u044b \u0432\u0430\u043c?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f: \u0413\u043e\u0442\u043e\u0432\u0438\u043c \u043f\u043e\u043b\u044f\u043d\u0443 \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 pyttsx3 \u041a\u0430\u043a \u043e\u0437\u0432\u0443\u0447\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432 Windows \u0438 Linux \u041e\u0431\u0435\u0440\u0442\u043a\u0430 \u0434\u043b\u044f eSpeak NG \u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0435\u0447\u044c\u044e \u0447\u0435\u0440\u0435\u0437 Speech Dispatcher \u0432 Linux \u041c\u043e\u0434\u0443\u043b\u044c Google TTS \u2014 \u0433\u043e\u043b\u043e\u0441\u0430 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u0447\u0435\u0440\u0435\u0437 NVDA \u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0421\u0438\u043d\u0442\u0435\u0437 \u0440\u0435\u0447\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432\u0430\u043c \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u043c, \u0443\u043c\u043d\u044b\u043c \u0434\u043e\u043c\u043e\u043c \u043d\u0430 Raspberry Pi,\u00a0\u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u043e\u043c, \u0438\u0433\u0440\u043e\u0439, [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":16168,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?<\/title>\n<meta name=\"description\" content=\"\u041e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u043b\u044e\u0431\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u0432 Windows \u0438 Linux. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c pytts3, espeak, RHVoice, gTTS, Speech dispatcher.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?\" \/>\n<meta property=\"og:description\" content=\"\u041e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u043b\u044e\u0431\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u0432 Windows \u0438 Linux. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c pytts3, espeak, RHVoice, gTTS, Speech dispatcher.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/\" \/>\n<meta property=\"og:site_name\" content=\"GeekBrains\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-29T10:47:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-06T15:45:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/luchshie-knigi-po-python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"550\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u043c\u0438\u043d\u0443\u0442\u044b\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/\"},\"author\":{\"name\":\"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f\",\"@id\":\"https:\/\/gb.ru\/blog\/#\/schema\/person\/5024763dc5b29700032d4627ed96e8e8\"},\"headline\":\"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?\",\"datePublished\":\"2019-08-29T10:47:23+00:00\",\"dateModified\":\"2023-12-06T15:45:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/\"},\"wordCount\":2826,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/gb.ru\/blog\/#organization\"},\"articleSection\":[\"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\"],\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/\",\"url\":\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/\",\"name\":\"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?\",\"isPartOf\":{\"@id\":\"https:\/\/gb.ru\/blog\/#website\"},\"datePublished\":\"2019-08-29T10:47:23+00:00\",\"dateModified\":\"2023-12-06T15:45:06+00:00\",\"description\":\"\u041e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u043b\u044e\u0431\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u0432 Windows \u0438 Linux. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c pytts3, espeak, RHVoice, gTTS, Speech dispatcher.\",\"breadcrumb\":{\"@id\":\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/gb.ru\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/gb.ru\/blog\/#website\",\"url\":\"https:\/\/gb.ru\/blog\/\",\"name\":\"GeekBrains\",\"description\":\"\u0411\u043b\u043e\u0433\",\"publisher\":{\"@id\":\"https:\/\/gb.ru\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gb.ru\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/gb.ru\/blog\/#organization\",\"name\":\"\u041e\u041e\u041e \u00ab\u0413\u0438\u043a\u0411\u0440\u0435\u0438\u043d\u0441\u00bb\",\"url\":\"https:\/\/gb.ru\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/gb.ru\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2021\/10\/Logo-geekbrains.png\",\"contentUrl\":\"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2021\/10\/Logo-geekbrains.png\",\"width\":234,\"height\":29,\"caption\":\"\u041e\u041e\u041e \u00ab\u0413\u0438\u043a\u0411\u0440\u0435\u0438\u043d\u0441\u00bb\"},\"image\":{\"@id\":\"https:\/\/gb.ru\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/gb.ru\/blog\/#\/schema\/person\/5024763dc5b29700032d4627ed96e8e8\",\"name\":\"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/gb.ru\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a54fc60a08e07424ac45b4e7cb7b47b3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a54fc60a08e07424ac45b4e7cb7b47b3?s=96&d=mm&r=g\",\"caption\":\"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f\"},\"url\":\"https:\/\/gb.ru\/blog\/author\/mariya-lisyanskaya\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?","description":"\u041e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u043b\u044e\u0431\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u0432 Windows \u0438 Linux. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c pytts3, espeak, RHVoice, gTTS, Speech dispatcher.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/","og_locale":"ru_RU","og_type":"article","og_title":"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?","og_description":"\u041e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u043b\u044e\u0431\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u0432 Windows \u0438 Linux. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c pytts3, espeak, RHVoice, gTTS, Speech dispatcher.","og_url":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/","og_site_name":"GeekBrains","article_published_time":"2019-08-29T10:47:23+00:00","article_modified_time":"2023-12-06T15:45:06+00:00","og_image":[{"width":1920,"height":550,"url":"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2023\/08\/luchshie-knigi-po-python.jpg","type":"image\/jpeg"}],"author":"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f","twitter_card":"summary_large_image","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"4 \u043c\u0438\u043d\u0443\u0442\u044b"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/#article","isPartOf":{"@id":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/"},"author":{"name":"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f","@id":"https:\/\/gb.ru\/blog\/#\/schema\/person\/5024763dc5b29700032d4627ed96e8e8"},"headline":"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?","datePublished":"2019-08-29T10:47:23+00:00","dateModified":"2023-12-06T15:45:06+00:00","mainEntityOfPage":{"@id":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/"},"wordCount":2826,"commentCount":0,"publisher":{"@id":"https:\/\/gb.ru\/blog\/#organization"},"articleSection":["\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"],"inLanguage":"ru-RU","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/","url":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/","name":"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?","isPartOf":{"@id":"https:\/\/gb.ru\/blog\/#website"},"datePublished":"2019-08-29T10:47:23+00:00","dateModified":"2023-12-06T15:45:06+00:00","description":"\u041e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u043b\u044e\u0431\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u0432 Windows \u0438 Linux. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c pytts3, espeak, RHVoice, gTTS, Speech dispatcher.","breadcrumb":{"@id":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gb.ru\/blog\/kak-sdelat-govoryashchuyu-programmu-na-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/gb.ru\/blog\/"},{"@type":"ListItem","position":2,"name":"\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 Python \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e?"}]},{"@type":"WebSite","@id":"https:\/\/gb.ru\/blog\/#website","url":"https:\/\/gb.ru\/blog\/","name":"GeekBrains","description":"\u0411\u043b\u043e\u0433","publisher":{"@id":"https:\/\/gb.ru\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gb.ru\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ru-RU"},{"@type":"Organization","@id":"https:\/\/gb.ru\/blog\/#organization","name":"\u041e\u041e\u041e \u00ab\u0413\u0438\u043a\u0411\u0440\u0435\u0438\u043d\u0441\u00bb","url":"https:\/\/gb.ru\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/gb.ru\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2021\/10\/Logo-geekbrains.png","contentUrl":"https:\/\/gb.ru\/blog\/wp-content\/uploads\/2021\/10\/Logo-geekbrains.png","width":234,"height":29,"caption":"\u041e\u041e\u041e \u00ab\u0413\u0438\u043a\u0411\u0440\u0435\u0438\u043d\u0441\u00bb"},"image":{"@id":"https:\/\/gb.ru\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/gb.ru\/blog\/#\/schema\/person\/5024763dc5b29700032d4627ed96e8e8","name":"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/gb.ru\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a54fc60a08e07424ac45b4e7cb7b47b3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a54fc60a08e07424ac45b4e7cb7b47b3?s=96&d=mm&r=g","caption":"\u041c\u0430\u0440\u0438\u044f \u041b\u0438\u0441\u044f\u043d\u0441\u043a\u0430\u044f"},"url":"https:\/\/gb.ru\/blog\/author\/mariya-lisyanskaya\/"}]}},"_links":{"self":[{"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/posts\/16159"}],"collection":[{"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/comments?post=16159"}],"version-history":[{"count":4,"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/posts\/16159\/revisions"}],"predecessor-version":[{"id":22218,"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/posts\/16159\/revisions\/22218"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/media\/16168"}],"wp:attachment":[{"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/media?parent=16159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/categories?post=16159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gb.ru\/blog\/wp-json\/wp\/v2\/tags?post=16159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}