Как стать автором
Обновить
-14
Карма
0
Рейтинг

Пользователь

Теперь наш синтез на 20 языках

Машинное обучение *DIY или Сделай сам Звук Natural Language Processing *Голосовые интерфейсы *
✏️ Технотекст 2022

hero_image


В нашей прошлой статье мы ускорили наши модели в 10 раз, добавили новые высококачественные голоса и управление с помощью SSML, возможность генерировать аудио с разной частотой дискретизации и много других фишек.


В этот раз мы добавили:


  • 1 высококачественный голос на русском языке (eugeny);
  • Синтез на 20 языках, 174 голоса;
  • В список языков входят 5 языков народов СНГ: калмыцкий, русский, татарский, узбекский и украинский;
  • В список языков входят 5 вариаций на тему романо-германских языков: английский, индийский английский, испанский, немецкий, французский;
  • Также в список языков входят 10 языков народов Индии;
  • Новую значительно улучшенную модель для простановки ударений и буквы ё со словарем в 4 миллиона слов и точностью 100% (но естественно с рядом оговорок);
  • Все модели наследуют все "фишки" прошлого релиза, кроме автоматической простановки ударений для языков отличных от русского;

Пока улучшение интерфейсов мы отложили на некоторое время. Ускорить модели еще в 3+ раза мы тоже смогли, но пока с потерей качества, что не позволило нам обновить их прямо в этом релизе.


Попробовать модель как обычно можно в нашем репозитории и в колабе.

Читать дальше →
Всего голосов 65: ↑63 и ↓2 +61
Просмотры 7.6K
Комментарии 22

Разглядывая JTAG: идентификация

FPGA *Программирование микроконтроллеров *Производство и разработка электроники *Электроника для начинающих
✏️ Технотекст 2022

Каждый электронщик, работающий (или отдыхающий) с цифровыми микросхемами рано или поздно обязательно сталкивается с протоколом JTAG. Значительное количество материалов о данном протоколе содержит три раздела:
1) Обширный экскурс в историю и рассказ о том, как стенд с летающими щупами и рентгеновская установка легко могут быть заменены отладчиком на 2-3 порядка дешевле их.
2) Достаточно сжатое описание протокола JTAG (с картинкой его конечного автомата).
3) Рассказ о том, что фирменный отладчик, а также программное обеспечение компании <COMPANY NAME> позволят почти без усилий протестировать почти любое устройство почти любой сложности и конфигурации.

Проблема второго раздела подобных материалов в том, что в протоколе JTAG можно выделить более одного уровня абстракции. И за один раз, причём без практических примеров, осознать JTAG целиком может быть весьма непросто. В отсутствие же целостного понимания, для инженера, использующего JTAG, данный протокол будет представлять чёрный ящик, который либо работает (и всё хорошо), либо не работает (и непонятно, что делать). Представляется, что, исключив из рассмотрения историю JTAG и рекламу бренда, а также разделив задачу на отдельные составляющие, возможно осознать JTAG полностью, обретя способность устранять проблемы в работе данного протокола на любом уровне. И первым шагом к такому пониманию будет чтение идентификационного номера микросхемы.

Идентифицировать микросхему
Всего голосов 52: ↑52 и ↓0 +52
Просмотры 9.7K
Комментарии 16

Управляем подсветкой клавиатуры при смене языка ввода

C++ *Разработка под Windows *

Недавно я купил себе клавиатуру от Corsair модели K55 RGB Pro. У нее есть модная нынче RGB-подсветка, а чтобы ее настраивать, производитель предлагает скачать программу iCUE. На сайте написано, что некоторые игры могут управлять подсветкой совместимых устройств. Я заинтересовался, как они это делают. Гугл обнаружил официальный SDK с примерами, а также документацию. Я решил сделать что-то полезное для себя, а заодно посмотреть, как создаются приложения под Windows.

Мой код (для Visual Studio) можно найти здесь.

Подробнее о том, как я это сделал, примеры кода и как это выглядит - под катом.

Читать далее
Всего голосов 38: ↑37 и ↓1 +36
Просмотры 9.1K
Комментарии 27

Как распутать уроборос роутинга в Linux

Блог компании Timeweb Cloud Системное администрирование **nix *Сетевые технологии *
image

Описание проблемы


Ситуация: у нас имеется один интерфейс eth0, «смотрящий» в интернет, с IP-адресом 192.168.11.11/24 и шлюзом 192.168.11.1. Нам нужно организовать интерфейс vpn0, который будет через VPN соединяться с неким сервером, и весь исходящий с этой машины трафик должен идти через этот интерфейс vpn0.

Примечание: я оставляю за скобками детали работы с IPv6, поскольку там хватает своих особенностей. Рассматривается только ситуация с IPv4.

Итак, мы берём в руки программу для подключения в VPN-у — она соединяется с неким VPN-сервером по адресу 10.10.10.10 и поднимает нам интерфейс vpn0 например с таким адресом: 192.168.120.10/24, шлюз 192.168.120.1. Казалось бы, всё хорошо, пинги через vpn0 ходят, коннект есть, он стабильный, осталось только прописать нечто вроде

ip route add default dev vpn0 metric 1000

чтобы перенаправить все соединения через новый интерфейс и…

И всё благополучно падает. Пропадает интернет, отваливается VPN, отключается ssh (если вы по нему подключены к хосту). Если приложение VPN-а не выключит интерфейс при потере соединения, то извне вы до этого хоста до ребута больше не подсоединитесь.

Что случилось?
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 10K
Комментарии 15

Domain-driven design, Hexagonal architecture of ports and adapters, Dependency injection и Python

Python *Программирование *Django *Микросервисы *

Пролог

- Глянь, статью на Хабр подготовил.
- Эм... а почему заголовок на английском?
- "Предметно-ориентированное проектирование, Гексагональная архитектура портов и адаптеров, Внедрение зависимостей и Пайто..."

С пронзительным хлопком в воздухе материализуется обалдевший Сатана в обличии сине-жёлтого питона.

--

Эта техническая статья о применении практик гексагональной архитектуры и всего остального вышеперечисленного в разработке приложений. На примере рассматривается как элегантно вплести гексагональную архитектуру в устоявшуюся, консервативную и казалось бы совершенно безкомпромиссную структуру веб-приложений на Django

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 11K
Комментарии 9

По зубам: гигиена, часть 1

Научно-популярное Здоровье

На это всегда не хватает времени: как вечером хочется поскорее пойти спать, а добраться до зубной щётки сродни подвигу, так и на приёме у стоматолога рассказ о гигиене зачастую ограничивается лаконичным, но явно недостаточным советом: «Купите какую-нибудь щётку средней жёсткости и какую-нибудь пасту с травами и чистите зубы 2 раза в день».



Зубной налёт (макрофото с электронного микроскопа)

Читать дальше →
Всего голосов 18: ↑15 и ↓3 +12
Просмотры 14K
Комментарии 39

Stm32 + USB на шаблонах C++. Продолжение. Делаем HID

C++ *Программирование микроконтроллеров *

В прошлый раз показал один из способов распределение ресурсов между конечными точками, а именно регистров EPnR, памяти под дескрипторы буферов и под сами буферы. Предлагаю продолжить начатое и рассмотреть написанную библиотеку на примере создания простого HID-устройства, позволяющего управлять светодиодом.

Читать далее
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 6.1K
Комментарии 13

USB на регистрах: bulk endpoint на примере Mass Storage

Программирование микроконтроллеров *Схемотехника *


Еще более низкий уровень (avr-vusb)
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: interrupt endpoint на примере HID
USB на регистрах: isochronous endpoint на примере Audio device

В прошлый раз мы познакомились с общими принципами организации USB и собрали простое устройство, иллюстрирующее работу конечной точки типа Control. Пришло время изучать следующий тип — Bulk. Конечные точки такого типа предназначены для обмена большими объемами информации, причем чувствительной к надежности, но не скорости обмена.

Классические примеры — запоминающие устройства и переходники вроде USB-COM. Но переходники требуют еще наличия конечной точки типа Interrupt, которую мы пока «не проходили», так что остановимся на эмуляции флешки. Точнее, двух флешек одновременно.
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 5.5K
Комментарии 37

Синхронные двигатели с постоянными магнитами на роторе: управление (синус и/или трапеция)

Анализ и проектирование систем *Промышленное программирование *Разработка робототехники *Matlab *Визуальное программирование *
Tutorial

В продолжение темы модельно ориетированного проектирования, публикую очередную статью Калачева Юрия Николаевича, автора книги Моделирование в электроприводе. Инструкция по пониманию. Данный текст еще готовится к публикации в специализированных изданиях, но читатели хабра увидят его первые.

От теории к практике, наглядно, понятно и занимательно.

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 23K
Комментарии 59

3. Частотные характеристики систем автоматического управления (АФЧХ, ЛАХ, ФЧХ) ч. 3.1

Анализ и проектирование систем *Математика *Matlab *Инженерные системы *Визуальное программирование *
Tutorial

Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!


Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


В предыдущих сериях:
1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 — 2.3, 2.3 — 2.8, 2.9 — 2.13


В следущих сериях:
3.2. Типовые звенья систем автоматического управления (регулирования). Классификация типовых звеньев. Простейшие типовые звенья.
3.3. Апериодическое звено 1–го порядка (инерционное звено). На примере входной камеры ядерного реактора.
3.4. Апериодическое звено 2-го порядка.
3.5. Колебательное звено.
3.6. Инерционно-дифференцирующее звено.
3.7. Форсирующее звено.
3.8. Инерционно-интегрирующее (звено интегрирующее звено с замедлением).


В этом разделе мы будем изучать частотные характеристики. Тема сегодняшней статьи:
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ


Будет интересно, познавательно и жестко.



Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 41K
Комментарии 16

C++ template аллокатора с потокобезопасным циклическим буфером

Высокая производительность *C++ *Алгоритмы *Параллельное программирование *GitHub *
Вашему вниманию простой C++ template аллокатора с потокобезопасным циклическим буфером.

Вся реализация в одном заголовочном .h файле: [fast_mem_pool.h]

Фишки, чем этот аллокатор лучше сотни подобных — под катом.
Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Просмотры 7.8K
Комментарии 21

Сэмулируй сборку приложения ARM на x86 процессоре на примере Qt

*nix *Виртуализация *Qt *Разработка под Linux *
Tutorial
Мощность современных процессоров растёт, как в стационарных компьютерах, так и в различных embedded устройствах, на борту которых процессоры на базе ARM с операционной системой linux. Сегодня в рамках данной статьи мы запустим эмулятор процессора ARM на x86 компьютере и в нём попробуем собрать Qt из исходников и тестовое приложение, т.е. так сказать сиэмулируем сборку ARM приложения.

В первой части статьи будем использовать эмулятор QEMU для aarch64, во второй части запустим эмулятор Raspberry и проверим работоспособность приложения в нём.

От себя хочу отметить, это все делается не быстро, и если Вы попробуете все это выполнить, то полный цикл займет у вас несколько дней!)


Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 11K
Комментарии 7

Всё-таки я не зря учился! Как клёвые алгоритмы и школьные формулы помогают создавать инновационные лекарства

Блог компании Образовательные проекты JetBrains Математика *Биотехнологии

image


Введение


Меня зовут Александр Садовников, я выпускник корпоративной магистерской программы ИТМО и JetBrains «Разработка программного обеспечения» и по совместительству старший разработчик биоинформатического ПО в департаменте вычислительной биологии компании BIOCAD.


В этом посте я в доступной форме и без чрезмерного жонглирования нудными биоинформатическими терминами опишу один из ключевых этапов создания лекарственного средства — этап предсказания места взаимодействия лекарства с целевой молекулой в организме человека. Данная тема выбрана мной не случайно: в рамках своей дипломной работы я занимался именно этой проблемой.


Понять, как взаимодействуют две молекулы, можно, если предсказать структуру комплекса, который они формируют в природе. Предсказание структуры молекулярного комплекса по-научному называется задачей докинга. Частого использования этого термина я, к сожалению, избежать не смогу. Главная новость заключается в том, что задачу докинга человечество уже умеет с переменным успехом решать с помощью компьютерного моделирования. Это стало возможным, в частности, за счёт использования довольно известных за пределами биоинформатики алгоритмов и математических подходов. На их примере я покажу, как очень частные знания, которые мы получаем на протяжении многих лет учёбы в школе и вузе, оказываются полезными на практике, причём зачастую не самым очевидным образом.

Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Просмотры 9.4K
Комментарии 15

Нейробиология зависимости

Мозг Здоровье
В посте об уязвимости к зависимостям я обещал написать о нейробиологической природе аддикций – то есть о том, что именно сейчас у нейроученых считается субстратом химической зависимости, будь то алкогольная, никотиновая, героиновая или какая-то другая зависома. Это одиннадцатая глава книги о зависимых гримасах бытия, пишу я ее уже третий год и однажды, надеюсь, допишу. Будут вопросы – отвечу.

Всем здоровья и свободы разной: внешней и внутренней.

image
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры 21K
Комментарии 132

Антикакеры

Читальный зал
Собрал для вас цитаты из разных книг по важной, на мой взгляд, теме: что нужно для изменений – инструкция или принципы.

Несмотря на всю абсурдность идеи брать чей-нибудь готовый кейс и использовать его у себя, именно так и поступают менеджеры в большинстве случаев. Это вполне объяснимо: сделать по инструкции проще, чем брать какие-то принципы, кубики, и лепить из них собственный кейс, с учетом особенностей своей компании. А главное: за результат отвечать не надо. Если не сработало, то виноват кейс. Так появляются тысячи статей, постов, видео и выступлений о неэффективности повышения эффективности.

Цитаты я собрал не для менеджеров – они будут продолжать действовать по-своему. Рынок продуктов для «здорового образа жизни организаций» слишком велик и привлекателен, чтобы начинать думать головой.

Цитаты я собрал для нас – «глобусов», на которых «натягивают сову». Большинство книг, из которых взяты цитаты, входят в обязательный менеджерский набор. Так что можно крыть их же козырями.

Некоторые цитаты длинноваты — не хотел прерывать авторов, вырывать мысль из контекста.
Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Просмотры 6.6K
Комментарии 5

Книга «Эмоциональный интеллект в бизнесе: решение сложных лидерских задач»

Читальный зал
image
Даже самые успешные компании теряют ключевых сотрудников из-за быстрого карьерного роста, конфликтов, выгорания, стрессов. Почему? Любая команда сопротивляется изменениям, в результате компания не способна выйти на новый уровень. В такие моменты особенно важную роль играет лидер.

Организациям нужны не рядовые сотрудники, а лидеры, которые способны изменить свою компанию изнутри, обновить ее и не позволить клиенту уйти к конкуренту, предлагающему «свежие и актуальные решения».

Если вы не обладаете навыками эмоционального интеллекта, не знаете, как эмоции влияют на достижение целей организации, даже самый высокий профессионализм не поможет решить возникшие проблемы. Хотите стать эффективным лидером? Эта книга предоставит практические навыки и советы по использованию эмоций в бизнесе.

Эмоционально-интеллектуальный лидер меняет мир к лучшему, не навязывая своего мнения. Быть великим руководителем — значит выстраивать доверительные и крепкие отношения с сотрудниками.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 3.2K
Комментарии 0

Немного о релокациях в ядре Linux

Системное программирование *C *
Из песочницы
Решим простую задачу — выделим в пространстве ядра Linux блок памяти, поместим в него какой-нибудь бинарный код и выполним его. Для этого напишем модуль ядра, в нем определим функцию foo, которая будет играть роль нужного нам бинарного кода, далее при помощи функции module_alloc выделим блок памяти, скопируем в него через memcpy эту функцию целиком и передадим ей управление.

Вот как это выглядит:
Читать дальше →
Всего голосов 40: ↑40 и ↓0 +40
Просмотры 5K
Комментарии 5

Приточная вентиляция совмещенная с канальным кондиционером (часть 2 — водяная)

Умный дом DIY или Сделай сам Здоровье
drawing

Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система
собиралась в 2012-2013 годах и с тех пор находится в постоянной эксплуатации.


Статью разделил на две части:


  • в первой части была описана классическая схема приточная вентиляции с использованием электрического канального подогревателя
  • в этой части расскажу про неоднозначный опыт переработки системы под водяной калорифер с питанием от общедомовой системы отопления
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 14K
Комментарии 44

LED-драйвер со стоимостью BOM-а меньше 1$. Это возможно?

Схемотехника *Производство и разработка электроники *DIY или Сделай сам Электроника для начинающих
Разработка LED-драйвера – интересная и комплексная задача. Рынок в этом направлении весьма насыщен – иногда кажется, что производство светодиодных светильников везде. Начиная от гаража и заканчивая огромными заводами. Что касается драйверов, гиганты типа Philips или Meanwell с одной стороны, добротные китайцы вроде Moso и Billion с другой, noname китайцы с третьей… В этих условиях к инженерным составляющим (схемотехнической и конструкторской) добавляется задача оптимизации изделия по цене.



Итак, рассказываю про разработку LED-драйвера при существенном ограничении по цене комплектующих.
Читать дальше →
Всего голосов 49: ↑49 и ↓0 +49
Просмотры 32K
Комментарии 73

Создание и настройка Mesh-сети на собственном опыте, а также немного цифр и аналитики

C++ *Mesh-сети *
Из песочницы

Все началось с того, что на очередном обсуждении дальнейшей судьбы проекта, над которым я тогда работал, кто-то сказал: «А давайте прикрутим меш-сети, ведь это круто, модно и молодёжно!». И именно с этого момента началась моя неравная борьба с меш-сетями, из которой мы с товарищем вышли победителями. Хоть и с небольшой оговоркой.


image
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 5.4K
Комментарии 6

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность