Русский
Русский
English
Статистика
Реклама

Звук

Перевод Чиптюн-музыка на ATtiny4 и трехцентовом Padauk

10.05.2021 16:07:24 | Автор: admin

Когда я услышал Bitshift Variations in С Minor Роба Майлза 16-минутный фрагмент 4-голосого полифонического аудио произведения мне очень захотелось воплотить такое аппаратно. Реализовать это на любом микроконтроллере слишком уж просто, поэтому я решил взять самый мелкий, какой смог найти ATtiny4. Чуть позже я портировал эту программу на небезызвестный трехцентовый микроконтроллер Padauk PMS150С.

Ах да при этом он полностью уместился в RCA-штекер и автоматически обнаруживает подключение.


Плата ATtiny4, внутренняя сборка и готовое устройство.


Как он работает


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

Генерация музыки


ATtiny имеет довольно мощный таймер/счетчик и выполняет двойную работу, генерируя как ШИМ-сигнал для аудио выхода, так и прерывания для генерации очередного PCM-сэмпла.
Говоря точнее, мы устанавливаем его в 8-битный не инвертированный ШИМ-режим без предварительного делителя и включаем прерывание переполнения. Это означает, что таймер отсчитывает от нуля до 255, используя ту же тактовую частоту 4МГц, что и ядро ЦПУ, ШИМ-выход поднимается от нуля до заданного коэффициента заполнения, и при достижении значения TOP сбрасывается к нулю, вызывая прерывание по переполнению.

Немного быстрых расчетов: самая высокая частота, на которой МК может работать, будучи запитанным от 3В таблетки, равна 4МГц. Эти 4МГц, поделенные на 256 шагов, дают нам базовую частоту ШИМ в 15.625КГц. Слегка откалибровав внутренний генератор, мы можем добиться ее округления до 16КГц. Поскольку частота дискретизации исходного тона равна 8КГц, то новый сэмпл нужно генерировать только раз в два переполнения/прерывания. Это оказывается весьма удобно, так как генерация сэмплов в итоге занимает немногим более 400 циклов.



На этом графике я отразил счетчик, его значение для сопоставления, итоговый выход ШИМ, а также прерывание по переполнению и коэффициент заполнения/выполнение подпрограммы sample, запускаемой этим прерыванием.

Ниже вы видите коэффициент заполнения и выход ШИМ на реальной микросхеме. Здесь отчетливо отражено, что в течение одного прерывания генерируется два сэмпла. (И этот вывод коэффициента заполнения/отладки позднее тоже пригодился, так как позволил откалибровать генератор через отслеживание частоты на осциллографе Rigol).


Канал 1 (нижний) показывает выход отладки, канал 2 (верхний) показывает сигнал ШИМ. Обратите также внимание на отображение частоты в верхнем правом углу.

Обнаружение подключения


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

С программной стороны мы фиксируем, в каком месте произведения находимся, и входим в режим пониженного энергопотребления, который отключает таймер/счетчик и даже тактовый генератор. В этом состоянии мы ожидаем низкоуровневого (в смысле нулевого напряжения) внешнего прерывания, которое сработает при подключении устройства, после чего запускаем проигрывание.

На практике же все сложнее: типичное сопротивление линейного аудиовхода составляет 20-100кОм, что намного выше, чем у внутренних подтягивающих резисторов ATtiny, хотя это легко решается внешним подтягиванием. Кроме того, функциональность генерации прерывания при смене контактов недоступна на контакте выхода ШИМ, но и это легко обойти, просто закоротив их.

Согласно спецификации, потребление энергии в таком состоянии ниже 0.15мкВ. Примерно с той же скоростью происходит саморазряд таблетки, так что хватить ее должно на годы.

Фильтрация выхода


При использовании базовой частоты ШИМ 16кГц есть один недостаток: она слышима. Изначально я собирался просто это игнорировать, но один друг справедливо убедил меня добавить RC-фильтр нижних частот.

Быстрый и грубый спектральный анализ, сделанный с телефона, подтвердил, что эта частота действительно шумит. Границу среза и кривую отклика я выбрал довольно произвольно (глядя на коробку под SMD-компоненты) около 8кГц, тем не менее с задачей она справляется отлично, так что при заказе итогового списка материалов я придерживался именно ее.


Соотношение сигнал-шум после добавления фильтра существенно улучшилось.

Программное обеспечение


Разобравшись с теорией, осталось только прописать код. Я решил вручную воспроизвести Си программу Роба на ассемблере AVR, отчасти ради забавы, отчасти в качестве (поспешной?) стратегии по оптимизации. У ATtiny нет аппаратного mul/div/mod, и мне потребовалось лишь немного правосторонних множителей/делителей, для чего я написал несколько специальных оптимизированных вариантов.

Начал я с нетронутой программы Си и сначала просто ее упростил, после чего заменил каждую операцию на макрос Си, реализующий соответствующую инструкцию машинного кода. После каждого малейшего изменения я генерировал PCM-поток и сравнивал его с заведомо корректным образцом, чтобы избежать ошибок. Каждое изменение автоматически отправлялось в репозиторий, в результате чего получилось 136 коммитов под именем new version. Только затем я добавил код инициализации и произвел запуск на реальном микроконтроллере.

На этом этапе, сам того не ведая, я допустил ошибку при написании одного из псевдо-ASM макросов: я инвертировал условие ветвления в mod3, в результате чего оно переключалось, когда не должно было, и наоборот. Это привело к невозможности распознавания голосов 3 и 4 на микроконтроллере. Причину ошибки мне удалось обнаружить только год спустя, когда я вновь вернулся к проекту после того, как в simavr, наконец-таки, появилась элементарная поддержка семейства ATtiny 10. Когда я запустил gdb(1), проблема тут же стала очевидной, и для патча потребовалась всего одна инструкция машинного кода.

Гибкие печатные платы



Гибкие печатные платы, которые можно обернуть вокруг батарейки

Изначально я попробовал сделать двухточечную разводку эмалированным проводом. Затея эта с треском провалилась: припой не ложился на батарею, а альтернативный вариант с токопроводящим клеем получался грязным, и непрочным. При изоляции же батареи и компонентов с помощью нескольких слоев каптонового скотча изделие оказывалось слишком большим и в корпус штекера уже не входило.

Все эти проблемы на раз решила гибкая печатная плата. Я спроектировал ее так, чтобы она оборачивала таблетку, при этом контакты батарейки находились внутри, а компоненты снаружи. Зажим, сделанный из скобы для бумаги, сдавливает этот сэндвич, обеспечивая тем самым его питание. Сама плата также изолирует батарею, для чего достаточно одного оборота скотча по кругу, и делает этот мини комплект достаточно жестким.

И все же нужно было еще проложить два провода, идущих от платы к точкам пайки на внутренней стороне RCA-штекера. Задача оказалась непростой, и я не сразу додумался, как скрутить две части корпуса штекера, не прокручивая провода. Решением стало максимально глубоко задвинуть плату в корпус и слегка провернуть провода против часовой стрелки, чтобы при закрытии корпуса они, наоборот, развернулись.


Стек слоев в KiCad. PDF-схема.

Портирование на Padauk


При использовании ATtiny меня не покидало ощущение, что я мухлюю: он снабжен сравнительно богатой периферией и содержит много очень гибких регистров (16), которыми можно управлять напрямую. К тому же у меня завалялся самодельный программатор для микроконтроллеров Padauk, который подогнал мне один из участников форумов EEVBlog, а также около 500 штук PMS150C.

Эти микроконтроллеры прославились своей невысокой стоимостью около 3 американских центов за экземпляр при приобретении в сравнительно небольших количествах. За свою цену они неплохо оснащены: ПЗУ на 1024 слова (программируемых один раз), 64 байта статического ОЗУ, 8-битный таймер с ШИМ, (несколько странный) 16-битный таймер, внутренний компаратор и источник опорного напряжения. По мнению некоторых, набор инструкций Padauk во многом следует более старой модели PIC, и большинство его операций происходят в одном накапливающем регистре.

Недостаток же в том, что производитель поскупился на документацию: спецификация не описывает, как мнемоника ассемблера сопоставляется с реальными единицами и нулями, то есть вы должны использовать их проприетарные (и доступные только для Windows) IDE, программатор и внутрисхемный эмулятор. Эта IDE даже не имеет компилятора Си, а использует странный язык, который они зовут мини Си: по сути, это ассемблер с позаимствованным из Си синтаксическим сахаром.

Талантливая группа любителей во главе с js_12345678_55AA, tim_ (cpldcpu) и spth (pkk), невзирая на отсутствие вышестоящей поддержки, создала впечатляющую и полностью открытую цепочку инструментов Си, включая компилятор, ассемблер, компоновщик, дизассемблер, симулятор, программное и аппаратное обеспечение программатора, а также низкоуровневую документацию.


Внутренняя сборка Padauk-версии

Для портирования чиптюнов на PMS150С потребовалось полностью перевести исходный Си-код в ассемблер, чтобы наилучшим образом использовать сжатые требования к циклам (в рамках которых я оставался с трудом: в худшем случае использовалось 507 из 512 доступных циклов). После того, как в процессе поиска правильного способа инициализации периферии я сжег тестовыми программами 5 схем, потребовалось еще всего 2, чтобы добиться полноценной отладки программы.

Итого семь микросхем, но при этом гораздо больше попыток: на деле можно программировать одноразовую память несколько раз при условии изменения только единиц на нули. Так что я оставил немного пространства под векторами сброса и прерывания, подставил новую версию кода и исправил инструкции GOTO, заменив их на NOP и добавив новый переход сразу же после. Скажу честно, я не столь скуп, но на неоднократную возню с ZIF-разъемом ушло бы больше времени, чем на этот обходной вариант.


Выделение некоторых отличий в версиях ассемблера: загрузка нот из памяти

Версия Padauk имеет небольшие отличия в сравнении с версией ATtiny: во-первых, здесь я задействую оба таймера, что позволяет использовать более высокую базовую частоту ШИМ (64кГц) и обойтись без ФНЧ. Во-вторых, внутреннее подтягивание Padauk достаточно высокое, и внешнее уже не требуется. Это означает, что мне удалось добиться полного отсутствия внешних компонентов.

И все же без сложностей не обошлось: t1sn M.n (тест старшего бита в статической ОЗУ и пропуск следующей инструкции) и set1 M.n (установка бита в области статической ОЗУ) работают только для первых 16 адресов; по данному поводу в спецификации толком ничего не сказано (заметил я это лишь потому, что в документации по реконструированным наборам инструкций присутствовало 4-битное адресное поле). В симуляторе микроконтроллера ucism было несколько ошибок, связанных с этими (и аналогичными) инструкциями, что слегка сбило меня с пути (патчи я отправил в список рассылки).

При этом также наблюдалось странное поведение режимов прерывания и ожидания timer16, разобраться с которым мне помог JS. В остальном же весь процесс оказался достаточно плавным, и все благодаря качественной работе упомянутых выше ребят.


Обратите внимание на повышенную частоту ШИМ и более интенсивное использование ЦПУ в сравнении с версией ATtiny.

Я не стал озадачиваться созданием новых печатных плат; у меня оставались варианты без ФНЧ, и я просто оставил внешний подтягивающий резистор неподключенным.

Живое демо



Видео одного полного проигрывания музыки. Начало несколько затяжное, но с 1:35 становится интереснее.

Примечания


Считаю необходимым упомянуть проект Noiseplug от DoJoe. На него я наткнулся при поиске информации по ATtiny и могу сказать, что по своей сути он похож на мой.

Я собрал себе макетную плату из платы-переходника, поскольку шаг ее контактных площадок в точности соответствует одной стороне форм фактора SOT23-6. Вторую сторону я после подключил проводами. В другом, более раннем, варианте макетной платы использовалась миниатюрная адаптерная ATtiny, которую я приклеил на общую панель плат-переходников, чтобы ее расширить. Последнюю из них я представил на 35C3.




Макетные платы

Гибкие платы я заказал с OSHPark.com, и обошлись они примерно по доллару за штуку. Заказ был обработан довольно быстро, правда некоторые из них пришли с дефектами травления.

Подробнее..

Горшочек, не вари следом за соцсетями в нишу аудиочатов потянулись и стриминговые платформы

08.05.2021 02:17:45 | Автор: admin

На март и апрель пришлись анонсы не только нового аудиофункционала крупнейших социальных, но и музыкальных платформ. Как выясняется, пример Clubhouse потянул за собой еще и Spotify. Однако на этот раз, кажется, все может обойтись без копирования.

Фотография: Ash Edmonds. Источник: Unsplash.comФотография: Ash Edmonds. Источник: Unsplash.com

Вновь за покупками

Команда Spotify лидера в области музыкального стриминга и далеко не последний игрок на поле подкастинга решила пойти еще дальше: расширить спектр аудиосервисов и состав группы разработчиков. В конце марта она объявила о покупке Betty Labs стартапа, чьи сервисы вроде Locker Room в определенной степени конкурируют с аудиосоцсетью Clubhouse.

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

Ранее в нее инвестировали Google Ventures, венчурный фонд Lightspeed и всемирно известные атлеты Кевин Дюрант и Андре Игудала, выступающие в НБА. Однако точный объем средств, которые удалось поднять стартапу, пока не стал достоянием общественности, равно как и стоимость компании в рамках недавней сделки со стриминговой платформой.

Для последней это лишь очередное приобретение в линейке стомиллионного шоу Джо Рогана, студий по производству подкастов Gimlet Media и Parcast, сервиса для подкастинга Anchor, подкастинговой сети The Ringer и многочисленных контрактов с инфлюенсерами вроде Эддисон Раи, Ким Кардашьян и даже супруги 44-го президента США Мишель Обама.

Живой стриминги не только

Возможности Locker Room помогут платформе укрепить влияние в сфере аудиоконтента. Главным образом за счет пользовательских механик для интерактивного live-стриминга, которым предстоит перекочевать в продукты Spotify с некоторой адаптацией вероятно, не в виде очередного клона Clubhouse. Однако пока на этот счет нет и не может быть конкретики об этом компания заявила в соответствующем пресс-релизе с дисклеймером, превышающим объем самого анонса. Планы по интеграции других покупок и развитию многообразия собственных разработок команда Spotify анонсировала на мероприятии Future formats of audio.

Творческую мысль менеджмента и разработчиков площадки в ближайшие годы собираются направить на проектирование новых форматов и способов взаимодействия аудитории. Первый момент предположительно олицетворит трансформация подкастов в нечто более компактное и похожее на то, что готовит к запуску Facebook, плюс использование автоматизированных инструментов и возможностей внешних партнеров вроде WordPress, где Anchor [принадлежаший Spotify] предлагает озвучку текстовых публикаций. Второе направление скорее всего не обойдется без новых вариантов для монетизации контента под натиском критики со стороны авторов платформа активизировала усилия в этом отношении и результаты уже есть.

Фотография: Patrick Perkins. Источник: Unsplash.comФотография: Patrick Perkins. Источник: Unsplash.com

Как сообщила редакция Хабра, стриминговая платформа практически в одно время с Apple представила возможность публикации платного аудиоконтента. Главным образом новинка затрагивает подкастеров, которые готовят передачи с помощью Anchor. Теперь их слушателям не нужно оформлять подписку на сторонних сервисах вроде Patreon на борту Spotify есть все необходимое для проведения транзакций [у Apple все работает аналогичным образом].

Что дальше

Стриминговые войны только-только набирают обороты Spotify со своим нововведением для подкастеров предположительно пытается обойти комиссию Apple, а последняя все активнее использует возможности собственной платформы для заработка на новых моделях монетизации, в том числе аудиопередач. Помимо этого Spotify выходит на другие рынки например, автомобильных аудиогаджетов и стремится охватить сегмент аудитории, которая еще не обзавелась встроенными системами от Apple и других производителей.

Как продвигаются все эти процессы, что о них известно и какие экспертные мнения проявляются на этот счет обсудим подробнее в нашем следующем материале на Хабре.


Дополнительное чтение в нашем Мире Hi-Fi:


Подробнее..

Перевод Bluetooth-динамик с танцующей ферромагнитной жидкостью

15.05.2021 16:19:24 | Автор: admin
image


Ферромагнитная жидкость, феррожидкость, феррофлюид жидкость, сильно поляризующаяся в присутствии магнитного поля, материал, разработанный НАСА в 1960-х годах. Он использовался как топливо для космических кораблей и как герметизирующий материал.

Компания Ferrotec поставляет феерожидкость EFH-1 для образовательных целей. Американский умелец решил сделать устройство с ферромагнитной жидкостью, которая модулируется звуком из динамика, вот что из этого получилось:



Под катом несколько фоток процесса создания.


image


image

Феррожидкостью модели EFH-1 фирмы Ferrotec.

image

Феррожидкость хорошо прилипает к стеклу, поэттому потребовалась специальная обработка.

image

MSGEQ7, которая представляет собой 7-ми полосный фильтр для графического эквалайзера. Данный 8-ми выводной чип способен из входного аудиосигнала выделить частотные полосы 63Гц, 160Гц, 400Гц, 1кГц, 2.5кГц, 6.25кГц и 16кГц:

image

image

image

image

image

image

image

image

image

image
Подробнее..

Музыка без обложки что происходит с внешним видом альбомов в эпоху стриминговых сервисов

16.05.2021 22:09:51 | Автор: admin

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

Фотография: Giorgio Trovato. Источник: Unsplash.comФотография: Giorgio Trovato. Источник: Unsplash.com

На периферии

В конце марта один из резидентов Hacker News высказал мнение о том, что проектировщики интерфейсов цифровых продуктов Эппл не уделяют должного внимания визуальной составляющей музыкальных альбомов и других типов аудиоконтента. Он привел в качестве иллюстрации своих доводов внешний вид экранов музыкального приложения компании на iPod Touch 2012 года и iPhone SE 2016-го. Последний предлагает слушателям уменьшенный вариант обложки не растягивает ее на весь экран, как на iPod Touch. Поэтому рассмотреть детали иллюстрации становится сложнее, а на паузе изображение становится еще меньше.

Разница размеров обложки на локскрине устройств намного заметнее на Touch она занимает чуть ли не всю ширину экрана, а на iPhone лишь небольшую его часть в виде пиктограммы внутри виджета с управляющими элементами плеера музыкального приложения. При этом прочитать полное имя исполнителя и запущенного трека сразу невозможно места рядом с уменьшенной обложкой не хватает и для них. Автор заметки задает эти вопросы аудитории и вспоминает так называемый Cover Flow, который в Эппл представили вместе с очередной версией iTunes в 2006 году, а на iPhone и iPod nano выпустили в 2007-м. Кстати, тогда обложки тоже растягивали практически на всю ширину экрана устройств, а при просмотре в режиме Cover Flow они становись еще и интерактивными по тапу открывали список треков альбома.

Фотография: Paul Downey. Источник: Flickr.com (CC BY 2.0)Фотография: Paul Downey. Источник: Flickr.com (CC BY 2.0)

Проблему поднимали еще в 2011 году на страницах The New York Times. Вероятно, именно тогда она стала наиболее ощутимой в индустрии. Те, кто занимался визуальной составляющей музыкальных альбомов стали чаще задумываться о том, как обложки будут выглядеть на экранах смартфонов и плееров. Постепенно влияние соответствующих ограничений на результат их творчества и облик музыкальных произведений становилось все более существенным.

Дошло до того, что в ряде случаев на кавере не было ничего кроме текста с названием альбома и однотонного фона. Об этой проблеме тогда высказывался арт-директор Warner Brothers Records, представители других крупных лейблов, ряд известных музыкантов и дизайнеров. Однако, как мы видим по примеру, от которого мы оттолкнулись в начале материала, на стороне музыкальных платформ эти вопросы и предостережения просто-напросто проигнорировали. Да и качество обложек к тому моменту уже не позволяло в один миг вернуть к ним прежнее внимание.

Попытка все исправить

В конце прошлого года Эппл представили новую возможность для авторов, исполнителей и подписчиков своего музыкального сервиса анимированные обложки для отдельных композиций и альбомов. Ранее команда Эппл мьюзик экспериментировала с подобными решениями для плейлистов, но с очередным обновлением iOS распространила эту практику и на полноценные релизы. Пока гифки заметили на одиннадцатом студийнике Pearl Jam под названием Gigaton, и пластинке Detroit 2 рэп-исполнителя Big Sean. Изучить их могут обладатели устройств с iOS и iPadOS 14.3 и выше, плюс macOS Big Sur, начиная с версии 11.1.

Поможет ли такой маневр выправить ситуацию, покажет время. Однако особых надежд на это нет. Как минимум пока не изменится общий подход к работе с обложками на уровне интерфейсов. Так или иначе, в данный момент тренд на упрощение обложек все больше напоминает гораздо более заметную тенденцию примитивизацию текстов песен. И нельзя исключать, что он будет постепенно развивать по аналогичному сценарию.


Дополнительное чтение в нашем Мире Hi-Fi:


Что еще у нас есть в блоге на Хабре:


Подробнее..

Старт в музыкальном программировании для начинающих достаточно и простого браузера

23.05.2021 10:08:18 | Автор: admin

Продолжаем нашу серию постов о музыкальном программировании. В ней мы говорим о языках, утилитах и других инструментах, превращающих функции и атрибуты в мелодичные [в зависимости от уровня автора] композиции. Сегодня рассказываем о виртуальной среде Klangmeister. Она не требует установки специализированного программного обеспечения.

Фотография: Brandon Erlinger-Ford. Источник: Unsplash.comФотография: Brandon Erlinger-Ford. Источник: Unsplash.com

Музыкальное программирование это процесс написания треков с использованием специализированного ПО, синтезаторов и секвенсоров. Есть огромное количество сервисов, позволяющих влиться в эту тему. О некоторых из них мы уже рассказывали например, OpenMusic и ORCA. С их помощью можно писать музыку в разных жанрах, однако они требуют установки и настройки на компьютере. Композитор и разработчик Крис Форд посчитал, этот факт ограничивающим творчество начинающих музыкантов и решил исправить ситуацию.

Он разработал инструмент, позволяющий творить без заморочек. Так появился Klangmeister с немецкого переводится как мастер звука работающий прямо из браузера.

Что под капотом

Для написания музыки Klangmeister предлагает использовать Clojurescript. Это реализация языка LISP с компиляцией в JavaScript. Необходимые для работы функции хранятся в библиотеке Leipzig, которую написал автор проекта. Он также подготовил достаточно подробную документацию. Для воспроизведения треков приложение использует Web Audio API.

Интерфейс позволяет компилировать программы на лету фактически писать и воспроизводить музыку в реальном времени. Ряд возможностей Крис Форд продемонстрировал на технологической конференции flatMap в Осло несколько лет назад. Например, чтобы написать мелодию, нужно составить массив, включающий продолжительность звучания и высоту тона для каждой отдельной ноты.

(phrase [3/3 3/3 2/3 1/3 3/3]        [ 72  72  72  74  76])

Klangmeister также позволяет объединять несколько мелодий в одну:

(->>  (phrase [3/3 3/3 2/3 1/3 3/3]           [ 72  72  72  74  76])  (then    (phrase [2/3 1/3 2/3 1/3 3/3]            [ 76  74  76  77  79])))

На официальном сайте есть руководство с примерами кода для реализации более сложных техник написания музыки зацикливанием треков и настройкой BPM.

В целом инструмент Klangmeister довольно прост, что является как его достоинством, так и недостатком. Он позволяет взять легкий старт в музыкальном программировании, но задействованный в работе Web Audio API плохо подходит для написания глубоких и комплексных композиций. Также автор отмечает, что Klangmeister лучше всего работает в Chrome. Функции синтеза, которые он использует, могут не поддерживаться в других браузерах (или поддерживаться плохо). Все желающие могут оценить внутренности проекта самостоятельно его исходный код выложен в репозиторий на GitHub.

Какие есть альтернативы

Одна из известных виртуальных сред для аудиосинтеза в реальном времени это SuperCollider. Мы кратко упоминали её в одном из предыдущих материалов. Она существует с 1996 года, и за это время вокруг неё сформировалось обширное сообщество поклонников. SuperCollider более сложный инструмент, чем Klangmeister и на его освоение может уйти длительное время, однако и возможности он предлагает более широкие.

С инструментом работает композитор Крис Браун (не путать с певцом и актером) из Сан-Франциско. С его помощью он написал альбом Branches. Эли Филдстил (Eli Fieldsteel), преподающий теорию музыкальной композиции в Университете Иллинойса, использует SuperCollider для анализа отдельных произведений на лекциях.

Фотография: Valentin Mller. Источник: Unsplash.comФотография: Valentin Mller. Источник: Unsplash.com

Еще одним аналогом Klangmeister, который упоминает сам Крис Форд, является платформа Extempore. Она включает в себя два языка программирования Scheme и одноименный Extempore. Объединяет их возможности компилятор на базе LLVM, позволяющий обрабатывать цифровые сигналы в реальном времени. Как это работает, автор системы рассказывал на конференции OSCON, посвященной открытому ПО.


О чем еще мы пишем в Мире Hi-Fi:


Обзоры напольной акустики на Хабре:


Подробнее..

Автоматизация, безопасность, онлайн-знакомства для чего еще используют голосовые технологии в 2021 году

22.05.2021 16:14:00 | Автор: admin

Голосовые интерфейсы и форматы общения сейчас переживают новый виток популярности благодаря активно развивающимся технологиям распознавания речи и обработки естественного языка (NLP). Ведущие технологические компании одна за другой выпускают голосовых ассистентов, системы безопасности оборудуются биометрическими компонентами, а рынок подкастов постоянно растет. Но обо всем по порядку.

Автоматизация бизнес-процессов

Развитие технологий разговорного ИИ (Conversational AI) достигло такого уровня, что сегодня виртуальных агентов в колл-центрах уже почти невозможно отличить от живого человека они способны точно имитировать различные интонации, делать паузы и адекватно распознавать намерения клиентов.

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

Онлайн-знакомства

Голосовые технологии не обошли стороной и индустрию дейтинга. Помимо традиционных форматов общения, таких как аудиосообщения или звонки, появляются целые сервисы, созданные вокруг идеи знакомства по голосу.

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

Голосовые помощники

Кажется, голосовые ассистенты скоро будут у каждой уважающей себя IT-компании. Начиналось все c зарубежных Siri, Google Assistant, Alexa, затем появились Алиса от Яндекса, Олег от Тинькофф банка и Маруся от Mail.Ru Group. Некоторые помощники обретают физическую форму в виде колонки или станции, другие остаются только в виртуальном виде.

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

Подкастинг

Рынок подкастов продолжает уверенный рост. По данным недавнего исследования, к 2026 году его размер достигнет $41,8 млрд. Аудиоконтент востребован как никогда свои подкасты запускают крупные СМИ, IT-компании, банки, независимые эксперты и отдельные энтузиасты. Диапазон тематик широк: от развлекательных ток-шоу и обзоров новостей до образовательных и бизнес-программ.

Рекламодатели тоже не обошли индустрию подкастов стороной. Согласно прогнозам PwC, объем рекламного рынка подкастинга в России составит $133 млн к 2023 году.

Голосовая биометрия

Голосовая идентификация и аутентификация все более активно внедряется в различные системы безопасности корпоративные, банковские, домашние. А все потому, что биометрические данные представляют собой один из наиболее надежных способов подтверждения личности.

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

***

А какие еще интересные и необычные голосовые инструменты и приложения знаете вы?

Подробнее..

Hi-перевод Обзор беспроводных наушников Bowers amp Wilkins PI7

07.06.2021 14:15:24 | Автор: admin

Портал о Hi-Fi, Hi-End технике(и не только) - hifiNews.ru подготовил перевод теста новых наушников британской компании Bowers & Wilkins (B&W).

Bowers & Wilkins PI7Bowers & Wilkins PI7

Bowers & Wilkins PI7представляют собой полностью беспроводные наушники, которые являются более дорогой из двух новых моделей данного типа, представленных в каталоге компании.

Надо заметить, что при разработке своих наушников B&W применят подход, отличный от компании Focal. Стоимость ее моделей никогда не превышает психологический барьер в $1000, в то время как модели Focal часто стоят дороже. Кроме того, если Focal придерживается последовательной концепции в дизайне своих наушников, подход Bowers & Wilkins более гибкий. И поскольку в настоящее время беспроводные модели находятся на пике популярности, эта британская компания решила выпустить и такую модель.

Однако стоит заметить, что Bowers & Wilkins никогда не принимает поспешных решений. Ее наушники создаются в результате серьезных исследований, и имеют интересные технические решения, а также впечатляющий дизайн. Продолжат ли PI7 эту хорошую традицию компании? Пришло время нам это узнать.

Технические характеристики и дизайн

PI7 - это первая полностью беспроводная модель от Bowers and Wilkins, но компания уже несколько лет выпускает наушники, поэтому неудивительно, что в PI7 нашли свое отражение несколько уже имеющихся у нее решений. Разумеется, здесь есть и несколько изменений в конструкции, связанных с тем, что данные наушники полностью беспроводные. Среди уже знакомого нам в PI7 9,2-миллиметровые динамические излучатели, аналогичные тем, которые мы видели в предыдущих разработках компании.

В PI7 к ним добавлен балансный излучатель, который работает на высоких частотах. Подобное мы тоже видели, в модели PI3, и это позволяет теоретически сочетать мощные басы от динамического излучателя с аккуратными верхами балансного. Ключевой особенностью PI7 является то, что каждый излучатель в них подключен к собственному усилителю. Заявленная частотная характеристика наушников составляет 10 Гц - 20 кГц.

Bowers & Wilkins утверждает, что до этого момента она воздерживалась от выпуска такой модели потому, что ее инженеров не удовлетворяло качество звука при использовании Bluetooth (интересный аргумент для компании с довольно широким ассортиментом беспроводных наушников, ну да ладно), а PI7 имеет полный из доступных на сегодня набор улучшений данной технологии. Наушники поддерживают все разновидности кодеков aptX, известных на данный момент: обычный, HD, с низкой задержкой LLC и адаптивный. Они также имеют поддержку AAC и, разумеется, стандартного кодека SBC. Дополнительно, имеется технология BLE, информирующая вас об уровне заряда аккумулятора, и функция управления через приложение. Разумеется, использование всего этого богатства будет возможным только в случае соответствующей поддержки и со стороны передающего устройства.

Для кодека aptX это означает, что, по крайней мере, теоретически, передачу аудио с параметрами 24 бит/48 кГц можно будет осуществлять. Наушники связываются между собой с использованием сигнала с такими же параметрами. Лично я считаю, что все это не слишком целесообразно. Если вы хотите слушать записи High resolution в мобильных условиях, то, скорее всего, предпочтете традиционное проводное соединение. Но, по крайней мере, вы можете быть уверенным, что сигнал на наушники приходит без дополнительного сжатия.

Из других положительных моментов следует отметить, что PI7 оснащены фирменной системой шумоподавления Bowers & Wilkins. PI7 имеют шесть микрофонов для работы адаптивного шумоподавления (настраиваемого в приложении), с передачей голоса, что было сделано и другими компаниями, но ни одна из них не приблизилась к Bowers. Есть несколько настроек для этой системы в зависимости от окружающей обстановки (лично мне такое не нужно, но, возможно, кому-то пригодится), а также возможность выключить всю дополнительную обработку. Можно с уверенностью сказать, что это наиболее универсальная на сегодня система шумоподавления на рынке, и поместить ее в пару вкладышей настоящий подвиг.

Учитывая, сколько в каждом наушнике находится излучателей, усилителей, микрофонов и тому подобного, места для размещения аккумуляторов там невелико. Bowers & Wilkins указывает продолжительность автономной работы PI7 в четыре часа, и я думаю, что это реалистичный показатель, хотя он может зависеть от выбранного кодека Bluetooth, а также от громкости прослушивания. Как и во многих подобных моделях, на помощь здесь приходит чехол-зарядник. Он обеспечивает четыре цикла заряда вкладышей, и может дать два часа прослушивания музыки после 15-минутной зарядки. Возможно, это не то устройство, которое я взял бы с собой в рейс в Новую Зеландию, но его хватит на неделю обычных поездок.

Это все хорошо, но есть в данных наушниках и некоторые особенности, которые я пока не встречал у конкурентов. Одна из них то, на что еще способен чехол PI7. В его основании находится разъем USB-C, который не только заряжает внутреннюю батарею, но и позволяет передавать аудио. Вы можете подключить его через специальный кабель к аналоговому выходу устройства (разъем 3,5 мм), сигнал с которого будет оцифрован, и передан на вкладыши по Bluetooth с кодеком aptX HD. Это значительно расширяет возможности использования PI7 и выгодно отличает их от конкурирующих моделей, у которых нет подобной функции.

Кроме того, Bower & Wilkins удалось сделать беспроводные наушники очень привлекательными и удобными в использовании. Полированные металлические секции вкладышей выглядят превосходно, а общая форма и размер PI7 достаточно компактны, чтобы они слишком торчали из вашего уха. При этом наушники B&W сидят в ушах не только комфортно, но и надежно, по крайней мере, для обычных пользователей, не увлекающихся экстремальными видами спорта.

Как проходило тестирование PI7?

Большая часть тестирования PI7 производилась с помощью Oppo Find X2 Neo, который имеет поддержку aptX Adaptive и HD, для качественного воспроизведения музыки. Часть тестирования также проводилось с помощьюAstell & Kern Kann. Затем iPad Pro был использован для тестирования качества звука с AAC, а ноутбук Lenovo T15P обеспечил возможность тестирования через USB и 3,5-мм подключения. Музыкальный материал почти полностью был с сервисов Qobuz и Deezer, также использовалось некоторое количество видеороликов.

Качество звучания

PI7 продемонстрировали звучание, которое я уже отмечал для модели Signature, но в миниатюре. Сопряжение с Oppo сработало сразу, а подсказки и сообщения, выводимые приложением, значительно упрощают процесс подключения. После установки соединения PI7 работали стабильно и безупречно переподключались 19 раз из 20.

Надо заметить, что Oppo и PI7, работающие вместе, очень чувствительны к определенным типам помех. Например, мониторы дверных датчиков в супермаркетах заставят два устройства либо разорвать соединение, либо пропустить трек. Впрочем, это происходило не во всех магазинах, так что серьезной претензии здесь нет. Но принять во внимание этот факт стоит.

За исключением этого, PI7 сразу произвели на меня сильное впечатление. Во-первых, в эту модель были перенесены все особенности, которыми Bowers & Wilkins наделила свои полноразмерные наушники. Чувствительность сенсоров управления PI7 на обоих вкладышах и работа системы шумоподавления были выше всяких похвал. Качество звука при разговоре по телефону приемлемое, если шум ветра не слишком высок, но это относится ко всем моделям данного класса. На практике PI7 ничем не уступает ни одному из конкурентов, которые я тестировал.

И наконец, хорошее звучание. Действительно, хорошее. Со всеми беспроводными наушниками есть один волшебный момент когда вы забываете, что используете именно беспроводную связь, даже при внимательном прослушивании музыки, и PI7 в этом отношении превосходит всех.

Typhoons от Royal Blood, возможно, не самая Hi-Fi-запись, однако ее насыщенный, взрывной звук способен прижать вас к креслу. PI7 удается поддерживать порядок среди этого музыкального хаоса, не теряя при этом его напора. Даже работая на высоких уровнях громкости, PI7 невозмутимы. Замечательно то, что контролируемость звука не уменьшает удовольствия от прослушивания музыки. Мощная начальная композиция Trouble's Coming по-прежнему остается в полной мере бунтарской, хотя и чуть-чуть управляемой.

Если вы хотите насладиться чем-то более аудиофильским, то PI7 способны и на это. Композиция Wilted Пэрис Джексон имела богатую и широкую звуковую сцену, в которой и вокал, и аккомпанирующие инструменты достоверны и правильно расположены в пространстве. Даже при интенсивной работе шумоподавления какого-либо искусственного влияния на звук практически не заметно. PI7 звучали так, как будто я использовал проводное соединение, и даже с учетом того, что в моем распоряжении было несколько классных наушников такого типа, я не спешил расстаться с этими вкладышами.

Переключение на AAC через iPad действительно частично снижает качество звука, потому что у этого кодека более низкий битрейт. Если на Oppo музыка с сервисов Qobuz и (с потерями) Deezer звучит по-разному, то на iPad эта разница теряется. Это все еще хороший звук, но, очевидно, Apple оставила в нем какой-то запас, что бы полностью реализовать в собственном AirPod Pro, и, тем самым, дать им определенные преимущества. Однако в случае мобильного использования звук все равно вполне хорош.

А как насчет системы подключения через чехол? Она работает и работает хорошо. USB-соединение практически не имеет преимуществ по сравнению с Oppo, поэтому использование PI7 с ноутбуком становится бесполезным занятием. Подключение через аналоговый выход шумнее, чем другие варианты, и несколько снижает качество звука, но это все еще уникальная функция, изучением которой, я не сомневаюсь, сейчас вплотную занимаются конкуренты. Насколько она нужна именно вам отдельный вопрос, но подобное, на мой взгляд, сейчас есть только у PI7.

Заключение

В основе любых дебатов о ценности PI7 для многих пользователей - оправдывают ли они стоимость на $150 фунтов выше, чем у AirPod Pro.

стоимость в России на 05.2021 ~ 29 990

На этот вопрос есть два ответа: один совершенно очевидный, а другой - более тонкий. Если вы не являетесь пользователем iPhone и у вас есть достойная реализация aptX, то качество звука PI7 за счет более совершенного кодека будет выше. Если вы пользователь iOS, решение больше зависит от личных предпочтений и от того, есть ли у вас дополнительные $150, но я думаю, что PI7 все же будут лучше. Качество реализации шумоподавления, качество сборки и уровень комфорта, предлагаемые здесь, в значительной степени являются лучшими в данном классе. Bowers & Wilkins не спешила выпускать полностью беспроводные наушники, но результат впечатляет и на сегодня PI7 являются бесспорной самой выгодной покупкой.

Вердикт

Понравилось
Превосходное качество звука, особенно с высококачественными кодеками Bluetooth
Отличное шумоподавление
Удобные и качественно сделанные

Не понравилось
Небольшое время автономной работы вкладышей
Звучание с использованием кодека AAC не впечатляет
Возможны конфликты с внешним оборудованием
Высокая стоимость


Оценки:

Качество сборки: 9
Легкость использования: 9
Качество звука: 9
Дизайн: 9
Чувствительность: 9
Вердикт: 9

Основные технические характеристики Bowers & Wilkins PI7

Тип:

вкладыши, полностью беспроводные, с активным подавлением шумов

Излучатели:

9,2 мм динамический + арматурный

Частотный диапазон:

10 Гц - 20 кГц

Чехол-зарядник в комплекте:

да

Заменяемые внутриушные вставки:

да

Соединение:

Bluetooth SBC, AAC, aptX, aptX HD, LLC, Adaptive

При подготовке обзора использовались материалы с www.avforums.com (перевод с английского - hifiNews.RU)


Подробнее..

Чем заняться, пока выходные посмотреть передачи из 90-х или поставить неспешные видео в качестве фона

08.05.2021 14:13:54 | Автор: admin

Ранее мы разобрались с тем, какую музыку слушали бразильцы в 40-х годах прошлого века и рассказали, какие радиостанции популярны на Тибете. Сегодня продолжаем тему находок и обсуждаем видеосервисы, позволяющие путешествовать, не вставая с кресла [привыкать к ним, конечно же, не нужно, а вот поискать что-то занимательное вполне можно].

Фотография: Armin Lotfi. Источник: Unsplash.comФотография: Armin Lotfi. Источник: Unsplash.com

My 90s TV

Этот сайт оформлен в стиле старого телевизора с кинескопом. Его разработал Джоуи Като, специалист по графическим интерфейсам в Netflix. Раритетный дизайн выбран неслучайно тут можно посмотреть мыльные оперы, ток-шоу, трейлеры фильмов и детские телепередачи, которые крутили по американскому ТВ в 90-х годах.

Тут есть матчи WWF от 1995 года, выпуск ток-шоу Опры Уинфри с черепашками-ниндзя и тысячи музыкальных клипов например, на песню Groove Is In The Heart коллектива Deee-Lite или Another day in paradise Фила Коллинза. Резиденты Hacker News, где завирусилась новость о сервисе My 90s TV, с удовольствием изучают исторические новостные сводки и отмечают, как менялся мир и отношение к проблемам человечества с течением времени.

Фотография: . Источник: Unsplash.comФотография: . Источник: Unsplash.com

My 90s TV воспроизводит ролики, которые находит на Ютубе, поэтому довольно часто на экране возникает надпись о том, что видео более недоступно. К сожалению, это немного разрушает магию и мешает погрузиться в атмосферу прошлых лет. Однако если вдруг вы захотите перенестись еще дальше во времени, то автор проекта также представил проигрыватели с музыкальными клипами, передачами и рекламными роликами 70-х и 80-х годов прошлого века. Во многих из них на фоне играет кантри или поп-музыка визитные карточки того периода. Эти треки проникли в даже в рекламу очистителя топливной системы карбюраторных автомобилей.

Slow TV Map

В отличие от My 90s TV, этот ресурс предлагает переместиться не во времени, но в пространстве. Здесь собраны расслабляющие видео из путешествий, снятые в разных точках планеты эти места отмечены на интерактивной карте. Вообще, Slow TV, или Медленное телевидение, это отдельный телевизионный жанр, в котором демонстрируются многочасовые сюжеты без склеек, происходящие в реальном времени. Первым такой ролик показал норвежский телеканал NRK в 2009 году. Это была семичасовая запись движения поезда из Бергена в Осло.

Slow TV Map продолжает традицию, поэтому все видеозаписи здесь выложены as-is, без разговоров, обработки и музыки только со звуками природы и окружающего мира. На сайте есть поездка на машине по норвежскому серпантину, три часа пейзажей, проносящихся мимо окна поезда из города Йювяскюля в Хельсинки, а также путешествие под парусом до Канарских островов. Контент можно отфильтровать по типу транспорта, на котором он был снят, и выбрать продолжительность записи: от получаса до десяти часов.


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


Что еще интересного есть в нашем Мире Hi-Fi:


В нашем блоге на Хабре:


Подробнее..

Почему противостояние Эппл мьюзик и Спотифай в вопросе выплат за стримы ни на что не влияет

15.05.2021 12:11:56 | Автор: admin

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

Фотография: Kuba Boanowski. Источник: Wikimedia.Фотография: Kuba Boanowski. Источник: Wikimedia.

Что случилось

По данным Уолл стрит джорнал, представители Эппл мьюзик разослали информационное письмо музыкантам и менеджерам лейблов, которые сотрудничают с площадкой, где разъяснили, как именно обстоят дела с выплатами за прослушивания треков. Журналисты издания изучили документ и сразу же сделали вывод о том, что роялти Эппл вдвое выше. Более того, они привели статистку самих площадок за прошлый год и отметили, что Спотифай в среднем перечислял по 0,00437 доллара, а Эппл мьюзик 0,00735 доллара за стрим.

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

Сложно сравнивать

Публикацию Уолл стрит джорнал раскритиковали коллеги журналистов из Вэраети. Им удалось получить аналогичное письмо Эппл мьюзик от трех независимых друг от друга источников, однако прямых заявлений о двукратном превышении выплат по сравнению со Спотифай в нем обнаружить не удалось, как и каких-либо упоминаний этой стриминговой платформы.

Фотография: Toa Heftiba. Источник: Unsplash.comФотография: Toa Heftiba. Источник: Unsplash.com

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

При этом платформы не проводят прямые транзакции, а лишь направляют около 52% [Эппл мьюзик] и 75-80% [Спотифай] лейблам и дистрибуторам, которые удерживают свою комиссию и только после этого распределяют остаток между авторами. Поэтому сравнивать суммы, в действительности поступающие последним, просто-напросто некорректно. Отличаются как внутренние бизнес-процессы площадок, так их договоренности с дистрибуторами, плюс присутствуют и другие факторы. Так, Эппл мьюзик еще и определяет принадлежность слушателей к той или иной стране, и нельзя исключать того, что этот момент оказывает влияние на выплаты музыкантам.

Более того, аудитория Спотифай превышает число пользователей Эппл мьюзик примерно в два раза. Да и каких-либо дополнительных источников дохода как у Эппл у нее нет.

Нет прозрачности

Критика со стороны музыкантов не утихает. Как вы можете видеть, к ней опосредованно подключаются и конкуренты то одной, то другой стриминговой платформы. Поэтому Спотифай решил действовать на опережение и около месяца назад запустил сайт с развернутыми объяснениями о том, как стриминговая платформа производит выплаты музыкантам.

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

Фотография: Amirr Zolfaqari. Источник: Unsplash.comФотография: Amirr Zolfaqari. Источник: Unsplash.com

Так или иначе, громкие заявления, вброшенные в медиа, и подобные трансперенсиинициативы ничего не меняют. Финансовая модель, по которой работают стриминговые площадки, и их подход к вычислению размера выплат остается прежним. Пока о нем знает не так много начинающих авторов и исполнителей. Да и сами платформы слишком заняты PR-войной и продвижением в СМИ показателей, не имеющих ничего общего с реальными выплатами. Поэтому существенных изменений на стороне монополистов отрасли ждать не приходится, как и резкого роста доходов небольших групп, инди-авторов и даже профессиональных музыкантов.


Дополнительное чтение в нашем Мире Hi-Fi:


Подробнее..

Обзоры аудиотехники и тематические гайды обсуждаем новые материалы из Мира Hi-Fi

23.05.2021 12:20:57 | Автор: admin

Вчера мы поговорили о трех парах напольников от Arslab, DALI и Monitor Audio, а сегодня обсудим беспроводную портативку, полочники, проигрыватели винила и подборки сцен из фильмов, которые точно подойдут для тестирования проекторов или телевизоров.

Фотография: Troy T. Источник: Unsplash.comФотография: Troy T. Источник: Unsplash.com

Переносной музыкант. Эксперты Stereo.ru поделились результатами компактного, но достаточно информативного теста беспроводной колонки Harman Kardon Citation 200. Это умная акустика, выполненная в духе конструктивных и дизайн-особенностей других аудиосистем из модельного ряда Citation. Производитель сделал ставку на минимализм, устойчивую к загрязнениям ткань и мобильность: колонка весит менее трех килограмм, обладает откидывающейся гибкой ручкой и средними для своего класса габаритами [178 x 219 х 172 мм].

Citation 200 работает до восьми часов подряд на одном заряде, а восстанавливает силы за три часа. Поддерживает Google Home, AirPlay и выделяется приличными 120-мм басовиком и 25-мм твиттером по мнению журналистов издания, они позволяют расслышать заметно больше, чем выдают сопоставимые по габаритам беспроводные модели, но при этом Citation 200 дает слушателю отдохнуть от концентрации на нюансах и особенностях звучания акустики.


Приятный сюрприз для меломанов. Рассказываем об акустике Arslab Stereo One, которую ранее отмечали в подборке доступных полочников. Она тоже выполнена в концепции минимализма, но начинка кабинетов здесь весьма и весьма технологична. Однако в обзоре речь идет не только об этом. Автор достаточно подробно описывает впечатления от прослушивания данной системы и делится мнением о том, кому и для каких пространств она подходит.


Прямой привод и потенциал для роста. Красочный тест проигрывателя винила Lenco L-3808 от журналистов Stereo.ru. Впечатления от форм-фактора и конструкции, базовые характеристики, процесс первичной настройки, комплектация тут рассмотрено все и присутствуют снимки с крупными планами основных элементов устройства. Помимо этого есть мнение по итогам прослушивания привычных для эксперта композиций, компактные выводы о потенциальных недостатках и достоинствах, плюс паспортные данные системы.


Не просто адаптер. Это устройство пригодится владельцам наушников с классическими джеками для подключения к смартфонам и планшетам на Android по USB-C. На борту у него есть неплохой ЦАП с поддержкой дискретизации до 32 бит/384 кГц и усилителем, что отличает устройство от обычного переходника. В материале мы обсуждаем этот гаджет чуточку подробнее рассматриваем форм-фактор, различные use-кейсы, настройки и впечатления от звучаниясистем с его участием. Конечно же, делимся и базовыми характеристиками.


Бюджетные спортивные вкладыши. Делимся достаточно насыщенным, но при этом компактным обзором, который подготовили журналисты What Hi-Fi?. Здесь речь идет о беспроводных наушниках Sony WF-XB700. Все за и против, конструктивные особенности, технологии, юзабилити этой модели, звук, экспертные оценки, ближайшие аналоги, плюс множество других нюансов вы найдете в этом материале профильного издания.



Как правильно выбрать проигрыватель винила. Эксперты What Hi-Fi? помогают познакомиться с вертушками и разобраться с наиболее значимыми факторами в процессе подбора, покупки и непосредственного использования таких устройств в деле. От бюджета, оснащенности, картриджей и других комплектующих до компоновки аудиосистемы и ее настройки разбор каждого момента вынесен в соответствующий подраздел гайда.


Как интегрировать проигрыватель винила в вашу аудиосистему. Еще одно руководство от What Hi-Fi? на этот раз журналисты издания разбирают подключение проигрывателя к различным компонентам аудиосистемы. Одни из наиболее популярных вариантов: интеграция с саундбаром, звуковой подставкой для телевизора и беспроводной колонкой. Еще один подключение к AV-ресиверу, но есть и гораздо более интересный кейс включение проигрывателя винила в систему Sonos. Все эти варианты рассмотрены в материале.


Словарь терминов и сокращений. Разбираем наиболее часто употребляемые фразы из мира аудиотехники простыми словами. Здесь есть более пятидесяти терминов различной сложности с компактным и понятным объяснением: от фазоинвертора и рупоров до балансного подключения и кодека MQA здесь есть все, что может понадобиться для погружения в мир Hi-Fi.


Сцены из фильмов для проверки телевизора или проектора. Если вы находитесь в процессе выбора новой модели попросите поставить хотя бы некоторые из этих сцен прямо в шоуруме. С их помощью вы сможете увидеть, как техника справляется с воспроизведением задумки режиссера того или иного фильма. Эксперты What Hi-Fi? поделились рекомендациями о том, на какие нюансы стоит обращать внимание при присмотре каждого из фрагментов.

В качестве дополнения избранные 4K Blu-ray-диски для тестирования.


Что еще есть у нас в блоге на Хабре:


Подробнее..

Музыка, которую мало кто слышал, или успели забыть

30.05.2021 12:21:38 | Автор: admin

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

Фотография: Amaryllis Liampoti. Источник: Unsplash.comФотография: Amaryllis Liampoti. Источник: Unsplash.com

Forgotify

В библиотеке Spotify десятки миллионов треков, но согласно статистике площадки, пятую часть из них мало кто слушал. Все эти композиции собирает Forgotify. Чтобы погрузиться в неизведанные глубины стримингового сервиса, достаточно нажать на Start Listening.

Разумеется, есть причина, по которой у представленных треков счетчик прослушиваний не может оторваться от нулевой отметки. Многое из того, что предлагает Forgotify это любительские каверы и ремиксы, а также странная кантри-музыка и рэп, записанный где-то в гараже. Но не все так плохо, и порой даже попадаются настоящие hidden gems. Так, резиденты Reddit нашли интересный и расслабляющий фолк, а также пост-панк из 80-х годов прошлого века.

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

Camp Explorer

Если хочется получить больше контроля над выдачей слабо известных треков, можно обратиться к сайту Camp Explorer. Это движок для поиска музыки на Bandcamp. Введите в поисковую строку название жанра, и сервис покажет релевантные альбомы.

Фотография: Rasheed Kemy. Источник: Unsplash.comФотография: Rasheed Kemy. Источник: Unsplash.com

В выдаче встречаются работы музыкантов, вокруг которых уже сформировалась определённая фан-база, но многие композиции мало кто слушал. Например, тут есть микстейп малоизвестного рэпера Centinel, увлекающегося этим занятием еще с 2000 года, а также рок-альбом с нечленораздельными текстами от исполнителя s1m0n. Если судить по оформлению обложки и псевдониму, он определенно воодушевлялся мультфильмом Adventure Time.

Исходный код сервиса Camp Explorer открыт и выложен на GitHub. При желании его можно использовать, чтобы разработать аналогичный сервис для других платформ.

Vintage Obscura

Это тред на Reddite, участники которого публикуют песни, написанные более 25 лет назад. Обязательное условие число просмотров у записей на YouTube не должно превышать тридцати тысяч. Спектр жанров обширен дарквейв, джаз-рок, поп и даже фанк времен СССР. К последнему можно отнести Танец Шамана в исполнении вокального квартета Улыбка. Её много лет назад выпускали на виниловой пластинке Мелодия.

Существует и ресурс vintageobscura.net. Он собирает все музыкальные записи из треда на Reddit в удобном формате. Платформу можно использовать в качестве стриминг-сервиса.

Soundcloud Gems

SoundCloud изначально задумывалась как площадка для инди-музыкантов, поэтому неудивительно, что здесь можно найти огромное количество редких композиций. Поисками этих сокровищ занимаются пользователи Reddit в тематическом треде r/soundcloudgems.

Одним из исполнителей, работу которого недавно опубликовали, стал liltimbo of mokum. Он пишет треки в стиле environmental trap, чем-то напоминающим лоу-фай. Пока что у музыканта всего тридцать три подписчика, но все может перемениться благодаря реддиторам.

Некоторые композиторы сами выкладывают свои работы в тред, надеясь получить признание сообщества. Например, так сделал Fuzen, пишущий музыку в жанре chill-hop. Его дискография включает больше двадцати треков, и ими наслаждается примерно двести человек.

Разумеется, толику внимания удается завоевать не всем. Многие музыканты жалуются, что устали выкладывать свои работы в интернет, так как никто не хочет их слушать. Молодые композиторы спрашивают совета в социальных сетях, как им разорвать порочный круг, или иронизируют на эту тему, называя песни соответствующим образом например, Another Useless Minute of Music No One Listens To.

Сервисы подобные Forgotify и Camp Explorer, а также сообщества вроде r/soundcloudgems дают хотя и небольшой, но шанс быть услышанными и, возможно, дарят необходимую мотивацию дальше заниматься музыкой и творить несмотря ни на что.


Другие материалы из нашего Мира Hi-Fi:


Подробнее..

Лонгбоксы, битва за стриминг и вендор-лок для аудиоконтента в подборке материалов из Мира Hi-Fi

12.06.2021 14:07:17 | Автор: admin

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

Фотография: Chloe Evans. Источник: Unsplash.comФотография: Chloe Evans. Источник: Unsplash.com

Зачем музыкальной индустрии понадобились лонгбоксы. Рассказываем о способе упаковки музыкальных альбомов, который был распространен за несколько лет до появления CD-кейсов и их различных модификаций для других форматов. Что у него общего с конвертами для винила, причем тут конструкция прилавков для пластинок, за что критиковали лонгбоксы, и как музыкальная индустрия избавлялась от них об этом в нашем историческом разборе.

Почему ученые рекомендуют не перебарщивать с прослушиванием белого шума. Популярность приложений-генераторов белого и розового шума еще не показатель их абсолютной пользы. О том, что это за сервисы, за счет чего они привлекают к себе внимание, кто из специалистов выступает за и против их широкого применения в повседневной жизни общества, в новом аналитическом материале из нашего Мира Hi-Fi.

Каким образом проигрыватель винила производит звук. Журналисты What Hi-Fi? делятся разбором для тех, кто только знакомится с виниловыми проигрывателями и хотел бы чуточку лучше понимать, как они устроены. Канавка, картридж, звукосниматель, фонокорректор, усилитель и другие базовые элементы и нюансы в компактном гайде о том, как функционируют вертушки, и что им необходимо, чтобы играть и радовать владельцев своим звучанием.

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

Сделают ли из музыки маркетинговый инструмент. Разбираемся, могут ли это осуществить те самые стриминговые платформы, которые сегодня находятся под ударом критики как слушателей, так и авторов треков. Размышляем о том, как эволюционирует отношение композиторов и исполнителей к технологическим новшествам, и стоит ли ждать современной музыкальной индустрии чего-то похожего на забастовки сороковых годов в США.

Аудиосоцсети наступают, но пока малым числом. Пока все окончательно не забыли о том, что когда-то была популярна такая соцсеть, как Clubhouse, ее потенциальные конкуренты и альтернативные проекты стремятся показать себя аудитории. В этом материале мы поговорим лишь о некоторых из них Nibble, Cappuccino, Audlist и других примечательных стартапах в этой нише. Все они так или иначе базируются на работе со звуком и аудиоинтерфейсами.

Фотография: Devin Avery. Источник: Unsplash.comФотография: Devin Avery. Источник: Unsplash.com

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

Сделка Square и Tidal больше, чем инвестиции в стриминг музыки. Делимся примечательными нюансами и бэкграундом одной из наиболее громких сделок на рынке музыкальных сервисов. Речь о сотрудничестве Шона Картера, более известного под псевдонимом Jay-Z и владеющего Tidal, и Джека Дорси, запустившего Twitter и Square. Рассказываем, что объединяет предпринимателей помимо музыкальных сервисов.

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


Подборки напольной акустики в нашем блоге на Хабре:

Подробнее..

Музыка операционных систем как стандартные звуки и код превращают в полноценные композиции

14.06.2021 08:15:59 | Автор: admin

Ранее мы уже рассказывали о музыке зашитой в разных версиях ОС Windows: вспоминали композицию CANYON.MID, на которую сегодня существует огромное количество каверов, и трек Beautiful Way, демонстрировавший возможности мультимедийного формата ASF.

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

Фотография: Ricardo Gomez. Источник: Unsplash.comФотография: Ricardo Gomez. Источник: Unsplash.com

Музыкальные оповещения

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

Один из них со звуками Windows еще в 2007 году записал Robbi-985. В свое время он занимался моддингом загрузчика Windows XP и написал несколько тематических программ. Для работы с семплами автор использовал ModPlug Tracker (ныне OpenMPT), с помощью которой готовят трекерную музыку. Она представляет нечто среднее между цифровой и нотной записью, и использует импульсно-кодовую модуляцию. В каком-то трек Robbi-985 стал культовым и набрал более 12,5 млн просмотров на YouTube. Некоторые комментаторы отмечают, что даже спустя пятнадцать лет регулярно возвращаются к его прослушиванию.

Нельзя не отметить еще один трек. Здесь в качестве семплов автор использовал звук всплывающего окна с ошибкой из разных версий Windows. Комментаторы под видео заметили, что композиция напоминает OST к старым видеоиграм. И хотя трек был опубликован в 2008 году, он продолжает набирать просмотры по сей день.

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

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

Музыка сборки ядра

Заставить звучать операционную систему можно и с помощью сторонних программ по этому пути пошел инженер Дэвид Поль (Devin Pohl). В аудиоредакторе SoX, способном преобразовать в аудиотрек любую текстовую информацию, он озвучил код, исполняемый во время сборки ядра Linux. В 2019 году он даже выпустил тематический альбом Sounds of the Compiling Linux Kernel. Там можно найти треки с названиями вроде Building SBCL и Building TensorFlow.

В начале этого года инженер перезаписал и переосмыслил ранее записанную музыку, а затем залил все в плейлист на стриминговом сервисе. Также он выложил код своего проекта на GitHub. Стоит заметить, что генерируемый звуковой ряд сложно назвать музыкальным и сколько-нибудь приятным для слуха (это признает и автор) он напоминает значительно более резкий звук dial-up модема. Но даже у таких необычных экспериментов есть свои. Здесь как и всегда работает правило: Красота в глазах смотрящего. Или в этом случае в ушах.


Дополнительное чтение в нашем Мире Hi-Fi:

Подробнее..

Стимул для изменений как борьба с яблочниками отразилась на крупнейшей стриминговой платформе

19.06.2021 14:07:57 | Автор: admin

Недавно мы писали о противостоянии Apple и Spotify, в рамках которого компании продолжают мериться размерами роялти для музыкантов. Сегодня продолжим тему на повестке антимонопольное разбирательство и новые платные продукты.

Фотография: Joran Quinten. Источник: Unsplash.comФотография: Joran Quinten. Источник: Unsplash.com

Пожалуйся, и тебя услышат

Еврокомиссия начала антимонопольное расследование в отношении американской ИТ-компании еще летом прошлого года. Триггером стала жалоба шведского стримингового сервиса. Его представители считают, что владелец магазина приложений злоупотребляет своим положением на рынке, и его комиссия в размере 30% от всех сборов за подписку несправедлива.

Спустя год после начала разбирательства европейский регулятор наконец направил Apple уведомление о претензиях (statement of objections). Его цель получить официальный ответ на обвинения от организации, в отношении которой ведется расследование. Члены комиссии поставили под вопрос законность обязательного использования внутренних механизмов для покупок в музыкальных приложениях. Также на повестке оказался свод правил App Store, запрещающий разработчикам сервисов потоковой передачи музыки рассказывать юзерам об альтернативных способах оплаты.

Регулятор предоставит ИТ-компании возможность высказать собственную точку зрения, чтобы попытаться склонить чашу весов в свою пользу. Однако эта задача может быть сложнее, чем кажется на первый взгляд. В начале июня к антимонопольному расследованию присоединилась Европейская организация по защите прав потребителей в качестве заинтересованной третьей стороны. Её представители не настроены идти на компромисс и убеждены, что граждане ЕС должны иметь свободный доступ ко всем музыкальным платформам без ценовых ограничений.

Положение американской корпорации компрометирует и тот факт, что она подвергается серьезному давлению у себя на родине. В США уже несколько месяцев идут суды с компанией Epic Games, которая выступает против 30-процентной комиссии в App Store. При этом в начале года разбирательства переместились в европейскую юрисдикцию.

Фотография: Arisa Chattasa. Источник: Unsplash.comФотография: Arisa Chattasa. Источник: Unsplash.com

Чем и когда закончится антимонопольное расследование неизвестно, а пока стриминговый сервис теряет деньги. Несмотря на рост аудитории общее число пользователей уже перевалило за 150 млн платформа закрыла последний финансовый квартал с убытками в 125 млн евро. Чтобы компенсировать потери, сервис объявил о повышении тарифов на премиум-подписку практически по всему миру цена увеличилась на 1012%.

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

Свежие идеи и новая конкуренция

В то же время Spotify продолжает экспериментировать с новыми способами монетизации и привлечения аудитории. Недавно компания представила собственный hardware-аудиоплеер для автомобиля Car Thing. Это компактное устройство воспроизведения потоковой музыки для транспортных средств, не оснащенных современной инфотейнмент системой. Гаджет подключается к стереосистеме автомобиля по Bluetooth или AUX и позволяет переключать треки с помощью голосовых команд или сенсорного диска.

Устройство планируют продавать по цене 80 долларов, но пока приобрести его нельзя. Хотя ограниченную партию уже раздают бесплатно пользователям на территории США. Первые счастливые обладатели Car Thing довольны гаджетом он легкий и работает достаточно быстро. Однако ряж журналистов отнесся к новинке со скептицизмом. Некоторые даже назвали девайс бесполезным, так как он требует подключения к мобильному телефону. И здесь невольно задаешься вопросом, а зачем нужен Car Thing, если можно слушать музыку со смартфона? Очевидно, что стриминговая платформа только тестирует новый продукт и оценивает реакцию сообщества, поэтому остается вероятность, что оно так и не попадет в массовое производство.

Фотография: Markus Spiske. Источник: Unsplash.comФотография: Markus Spiske. Источник: Unsplash.com

Еще одним нововведением шведской платформы для передачи потоковой музыки стали платные подписки на подкасты. Контент-мейкерам разрешат устанавливать цену за прослушивание отдельных выпусков три, пять или восемь долларов в месяц. Согласно первым отзывам, сервис имеет некоторые шероховатости с точки зрения UX/UI, но предлагает выгодные условия для авторов. Подкастеров освободили от комиссий до 2023 года, после она составит 5%. Примечателен тот факт, что пару месяцев назад Apple запустила аналогичный сервис. Правда в этом случае сами контент-мейкеры должны будут платить двадцать долларов ежегодно, чтобы предлагать подписку своим слушателям.

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


Еще о подкастах и стриминге в Мире Hi-Fi:

P.S. Что еще у нас есть в блоге на Хабре для дополнительного чтения пятерка экспертных обзоров аудиотехники: от внутриканальных наушников до напольной акустики.


Подробнее..

DevDay-подкаст, или что не так с онлайн-митапами

27.05.2021 08:07:06 | Автор: admin

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

DevDay

2ГИС проводит митапы под названием DevDay с 2012 года. За это время собирались примерно 50 раз, чтобы обсудить как жёстко-хардкорные темы, так и продуктово-теоретические. Формат обычный для митапов два-три интересных спикера, крутое общение, весёлое афтепати. Всё было очень круто и часто нам даже приходилось многим отказывать, так как банально не могли вместить всех желающих в большом конференц-зале офиса.

стабильно аншлагстабильно аншлаг

Что не так с онлайном

С приходом карантина лавочку пришлось свернуть и перейти в онлайн. В таком формате провели два митапа: говорили о C++ и про то, в чём заключается работа продакта.

Неоспоримый плюс онлайна можно позвать спикера из любой локации. Так, находясь в Новосибе, нам удалось пообщаться с Андреем Аксёновым и Александрой Кулачиковой из Москвы.

Но есть и очевидный минус мы не смогли повторить энергетику офлайна. Всё-таки разговаривать с телевизором между делами по дому и просмотром инстаграма это не то же самое, что вырваться на встречу с близкими по духу людьми и полностью погрузиться в тему. Спикеры это чувствовали и говорили, что эмоций не хватает.

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

Так и появился DevDay-подкаст. Формат подкастов позволяет не подстраиваться по времени и постоянно смотреть в экран, а запускать фоном в удобное время. Да и со спикерами удобнее договариваться о времени записи. Отдельно отмечу, что диалог всегда интереснее монолога.

DevDay-подкаст

Первые выпуски писали на коленке. Обычный рекордер, наушники от Айфона. Прежде чем заказывать красивые ретромикрофоны и обмазываться звукопоглощающими панелями, хотелось проверить гипотезу а смогу ли я говорить связно хотя бы 20 минут?. Получилось не сильно связно, но приемлемо. Особенно если верить в себя, что постепенно получится лучше. Да и с интересными гостями пока везёт.

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

микрофоны в кадре, звукача не видномикрофоны в кадре, звукача не видно

Кстати, о гостях и темах. Так или иначе они связаны с 2ГИС, компаниями экосистемы и их деятельностью. То есть примерно 100500 тем из разных сфер IT и бизнеса.

О чём первые пять выпусков

5. Школа 21

Беседа с Иваном Чубченко, директором Школы 21 в Новосибирске. Обсудили:

  • чем Школа 21 отличается от Школы 42 и Школ в Казани и Москве;

  • при чём тут 2ГИС и Сбер;

  • есть ли шанс поступить, если знания в программировании нулевые, а конкурс дикий. Да и как в целом проходит отбор;

  • в чём особенности обучения без учителей;

  • что не так с современной системой образования и где во всём этом место Школы.

Apple-подкасты / Google-подкасты / Я.Подкасты / YouTube / SoundCloud

4. О красоте и разнообразии карт

Андрей Кочанов, 2ГИС
Настя Барыкина, Ситимобил

Как стать дизайнером, который рисует карты, и чем сегодняшние карты отличаются от карт прошлого и будущего.

Apple-подкасты / Google-подкасты / Я.Подкасты / YouTube / SoundCloud

3. Возвращенцы

Саша Волохин, iOS-разработчик
Андрей Лузин, бэкенд-разработчик

Болтаем с ребятами, которые уходили из 2ГИС, а потом вернулись. Обсудили IT, зарплаты, компании и реализацию детских мечт. И главное почему сотрудники уходят даже их самых хороших компаний

Apple-подкасты / Google-подкасты / Я.Подкасты / YouTube / SoundCloud

2. Из разработчика в продакты

Вадим Смирнов, менеджер продукта в 2ГИС.

О чём говорили:

  • когда стоит идти в продакты,

  • мешает ли опыт разработчика управлять продуктом,

  • успел ли Вадим разочароваться в новой профессии или только идёт к этому.

Apple-подкасты / Google-подкасты / Я.Подкасты / Youtube / SoundCloud

1. Про общение

Максим Берёзкин, крайний за продукты 2ГИС

  • Зачем 2ГИС тратит ресурсы на информирование команд о фичах, метриках и деньгах.

  • Что такое Доставили, R&D Talks и продуктовый саммарайзинг

  • Нужно ли рассказывать в R&D о деньгах и продуктовых метриках

  • Какой эффект от всего этого.

Apple-подкасты / Google-подкасты / Я.Подкасты / YouTube / SoundCloud

Планы

В следующем выпуске хочется поговорить с Ильёй Таратухиным. Немного о нашем офисе в Петербурге, но больше о том, как руководитель команды фронтенд-инфраструктуры решился вернуться в 2ГИС в роли руководителя офиса разработки ПО.

Если же говорить о более долгих планах, то хочется продолжать находить интересные темы и спикеров. А ещё уже хочется свою микростудию с теми самыми панелями и микрофонами.

Если вам интересно более подробно узнать о 2ГИС и компаниях экосистемы, процессах и кейсах пишите в комменты, в личку или в Телеграм. Выберем самое интересное и запишем выпуск.

И, конечно же, ставьте лайк, нажимайте колокольчик, расскажите друзьям, делитесь мнениями что заходит, что не заходит, куда качать тему и с кем.

Подробнее..

Ультимативное сравнение систем распознавания речи Ashmanov, Google, Sber, Silero, Tinkoff, Yandex

27.05.2021 16:21:56 | Автор: admin

sandwich_fake


Какое-то время назад мы писали цикл статей про то, как правильно измерять качество систем распознавания речи, и собственно снимали метрики с доступных решений (цикл статей 1, 2, 3) (на тот момент и коммерческих и некоммерческих решений). На Хабре была выжимка из этого цикла в рамках этой статьи, но до масштабного обновления исследования, достойного публикации на Хабре, руки никак не доходили (это требует как минимум большого количества усилий и подготовки).


Прошло некоторое время и пора обновить наше исследование, сделав его по-настоящему ультимативным. По сравнению с прошлыми исследованиями изменилось или добавилось следующее:


  • Добавилось много валидационных сетов из разных реальных доменов;
  • На рынок вышел Сбер, в первую очередь интересно протестировать именно его;
  • Для чистоты эксперимента, мы не предупреждали разработчиков систем о доменах и факте проведения тестов;
  • Мы также попробовали немного протестировать пропускную способность сервисов (понятно, что мы не знаем какое железо и ограничения стоят в облаке);
  • Мы рассматриваем только коммерческие системы, к которым у нас получилось получить доступ и которые показали хоть какой-то намек на "всеядность", работу с холодного старта и "энтерпрайзность";

Методология


Мы старались следовать нашей стандартной методологии (см. ссылки выше) с небольшими изменениями:


  • Тестируем одни и те же данные в формате wav (или просто PCM);
  • Мы слали запросы во все системы в 8 параллельных потоков (если было очень много таймаутов или все было медленно, то снижали);
  • Расчет скорости делался отдельным небольшим прогоном без всяческой пред- или пост-обработки, чтобы не "загрязнять" метрики, допустим, нормализацией или ресемплингом;
  • Считаем основную метрику WER. Не пугайтесь высоких показателей в районе 20% WER, нужно понимать что в самой разметке заложено порядка 5% WER и что иногда система получает штраф за неверную форму слова (но корень сохраняется, подробнее писал по ссылке в начале статьи);
  • По причине большого количества доменов в этот раз на каждый домен случайно выбрали по 1 часу аудио. Стабильные результаты как правило получаются с 2-3 часов аудио (поэтому некоторые метрики могут визуально быть "хуже" прошлых тестов). За тесты в Гугле нам пришлось заплатить почти 500 долларов!;
  • Метрики считаются на нормализованных текстах (то есть без цифр, "как слышится так и пишется"), так как системы нормализации могут быть разными и строго говоря к качеству распознавания имеют непрямое отношение и зачастую делаются под домен;
  • Если у системы нет такого функционала, то мы нормализуем тексты самостоятельно. В любом случае это влияет в рамках 1 п.п. WER, мы проверяли;
  • Сначала мы пробовали слать ogg/opus в системы, которые его поддерживают, но потом отказались от такой идеи, потом что резко вырос процент "пустых" ответов;
  • Все данные по умолчанию отправляются с родной частотой дискретизации (8 или 16 kHz), но мы не записывали исходную частоту дискретизации всех оригинальных аудио до обработки;

Сухие метрики


Все модели, кроме Silero bleeding egde, это модели упакованные в production сервисы.


Датасет Ashmanov Google Google Sber Sber Silero Silero new Tinkoff Yandex
default enhanced IVR prod bleeding edge
Чтение 10 11 10 7 7 6 8 13
Умная колонка 35 24 6 30 27 27 14
Энергосбыт 24 39 41 20 16 11 15 13
Звонки (такси) 47 16 18 22 32 13 12 21 15
Публичные выступления 28 27 24 18 14 12 20 21
Финансы (оператор) 31 37 37 24 33 25 24 23 22
Аэропорт 31 36 37 26 21 22 25 21
Аудио книги 22 60 54 19 24 20 28 22
Радио 24 61 40 26 18 15 27 23
Умная колонка (далеко) 42 49 8 41 27 52 18
Банк 62 30 32 24 28 39 35 28 25
Звонки (e-commerce) 34 45 43 34 45 29 29 31 28
Заседания суда 34 29 29 31 20 20 31 29
Yellow pages 45 43 49 41 32 29 31 30
Финансы (клиент) 43 55 59 41 67 38 37 33 32
YouTube 32 50 41 34 28 25 38 32
Звонки (пранки) 44 72 66 46 41 35 38 35
Медицинские термины 50 37 40 50 35 33 42 38
Диспетчерская 61 68 68 54 41 32 43 42
Стихи, песни и рэп 54 70 60 61 43 41 56 54
Справочная 39 50 53 32 25 20 27

Также интерес представляет процент пустых ответов сервисов (не совсем ясно, это баг или фича, артефакт нагрузки или самих моделей, но где-то снижение нагрузки помогает снизить этот процент). Традиционно этот процент высокий у Гугла. И как ни странно он довольно высокий у Сбера (и там скорее всего это фича, так как их пропускная способность явно не узкое место).


Ashmanov Google Google Sber Sber Silero Tinkoff Yandex
default enhanced IVR
Чтение 0% 0% 0% 0% 0% 5% 4%
Умная колонка 0% 2% 0% 0% 4% 0%
Энергосбыт 1% 12% 13% 6% 0% 2% 1%
Звонки (такси) 0% 0% 0% 1% 0% 0% 7% 0%
Публичные выступления 0% 1% 0% 0% 0% 2% 0%
Финансы (оператор) 0% 0% 0% 2% 0% 0% 6% 0%
Аэропорт 0% 8% 10% 4% 0% 4% 0%
Аудио книги 0% 22% 6% 2% 0% 1% 0%
Радио 0% 19% 2% 3% 1% 4% 0%
Умная колонка (далеко) 0% 12% 0% 0% 1% 0%
Банк 0% 2% 3% 1% 1% 0% 5% 1%
Звонки (e-commerce) 0% 0% 0% 7% 1% 0% 7% 0%
Заседания суда 0% 0% 0% 1% 0% 4% 0%
Yellow pages 1% 13% 9% 14% 0% 2% 2%
Финансы (клиент) 0% 0% 7% 35% 9% 0% 5% 0%
YouTube 0% 13% 1% 6% 0% 1% 0%
Звонки (пранки) 1% 33% 12% 17% 5% 1% 1%
Медицинские термины 0% 1% 0% 7% 0% 6% 1%
Диспетчерская 3% 26% 28% 25% 0% 2% 4%
Стихи, песни и рэп 2% 19% 3% 25% 0% 1% 1%
Справочная 1% 12% 14% 9% 0% 3% 0%

Качественный анализ и интерпретация метрик


Неудивительно, что каждый силен в том домене, на котором фокусируется. Tinkoff на звонках в банк, справочную, финансовые сервисы. Сбер имеет ультимативно лучшие результаты на своей "умной колонке" (спекулирую, что они поделились в лучшем случае 1/10 своих данных) и в среднем неплохие показатели. IVR модель Сбера на доменах, где оригинальные данные лежат у нас в 8 kHz, показывает себя достойно, но она не ультимативно лучшая. Приятно удивил Яндекс в прошлых рейтингах их модели были не в списке лидеров, а сейчас точно лучше, чем в среднем по больнице. Другой сюрприз Google, который является аутсайдером данного исследования вместе с Ашмановым.


Также интересно посчитать количество доменов, где production модели поставщика лучшие / худшие (допустим с неким "послаблением" в 10% от лучшего или худшего результата):


Сервис Лучше всех Хуже всех
Ashmanov 0 7
Google 1 13 (9 у enhanced)
Sber 2 0
Sber IVR 4 4
Silero 13 0
Tinkoff 6 2
Yandex 10 1

Как и ожидалось наша модель показывает в среднем неплохие показатели на всех доменах, заметно отставая на банках и финансах. Также если смотреть по формальной метрике "на каком числе доменов модель лучшая или почти лучшая" то наша модель как минимум лучше всех генерализуется. Если включить в забег нашу bleeding edge модель (мы пока не выкатили ее еще), то она отстает только на "умной колонке" и банковских датасетах, лидируя уже на 17 доменах из 21. Это логично, так как у нас нет своей колонки и банки очень неохотно делятся своими данными даже приватно.


Удобство использования


У Сбера на момент тестирования было только gRPC API. Это не самое удачное решение для SMB клиентов с точки зрения удобства, имеющее более высокий порог на вход. Также в их реализации вообще не прокидываются важные ошибки (или отсутствуют в принципе, чем часто грешат корпоративные сервисы). Документация запрятана внутри портала их экосистемы, но в целом кроме лишней "сложности" проблем особо там нет, читать приятно. 40 страниц на два метода это конечно сильно (мы читали сначала в PDF), но документация хотя бы подробная и с примерами и пояснениями.


У Яндекса и Гугла стандартная корпоративная документация. Она несложная, но иногда длиннее, чем хотелось бы. Есть и обычные и потоковые интерфейсы. У Яндекса кстати она стала сильно приятнее и человечнее с момента, когда я в последний раз ее видел.


У Tinkoff само распознавание работает по умолчанию также через gRPC, а поверх написаны клиенты (в тех, которые мы разбирали было много лишнего). С учетом фокуса на enterprise (оставим за скобками этические, правовые и финансовые последствия монетизации банком ваших данных без явного согласия и возможности отказаться) это имеет больше смысла, чем то, что сделал Сбер. Это уже мои спекуляции, но скорее всего это в первую очередь артефакт разработки решения под свои нужды.


У сервиса Ашманова вообще нет документации, примеры не работают из коробки, пришлось немного позаниматься перебором для запуска. Отдельно отмечу, что обычно b2b сервисы не славятся читаемыми ошибками и читаемой документацией, но тут вообще не было ни ошибок, ни документации. Или 500-я ошибка или 200 с пустым ответом. Это создает легкий когнитивный диссонанс с учетом проработки анимации девушки-маскота, количества маркетинговых материалов и "успешных" кейсов.


ashmanov


У нашего сервиса само публичное АПИ весьма минималистичное и состоит из 2 методов (синтеза и gRPC нет еще в публичной документации) с примерами. Есть также gRPC АПИ, которое сейчас проходит обкатку. Наверное я тут не лучший судья, но основная ценность как мне кажется состоит в радикальной простоте для публичного АПИ и детальных инструкциях / сайзингах / опциях конфигурирования для более крупных клиентов.


Пропускная способность


Все АПИ, которые мы протестировали (кроме Ашманова) показали себя довольно бодро по скорости (это баг или фича решать вам). Для измерения пропускной способности мы считаем показатель секунд аудио в секунду на 1 поток распознавания (RTS = 1 / RTF):


Сервис RTS per Thread Threads Комментарий
Ashmanov 0.2 8
Ashmanov 1.7 1
Google 4.3 8
Google enhanced 2.9 8
Sber 13.6 8
Sber 14.1 1
Silero 2.5 8 4-core, 1080
Silero 3.8 4 4-core, 1080
Silero 6.0 8 12 cores, 2080 Ti
Silero 9.7 1 12 cores, 2080 Ti
Tinkoff 1.4 8
Tinkoff 2.2 1
Yandex 5.5 2 8 много пустых ответов

Поскольку никто не публикует сайзинги облачных и даже иногда коробочных (тут поправьте меня, если пропустил) версий своих систем публично (кстати прошлая версия нашего сайзинга например доступна по ссылке), то довольно сложно оценить адекватность работы систем по ресурсам. Ведь за АПИ может скрываться как одна VDS, так и сотни карт Nvidia Tesla, которыми любят хвастаться корпорации в своих пресс-релизах (что кстати частично подтверждается результатами Сбера пропускная способность там не падает от роста нагрузки совсем). Расчеты выше не являются заменой полноценным сайзингам.


В защиту нашей системы могу сказать, что за этим бенчмарком стоит довольно слабый сервер конфигурации EX51-SSD-GPU, у которого сейчас есть некоторая фоновая нагрузка и который скорее сейчас оптимизирован на скорость ответа а не на пропускную способность. Еще небольшой тонкий момент состоит в том, что мы считали время каждого запроса и суммировали и поэтому никак не нормализовывали результаты на пинг, но оставим это для следующих исследований.


Вообще меня очень приятно удивили результаты Сбера. На текущих версиях моделей у нас например сайзинг на 12 ядерном процессоре + GPU рассчитан на ~150 RTS. По идее это означает, что если мы поднимем тестовый и сервис на 12+ ядрах процессора на чуть более новой карточке, мы должны получить результаты более близкие к Сберу. У нас все равно не получается получить такие же высокие показатели без просадки от нагрузки, но какие-то выводы уже можно строить и получается все равно весьма достойно. Снимаем шляпу перед инженерами Сбера и ставим aspirational цель сделать наш сервис еще в 2-3 раза быстрее.


На цене мы останавливаться особо не будем (большая часть серьезных клиентов все равно не использует облако), но в очередной раз неприятный сюрприз преподнес Гугл выставив круглый счет за смешной (как нам кажется) объем. А ответ прост зачастую облачные корпоративные сервисы распознавания имеют не только крутой ценник (и в случае Гугла еще и в долларах), но и неочевидные системы округления вверх. В начале своего пути мы тестировали какой-то сервис из Великобритании который округлял до 60 секунд!


photo_2021-05-27_09-18-04


Небольшая ложка дегтя


Довольно приятно, что наш публичный некоммерческий датасет Open STT, неоднократно обсуждавшийся на Хабре, был предвестником релизов публичных данных, например от Сбера. Но долгосрочно все равно хотелось бы видеть хотя бы какую-то соразмерность вклада госкорпораций количеству вложенных в них публичных денег. В сравнении с похожими релизами на западе, мы пока сильно отстаем. Да и Яндекс традиционно не публикует ничего полезного в сфере распознавания речи, интересно почему.

Подробнее..

Разбираемся, как подавить шум в речи с помощью глубокого обучения и OpenVINO

31.05.2021 12:16:05 | Автор: admin

Данная статья будет полезна студентам и тем, кто хочет разобраться с тем, как происходит шумоподавление речи (Speech Denoising) с помощью глубокого обучения. На Хабре уже были статьи по данной тематике несколько лет назад (раз, два), но нашей целью является желание дать несколько более глубокое понимание процесса работы со звуком.

Картинка со звукомКартинка со звуком

Задача шумоподавления с помощью глубокого обучения и OpenVINO попала в руки к студентам ITlab учебно-исследовательской лаборатории Университета Лобачевского при поддержке компании Intel. Студенты, начиная со 2 курса, под руководством преподавателей работают над интересными инженерными и научными проектами. Создание высокопроизводительного программного обеспечения требует применения специальных инструментов разработчика и технологий параллельного исполнения кода, и в рамках проектов лаборатории студенты с ними знакомятся. Данная статья является результатом работы студентов Вихрева Ивана, Рустамова Азера, Зайцевой Ксении, Кима Никиты, Бурдукова Михаила, Филатова Андрея.

Что есть звук в компьютере

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

Как получить чистый звук, не покупая студийный микрофон и не обивая всю квартиру звукоизолирующими материалами? Над этим вопросом люди думают ещё с конца прошлого века. Решением стали программы, оцифровывающие и редактирующие входящий из микрофона звук.

Lizemijn Libgott / Vice.comLizemijn Libgott / Vice.com

Записанный звук состоит из множества звуковых волн, одновременно попадающих на датчик микрофона в некоторый промежуток времени, в результате чего мы получаем длинный вектор из чисел - это амплитуды (громкость) сигнала в течение небольшого времени. Частота сигнала проводного телефона 8kHz, это значит что мы за секунду 8000 раз измеряем амплитуду (громкость) суммарного сигнала, звуковые карты как правило используют частоту 44.1 или 48kHz.

На этой картинке 3 секунды звука или график на 120 тысяч значений. При таком сильном сжатии по оси X кажется, что мы закрасили площадь под графиком. На этой картинке 3 секунды звука или график на 120 тысяч значений. При таком сильном сжатии по оси X кажется, что мы закрасили площадь под графиком.

Воспроизвести аудиофайл в Python можно с помощью библиотек soundfile и sounddevice.

import sounddevice as sdimport soundfile as sfpath_wav = 'test_wav.wav'data, fs = sf.read(path_wav)sd.play(data, fs)status = sd.wait()

Запись данных с микрофона тоже происходит очень просто - посмотрите и запустите record.py.

Кстати, важная для нас информация. Наша последовательность является суммой множества звуковых волн, и мы можем вычислить какие волны приняли участи в нашей сумме. Теоретически, любой сложный звук может быть разложен на последовательность простейших гармонических сигналов разных частот, каждый из которых представляет собой правильную синусоиду и может быть описан числовыми параметрами (а вы говорили, что матан не нужен). Исследования по данной тематике входят в область цифровой обработки сигналов, на хабре есть информация об открытом курсе Основы цифровой обработки сигналов.

Справа мы видим спектр - вклад каждой из волн в частотное разложение. Схема с сайта nuancesprog.ruСправа мы видим спектр - вклад каждой из волн в частотное разложение. Схема с сайта nuancesprog.ru

Чтобы делать с аудио сложные вещи, такие как распознавание человека по голосу, перевод речи речи в текст или удаление шума с помощью глубокого обучения, нам понадобится вычислить вклад различных частот в аудиопоследовательность спектр. Спектр можно представить в виде спектрограммы изображения, показывающего зависимость амплитуды сигнала во времени на различных частотах. Один столбец в спектрограмме соответствует спектру короткого участка исходного сигнала, более тёплые тона означают большее значение.

Пример спектрограммы, полученной из звукового файла, при помощи библиотеки Numpy.Пример спектрограммы, полученной из звукового файла, при помощи библиотеки Numpy.

Спектр для спектрограммы можно вычислить с помощью дискретного преобразования Фурье, реализованного в библиотеке Numpy.Рассмотрим пример создания спектрограммы, описанный в сэмпле. Для этого используются две функции из файла features.py:

def calcSpec(y, params, channel=None):     """compute complex spectrum from audio file"""     fs = int(params["fs"]) # Константа, обозначающая частоту дискредитации     # В нашем случае равна 16000 - наш wav файл записан с частотой 16 кГц    if channel is not None and (len(y.shape)>1):     # Если аудио содержит два канала (стерео) - берем только один канал         sig = sig[:,channel]     # STFT parameters     N_win = int(float(params["winlen"])*fs) # Расчёт размера окна Хэннинга     # В нашем случае 320     if 'nfft' in params:         N_fft = int(params['nfft'])     else:         N_fft = int(float(params['winlen'])*fs) # Расчёт ширины окна для преобразования Фурье         # В нашем случае 320     N_hop = int(N_win * float(params["hopfrac"])) # Расчёт прыжка для преобразования Фурье     # В нашем случае 160     win = np.sqrt(np.hanning(N_win)) # Окно Хэннинга      Y = stft(y, N_fft, win, N_hop)     return Y 

Функция Stft проводит преобразование Фурье. Массив делится на части определённой длины (рассчитанной в calcSpec) и для каждой из частей применяется функция преобразования Фурье, взятая из Numpy возвращает готовую спектрограмму.

def stft(x, N_fft, win, N_hop, nodelay=True):     """     short-time Fourier transform     x - Входной сигнал     N_fft - Количество точек, на которых используется преобразование     win - Окно Хэннинга     N_hop - Размер прыжка    nodelay - Удаление первых точек из конечного массива (В них появляется побочный эффект преобразования)     """     # get lengths     if x.ndim == 1:         x = x[:,np.newaxis] # Если подано несколько файлов, то создаётся дополнительная ось     Nx = x.shape[0] # Количество точек во входных данных (в нашем случае 160000)     M = x.shape[1] # Количество файлов во входных данных (в нашем случае 1)     specsize = int(N_fft/2+1)     N_win = len(win) # Размер окна Хэннинга     N_frames = int(np.ceil( (Nx+N_win-N_hop)/N_hop )) # На сколько частей делим входной массив     Nx = N_frames*N_hop # padded length     x = np.vstack([x, np.zeros((Nx-len(x),M))])      # init     X_spec = np.zeros((specsize,N_frames,M), dtype=complex) # Заполненная нулями матрица, которая станет спектрограммой     win_M = np.outer(win,np.ones((1,M))) # Создаём матрицу, в которой каждый столбец равен окну Хэннинга     x_frame = np.zeros((N_win,M)) # Заполненный нулями вектор (вектора в случае если на вход дали несколько файлов)     for nn in range(0,N_frames):         idx = int(nn*N_hop)         x_frame = np.vstack((x_frame[N_hop:,:], x[idx:idx+N_hop,:])) # Разделяем входной массив на куски размера N_hop         x_win = win_M * x_frame         X = np.fft.rfft(x_win, N_fft, axis=0) # Преобразование возвращает столбец комплексных, где действительная часть - амплитуда, а комплексная - фазовый сдвиг         X_spec[:,nn,:] = X # Добавляем полученный столбец в спектрограмму      if nodelay:         delay = int(N_win/N_hop - 1)         X_spec = X_spec[:,delay:,:] # Удаляем лишний столбец из начала      if M==1:         X_spec = np.squeeze(X_spec) # Удаляем лишнюю ось      return X_spec

Также важной функцией является calcFeat, позволяющая нам прологарифмировать спектрограмму, растягивая нижние частоты и сжимая верхние. Голос человека лежит в диапазоне 85-3000Гц, а диапазон звуковых частот в нашей записи 16кГц маленький промежуток на всем диапазоне, и помощью логарифмирования мы растягиваем нужные нам низкие частоты и поджимаем ненужные высокие

def calcFeat(Spec, cfg):     """compute spectral features"""     if cfg['feattype'] == "MagSpec":         inpFeat = np.abs(Spec)     elif cfg['feattype'] == "LogPow":         pmin = 10**(-12)         powSpec = np.abs(Spec)**2 # Все значения спектрограммы возводятся в квадрат         inpFeat = np.log10(np.maximum(powSpec, pmin)) # и логарифмируются с обрезанием слишком низких значений     else:         ValueError('Feature not implemented.')      return inpFeat 

Наша глубокая модель удаления шума обучена на логарифмированных спектрограммах, поэтому предобработка данной функцией обязательна.Чтобы преобразовать спектрограмму, полученную применением фильтра (выход нейросети) на образ-Фурье, полученный с помощью функции calcSpec, в звук используется функция Spec2sig. В ней вычисляются параметры обратного преобразования Фурье и вызывается функция istft (обратное быстрое преобразование Фурье).

def spec2sig(Spec, params):    """Конвертирует спектрограмму в звук"""    # частота дискретизации    fs = int(params["fs"])    # ширина окна     N_win = int(float(params["winlen"])*fs)    if 'nfft' in params:        N_fft = int(params['nfft'])    else:        # длина быстрого преобразования Фурье        N_fft = int(float(params['winlen'])*fs)    #длина сегментов окна    N_hop = int(N_win * float(params["hopfrac"]))    # окно Хеннинга    win = np.sqrt(np.hanning(N_win))    # обратное преобразование Фурье    x = istft(Spec, N_fft, win, N_hop)    return x

В istft обратное преобразование Фурье также выполняется при помощи функции взятой из Numpy.

def istft(X, N_fft, win, N_hop):    # get lengths    specsize = X.shape[0] # Спектрограмма    N_frames = X.shape[1] #  кол-во кадров    if X.ndim < 3:        X = X[:,:,np.newaxis] # Приведение размера до 3    M = X.shape[2] # кол-во каналов    N_win = len(win) # длина окна хеннинга    Nx = N_hop*(N_frames - 1) + N_win    # Умножение матрицы win и единичной матрицы размера 1,M    win_M = np.outer(win,np.ones((1, M)))     x = np.zeros((Nx,M))  # нулевая матрица Nx,M для сохранения ответа        for nn in range(0, N_frames):        X_frame = np.squeeze(X[:,nn,:]) # Вектор по данному фрейму        # обратное преобразование фурье для X_frame ,N_fft        x_win = np.fft.irfft(X_frame, N_fft, axis=0)                x_win = x_win.reshape(N_fft,M) # изменяем размер        # получаем окно хеннинга нужного размера         x_win = win_M * x_win[0:N_win,:]        # добавляем результат для данного фрейма        idx1 = int(nn*N_hop); idx2 = int(idx1+N_win)        x[idx1:idx2,:] = x_win + x[idx1:idx2,:]         if M == 1:        x = np.squeeze(x) # Убираем лишние измерения если канал один         return x

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

Речь до и после удаления шумаРечь до и после удаления шума

Чтобы очистить звук, к цифровому описанию необходимо применить фильтр, который убирает нежелательные шумы. Но возникает другая проблема. Каждый из видов шумов требует свой фильтр, который необходимо подбирать вручную или искать в банках данных фильтров. Отфильтровать шум на частотах, отличающихся от человеческой речи, проблем нет, от них избавлялись еще до этих ваших нейросетей. А вот убрать детский плач или стучание клавиш без значительного ухудшения качества голоса было проблематично.

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

В нашем случае мы воспользуемся моделью NSNet2. Эта нейронная сеть использовалась в Deep Noise Suppression Challenge, проводимом компанией Microsoft. Целью разработки данной сети было создание модели для очистки звука от шума в реальном времени. Данная модель состоит из полносвязного слоя с ReLU, двух рекуррентных GRU (Gated Recurrent Unit) блоков и полносвязных слоев (FF, feed forward) с ReLU и sigmoid активацией.

На речь влияет большое количество внешних условий. Человек может говорить громко или тихо, быстро или медленно, говорить он может в большой комнате или в маленькой, далеко от микрофона или близко к нему. Для моделирования этих более сложных условий, были применены аугментации. В частности, в данном случае, для модификации звука использовались случайные биквадратные фильтры. Благодаря применения таких аугментаций, зашумление звука наиболее приближено к реальным условиям.

Представленные результаты по качеству работы можно посмотреть в статье Data augmentation and loss normalization for deep noise suppression. Построенная модель имеет хорошие показатели для различных типов шума.

Конвертация модели в OpenVINO

При работе с нашей моделью мы использовали OpenVINO (Open Visual Inference & Neural Network Optimization) - продукт, разрабатываемый компанией Intel. Как видно из названия, OpenVINO - это набор инструментов для исполнения и оптимизации нейронных сетей.

Существует множество фреймворков для создания и тренировки нейросетей. Для того, чтобы можно было запускать нейросети из различных фреймворков на любом интеловском железе, в составе OpenVINO есть модуль Model Optimizer.

Мы берем обученную модель в каком-либо фреймворке, конвертируем в OpenVINO и теперь можем запустить хоть на CPU, хоть на iGPU или dGPU, хоть на FPGAМы берем обученную модель в каком-либо фреймворке, конвертируем в OpenVINO и теперь можем запустить хоть на CPU, хоть на iGPU или dGPU, хоть на FPGA

По факту, Model Optimizer - это набор python-скриптов, которые позволяют привести нейронные сети различных форматов к некоторому универсальному представлению, называемому IR (Intermediate Representation). Это позволяет OpenVINO работать с любой нейросетью, независимо от того, из какого фреймворка она взята.

В процессе своей работы Model Optimizer также оптимизирует структуру сверточных нейронных сетей. Например, объединяя результаты сверток, заменяя слои на последовательность линейных операций и т.д.

В последнее время, с появлением API, в Model Optimizer проводится все меньше оптимизаций, и основная его работа сводится к конвертации моделей без каких-либо серьезных изменений.

Конвертация в IR-представление различается для моделей из Open Model Zoo и других моделей. Open Model Zoo репозиторий глубоких нейросетевых моделей, содержащий большое количество обученных моделей, которые могут исполняться при помощи OpenVINO. Данный репозиторий хранит не только модели, но и параметры для конвертации моделей из разных фреймворков в промежуточный формат OpenVINO.

Для конвертации моделей, загруженных из Open Model Zoo, нужно воспользоваться инструментом Model Optimizer и входящим в него скриптом converter.py. Данный модуль имеет доступ к параметрам конвертации моделей из зоопарка моделей.

Консольная команда для конвертации загруженной модели:

python converter.py --name <имя модели> --download_dir <путь до папки, в которую скачали модель>   

Чтобы сконвертировать собственную модель, необходимо использовать скрипт mo.py с дополнительными параметрами:

python mo.py --input_model <путь до модели> --output_dir <путь до папки, в которую поместить конвертированную модель> --input_shape <размеры входа модели>  

Для конвертации нашей ONNX модели в формат OpenVINO (в Windows) вышеприведенная команда выглядит так:

python mo.py --input_model <путь до папки с моделью>\nsnet2-20ms-baseline.onnx -output_dir <путь до папки, в которую поместить конвертированную модель> --input_shape [1, 1000, 161]   

где 1 - количество каналов, 1000 - временных интервалов, 161 - частот.

Также, можно указать больше дополнительных параметров для удобства. Весь список возможных параметров можно посмотреть командой:

python mo.py --help

Отличие converter.py от mo.py лишь в том, что converter.py использует параметры для конвертации из описания модели в Open Model Zoo и передает их в mo.py


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

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

Подробнее..

Перевод А вы когда-нибудь причиняли себе физическую боль собственным кодом?

04.06.2021 10:04:57 | Автор: admin
Приходилось ли вам когда-нибудь ненароком причинить себе или другим физический вред из-за ошибок в коде? Мне да.

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

Я уже потратил сколько-то времени на поиск решений для удаления тишины из файлов, когда меня вдруг осенило: это ведь WAV! Данные в файлах формата WAV обычно представляют собой PCM-аудио, то есть каждое значение в файле задает амплитуду звука в некоторый момент времени. Соответственно, если у нас там действительно полная тишина, а не белый шум, то в файле этой тишине должны соответствовать сплошные нули, так ведь?

$ xxd testfile1.wav | head -n 10000000000: 5249 4646 64b9 0e00 5741 5645 666d 7420  RIFFd...WAVEfmt 00000010: 1000 0000 0100 0200 44ac 0000 10b1 0200  ........D.......00000020: 0400 1000 6461 7461 40b9 0e00 0000 0000  ....data@.......00000030: 0000 0000 0000 0000 0000 0000 0000 0000  ................00000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................00000050: 0000 0000 0000 0000 0000 0000 0000 0000  ................00000060: 0000 0000 0000 0000 0000 0000 0000 0000  ................00000070: 0000 0000 0000 0000 0000 0000 0000 0000  ................00000080: 0000 0000 0000 0000 0000 0000 0000 0000  ................# ... and a lot more zeros below

Так и есть. Ну что ж, значит, дело проще, чем казалось. Достаточно просто прочитать файлы, найти место, где заканчиваются эти нули, и убрать соответствующий фрагмент.

Как читаются файлы WAV


Сначала мне нужно было поближе познакомиться с форматом WAV, чтобы понять, как работать с такими файлами и управлять данными внутри них. Я подобрал несколько источников; одним из самых полезных оказалась старая страница со stanford.edu (сайт сейчас уже недоступен, но, к счастью, сохранился на Wayback Machine). Там была очень доходчивая диаграмма:


Итак, структура файла WAV представляется довольно простой: сначала заголовок объемом в 44 байта, а дальше уже собственно данные. С этой информацией уже можно было приступать к коду. Требовалось только пропустить первые 44 байта, убрать последовательность из нулей в начале секции с данными, а всё остальное отправить на воспроизведение в исходном виде. Хотя не могу не добавить, что в другом источнике мне попались такие сведения:

Некоторые программы предполагают (и это очень наивно с их стороны), что вводная часть в заголовке всегда занимает ровно 44 байта (как говорится в таблице выше) и что всё остальное содержимое файла составляют только и исключительно аудиоданные. Делать подобные предположения небезопасно.

Ну, я решил, что ничего страшного: программу я писал на C, так что за безопасность можно было особенно не переживать.

Код


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

Целиком код приводить незачем, но вот та часть, которая будет нас интересовать:

// index was calculated above to be the index of// the last consecutive zero byteFILE *f = fopen(argv[1], "rb");int ind = 0;int current_byte;while ((current_byte = fgetc(f)) != EOF) {    if (ind < 44 || ind >= index) {        fputc(current_byte, stdout);    }    ind += 1;}fclose(f);

Всё круто, всё просто. Пора тестировать. Я запустил программу на одном из файлов с особенно продолжительной паузой.

./strip_audio testfile1.wav > testfile1.nosilence.wav

Проверил, что выдаёт xxd для testfile1.nosilence.wav. Отлично, никаких нулей в начале. Значит, сработало. Чтобы окончательно убедиться, открою-ка я по-быстрому файл в аудиопроигрывателе.



Источник

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

Где я ошибся?


В ушах всё еще звенело, а я сидел и пытался осмыслить свои опрометчивые решения.

  • Ошибка 1: надо было убавить звук.
  • Ошибка 2: не надо было сидеть в наушниках.
  • Ошибка 3: неучтённая единица.

А вы заметили третью ошибку в коде, который я приводил выше? Подсказка: смотрите на комментарий. Я рассчитал переменную index как индекс последнего байта, представляющего собой нули. А значит, за вычетом 44 байтов заголовка, теперь мы воспроизводим только то, что следует за индексом или накладывается на него. index у нас стоит на последнем нуле в серии, то есть мы включаем один лишний нулевой байт в секцию с данными.

Это можно исправить следующим образом:

//     replaced >= with just >if (ind < 44 || ind > index) {    fputc(current_byte, stdout);}

Теперь в выдаче нет лишних нулей, и если воспроизвести файл, ничего страшного не случится. Я всё починил Но стоп.

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

Для начала давайте сравним нормальный аудиофайл с монстром, которого я создал, при помощи Audacity:


Угадали, где монстр? Да, это тот самый, у которого амплитуда стабильно вывернута чуть ли не максимум. Почему так?

Как читаются аудиосэмплы


Я вернулся к источникам, которые отобрал, и попытался разобраться, как ошибка на единицу могла привести к подобному взрыву амплитуды. Я знал, что в моих файлах сэмпл содержит 16 бит, а канала два (стерео), поэтому стал искать соответствующую информацию. Вот что говорилось в разделе про 16-битное стерео PCM-аудио:

Каждый сэмпл содержится в целом числе i, которое представляет минимально достаточное количество байтов для хранения заданного размера сэмпла. Наименее значимый из байтов располагается в хранилище первым.

Минимально достаточное количество байтов для хранения заданного размера формулировка здесь излишне запутанная. i соответствует числу битов, которые содержатся в сэмпле. В нашем случае их шестнадцать. Соответственно, если у нас есть некое значение длиной в 16 битов, само собой, храниться оно будет в двух байтах. А дальше важный момент: наименее значимый из байтов располагается в хранилище первым. Вот оно.

Взгляните на график, который я сделал, чтобы показать, что привело к возникновению такого сильного сигнала:


В верхней части показан мой файл-монстр, в котором я случайно оставил лишний байт с нулями. В каждом из трёх сэмплов s1, s2 и s3 по два байта, причем второй более значимый. Следовательно, при переводе этих пар байтов в десятичную форму мы получаем очень высокую амплитуду.

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

Выходит, если бы у меня было 8-битное аудио, тогда пропущенный лишний байт не вызвал бы никаких проблем. Но оно было 16-битным, и в итоге, я сдвинул всю последовательность в сэмплах, так что наименее значимый байт стал читаться как наиболее значимый.

Выводы


  • Проверяйте звуковую волну аудиофайла, прежде чем врубать его на максимальной громкости
  • Читайте (и принимайте к сведенью) спецификации
  • Учитывайте, как код может повлиять на вас и других людей
Подробнее..

Компактная колонка Sony SRS-XB10 из линейки Extra Bass

14.06.2021 00:15:08 | Автор: admin

Колонка, которая отличается компактным размером и чистым звучанием. С её помощью можно насладиться чистыми, глубокими и насыщенными басами.

Привет!

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

Понятное дело колонка должна не только к ноутбуку подключаться, а также уметь качественно проигрывать музыку, недорого стоить, быть компактной ну и чтоб с дизайном тоже всё было в порядке.

Все перечисленные достоинства сочетает в себе Sony SRS-XB10 и именно о ней мы сегодня и поговорим.

Коротко о линейке Extra bass

Компания Sony выпустила целую линейку колонок, в которых присутствует технология Electro Bass Booster. Эта технология позволяет сбалансировать и выделить необходимые басы в любой песне. В этой линейке от Sony можно найти огромное разнообразие колонок, которые отличаются не только размерами, но и другими параметрами. Так, например, колонку XB10 можно всегда носить с собой в кармане или в рюкзаке, а с колонкой GTK-XB7 вы сможете почувствовать себя диджеем. В общем с акустическими параметрами у данной линейки проблем нет.

Распаковка

Колонку мы получаем в очень компактной коробке, где перечислен ряд её достоинств -

  • защита от влаги

  • зарядка микро-usb

  • 16 часов заряда от батареи

  • функция добавления второго динамика

  • колонка как спикерфон

В самой же коробке помимо колонки присутствуют - кабель микро-usb, инструкция по эксплуатации, буклет для первоначальной настройки и гарантия.

Дизайн

Размеры колонки составляют всего 75х75х91 миллиметров, а её вес около 260 грамм. Такая колонка не занимает много места, поэтому её без труда можно брать с собой даже на простую прогулку. Она обладает цилиндрической формой, которая приятно и комфортно ощущается в руке.

Колонка может быть выполнена в разном цвете. Так, например, производитель данного оборудования выпускает колонки в красном, зелёном, чёрном, белом и голубом цвете.

Корпус колонки прорезинен. Это можно отнести как к плюсу, так и к минусу. Такая колонка будет крепко находиться в руке, даже в детской, однако данный материал способен быстро пачкаться, он будто притягивает к себе грязь и пыль.

Колонка оснащена специальной петелькой, которая может использоваться в качестве подставки. Это, конечно, мелочь, однако некоторым она может пригодиться.

К большому преимуществу можно отнести то, что колонка имеет специальную защиту от влаги, которая была разработана по стандарту IPX5. Конечно, не следует тут же бросать колонку в воду, это может негативно сказаться на её функциональных возможностях, однако защита от дождя вам обеспечена.

Динамик располагается в верхней части колонки. Его размеры достигают 46 миллиметров. В нижней же части колонки имеется отверстие для выхода низкочастотных басов.

Особенности управления

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

Также на данном устройстве имеется возможность соединения с другой колонкой. Это позволяет создать стереоэффект. Для соединения колонок в пару имеется отдельная кнопка ADD.

Также имеется отверстие микрофона, индикатор заряда и чип nfc для быстрого сопряжения со смартфоном. При сопряжении колонки с другими устройствами необходимо, чтобы они находились на расстоянии 10 метров друг от друга. Тогда помех наблюдаться не будет.

Звук

Со звуком здесь всё отлично и это несколько не приуменьшение! Басы с помощью колонки получаются глубокими и насыщенными, она их не гасит даже на высоких частотах. Хрипов и шумов не наблюдается.

При прослушивании подкастов и аудиокниг голос диктора слышен просто великолепно.

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

Автономность

При постоянном использовании колонка может работать около 16 часов. Заряжается она при этом примерно 4 часа. Единственным минусом в данной ситуации является то, что на колонке отсутствует индикатор заряда, поэтому не совсем понятно насколько заряжена колонка.

Итоги

Sony SRS-XB10 - эта колонка принадлежит к категории на каждый день, за время её использования она практически всегда была при мне, и не потому что она была мне постоянно нужна, а скорее из за того что взяв, я сразу о ней забывал благодаря её компактности.

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

Стоимость такой колонки составляет 2499 рублей. Это отличное оборудование, которое позволит насладиться музыкой высокого качества. Соотношение цены и качества в данном случае просто великолепное. Из минусов можно отметить только быстрое загрязнение резинового корпуса, а также отсутствие индикатора зарядки. Это отличный вариант для тех, кто ищет колонку отличного качества по относительно низкой стоимости.

Подробнее..

Мы сделали наш публичный синтез речи еще лучше

18.06.2021 14:19:30 | Автор: admin

6cc6e0011d4d26aeded6f052080b1890


Мы были очень рады, что наша прошлая статья понравилась Хабру. Мы получили много позитивной и негативной обратной связи. Также в ней мы сделали ряд обещаний по развитию нашего синтеза.


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


Если коротко:


  • Мы сделали наш вокодер в 4 раза быстрее;
  • Мы сделали пакетирование моделей более удобным;
  • Мы сделали мультиспикерную / мультязычную модель и "заставили" спикеров говорить на "чужих" языках;
  • Мы добавили в наши русские модели возможность автопростановки ударений и буквы ё с некоторыми ограничениями;
  • Теперь мы можем сделать голос с нормальным качеством на 15 минутах 1 часе (с теплого старта в принципе заводилось даже на 3-7 минутах) или на 5 часах аудио (с холодного старта). Но тут все очень сильно зависит от качества самого аудио и ряда деталей;
  • Мы привлекли коммьюнити к работе, и нам помогли сделать удобный интерфейс для записи. Мы начали работу над голосами на языках народностей СНГ (украинский, татарский, башкирский, узбекский, таджикский). Если вы хотите увидеть свой язык в числе спикеров пишите нам;
  • Мы продолжаем собирать обратную связь по применимости нашей системы для экранных интерфейсов чтения, и пока кажется, что нужно где-то еще всё ускорить в 5-10 раз, чтобы наши модели закрывали и этот кейс;

Справедливая критика


Люди верно заметили, что в первом релизе иностранные языки не содержали ударений вообще, а в русском не было автоматической простановки ударений и буквы ё. Мы просто банально не успели этого сделать. Для русского и украинского мы это наконец сделали. Для других языков тоже сделаем по мере поиска словарей и надобности (зачастую там и так нормально все работает).


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


Хотя мы вроде явно написали про это и даже сделали warning в коде про то, что модель принимает только предложения (а не целые тексты или книги), все равно основной поток комментариев был именно про это. Также мало кто обратил внимание на раздел статьи про скорость работы моделей и батчи (если вы не видели его, прочитайте).


Я привел в комментариях к статье пару простейших примеров в виде ответов на вопросы (раз, два, три, четыре), но чтобы не возвращаться к этому правильный алгоритм работы с моделью такой:


  • Сначала текст надо разбить на предложения оптимальным способом для вашего домена;
  • Потом надо проставить ударения (новые модели русского языка автоматически проставляют ударение и там, где его нет, и букву ё, но можно поставить и руками);
  • Далее надо кормить модель батчами в соответствии с оптимальным сайзингом (например на 2 ядрах процессора оптимальнее всего использовать батч-сайз 1-2);

Упрощаем запуск


Вспоминая опыт с silero-vad, чтобы не множить сущности, мы опубликовали наш синтез в нашем репозитории silero-models. Это имело очевидные плюсы, но и ряд минусов:


  • Если запускать модель через интерфейс с torch.hub, то нахождение в одном репозитории с моделями распознавания речи требовало установки двух библиотек (omegaconf для парсинга yaml-конфига и torchaudio для чтения аудио). Сам синтез не имеет внешних зависимостей кроме стандартной библиотеки питона и PyTorch. Но, если судить только по гневным комментариям и сообщениям в личку, это оказалось слишком сложным даже если дисконтировать радикальные мнения (мне всерьез писали в личку люди, c энтузиазмом стремящиеся доказать что "питон говно"). Люди в итоге не обращали внимание как на интерактивное демо в colab, так и на standalone примеры. По этой причине через какое-то время я добавил пример # Minimal Example to Run Locally;
  • Вообще конечно в идеале для полностью независимого оффлайнового запуска нужно было просто скачать модель, взять этот скрипт загрузки модели, дополнить его своими функциями и убрать лишнее. Но это тоже оказалось слишком сложным и неочевидным;

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


Если вызов через torch.hub по сути особо и не изменился:


import torchlanguage = 'ru'speaker = 'kseniya_v2'sample_rate = 16000device = torch.device('cpu')model, example_text = torch.hub.load(repo_or_dir='snakers4/silero-models',                                     model='silero_tts',                                     language=language,                                     speaker=speaker)model.to(device)  # gpu or cpuaudio = model.apply_tts(texts=[example_text],                        sample_rate=sample_rate)

То полностью standalone вызов стал сильно проще:


import osimport torchdevice = torch.device('cpu')torch.set_num_threads(4)local_file = 'model.pt'if not os.path.isfile(local_file):    torch.hub.download_url_to_file('https://models.silero.ai/models/tts/ru/v2_kseniya.pt',                                   local_file)  model = torch.package.PackageImporter(local_file).load_pickle("tts_models", "model")model.to(device)example_batch = ['В недрах тундры выдры в г+етрах т+ырят в вёдра ядра кедров.',                 'Котики - это жидкость!',                 'М+ама М+илу м+ыла с м+ылом.']sample_rate = 16000audio_paths = model.save_wav(texts=example_batch,                             sample_rate=sample_rate)

Снижение требований по количеству часов и расширение базы голосов


Не секрет, что записывать 15 20 часов аудио это тяжелая и кропотливая работа. Мы проверили некоторые исследования, чтобы понять, сколько часов нужно реально для того, чтобы сделать адекватный голос. Например системы синтеза прошлого поколения требуют около 2-3 часов аудио.


У нас получились такие результаты:


Количество аудио Тип старта Результат
15 20 часов с холодного модели в репозитории
5-6 часов с холодного заводится, нормальное качество, примеры ниже
3 часа с холодного заводится, но речь уже не очень членораздельна
1 час с холодного не заводится совсем
-------------------------- ------------------------ ---------------------------------------------------------
5-6 часов с теплого, похожий голос заводится чуть быстрее, нормальное качество, примеры ниже
5-6 часов с теплого, другой пол заводится, нормальное качество, примеры ниже
5-6 часов с теплого старта с теплого, другой язык заводится, нормальное качество, примеры ниже
3 часа с теплого, похожий голос заводится, качество чуть хуже, примеры ниже
1 час с теплого, похожий голос заводится, качество чуть хуже, примеры ниже
3 15 минут с теплого, похожий голос заводится, на 3 минутах уже сильно проседает качество

С холодного старта, 6 часов:




С теплого старта, 6 часов:



С холодного старта, 3 часа:


Тут уже понятно, что для холодного старта 3 часов маловато.



С теплого старта, 3 часа:



С холодного старта, 1 час:


На холодном старте 1 час вообще уже не работает и генерирует хрип вместо голоса.



С теплого старта, 1 час:


На 1 часу с теплого старта продолжает работать.



С теплого старта, 3 15 минут:


И тут нам стало интересно, а какой же минимальный порог после которого с теплого старта перестает работать? На похожем голосе получилось, что нижняя граница лежит где-то в районе 3 минут.





На моем голосе из голосового чата:


Тут у нас закралась мысль, а может в наших экспериментах что-то подтекает или есть ошибки (то есть мы выдаем желаемое за действительное).


Мы просто попробовали взять мой голос из голосового чата с относительно скверным качеством, чтобы точно удостовериться, что все правда работает.


И чудо, оно завелось, но предсказуемо качество аудио очень сильно влияет на конечный результат.



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


Как и в случае с видео дипфейками, новостное поле искажает их реальный потенциал и возможности, и скорее ограничением на массовое создание "поддельного" контента является даже не столько спорная этическая и финансовая составляющая (я не уверен какой будет LTV у сервиса с поздравлениями, но это скорее всё-таки не про наш рынок), сколько банальное количество усилий, которое надо все равно вложить, чтобы получить хорошее звучание.


Немного усложним задачу:


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





Хм, все работает с некими оговорками.


Прочие эксперименты:


Ну и напоследок попробуем заставить Ксению говорить по-немецки. Например, вот эту фразу: Mein Knig, das Fichtenbaum, Bundesausbildungsfrderungsgesetz, die Ubng..



Звучит как ученик на первом уроке немецкого языка. Но мы знаем как сделать это лучше. Кстати одна из небольших фич текущего релиза, что можно заставлять спикеров говорить на других языках. Это пока сильно неидеально работает, но все равно уже прикольно.


Чтобы не разбегались мысли подведем некоторый итог:


  • Для более менее качественного синтеза точно достаточно 5-6 часов качественного аудио (особенно, если новый язык сильно не похож на имеющиеся);
  • Если записи очень качественные и язык похож на имеющиеся, то в принципе можно опускаться и ниже, вплоть до 15 минут 1 часа;
  • Естественно интонации и эмоции модель выучивает из записанного корпуса, искусственно управлять интонациями мы пока не научились;
  • Именно качество аудиозаписей является критическим моментом для качества синтеза;
  • Мы пока не понимаем как добиться качества и интонаций сравнимых с Алисой, но есть подозрение, что дело в количестве часов (40 100 часов) и чистоте аудио;

Мультиязычная модель


После успешных экспериментов нам показалось, что стоит попробовать сделать мультиязычную мультиспикерную модель и "заставить" всех спикеров говорить по-русски. Вот результат. Обратите внимание на то, с какими акцентами говорят спикеры и попробуйте угадать какой язык для них родной.


У этой модели несколько хуже качество, но мы все равно опубликовали ее ради прикола.













Записываем голоса языков народностей СНГ


Также я был приятно удивлен тем, что нам помогли сделать удобный интерфейс для записи голоса и нашлись люди, записавшие / готовые записать спикера на украинском, азербайджанском, башкирском и татарском языках.


photo_2021-05-17_18-05-35


Собственно по причине наличия удобного интерфейса и снижения требований к количеству часов приглашаем всех, кто хочет записать свой голос. Особенно актуально это будет для малых языков допустим для озвучки мультиков и с целью их сохранения. Коллеги из Украины, Башкирии, Азербайджана и Татарстана уже присоединились к процессу.


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


Ускорение модели


Изначально мы полагали, что именно вокодер будет основной проблемой по скорости в синтезе. Неудивительно, ведь он работает с "длинными" данными. На практике мы были удивлены, что сейчас бутылочным горлышком у нас является не вокодер, но его ускорение останется "про запас".


В текущей итерации у нас получилось ускорить вокодер примерно в 4 раза почти без потери качества (на глаз потеря 0.1 0.2 MOS в среднем) и достичь примерно таких цифр:


Модель 8 kHz 16 kHz
v1 только вокодер, 1 поток 18 8
v2 только вокодер, 1 поток 70 35

Это великолепный результат, но теперь осталось подтянуть все остальное. Но тут уже технически нам не хватает ресурсов, чтобы все 10 вещей делать одновременно. В релизе v2 также немного пришлось пожертвовать качеством отдельных моделей в силу ограниченности ресурсов.


Автоматическая простановка ударений


По итогу релиза нам посоветовали несколько публичных проектов, но качество или поддержка их всех были не очень (как правило это все классическое академическое abandonware). Мы прошли большую часть пути с ударениями, но при тестировании на все более сложных или приближенных к реальности кейсах появляются новые моменты, и мы долгое время находились в стадии "финишной прямой".


Основные проблемы:


  • Слов в русских и украинских языках реально много. Словарь может весить 100 200 мегабайт. Нужно не только добиться приемлемого качества и скорости работы моделей но и высокой степени сжатия моделей по сравнению со словарем;
  • В отличие от словаря, модели обладают хоть какой-то генерализацией;
  • У слов в языке сильно отличается частотность и надо соблюсти баланс между размером всей системы, точностью на всех когортах и стоимостью обладания системой;

На текущий момент мы смогли решить задачу простановки ударений, например для русского языка, следующим образом:


  • Для самых популярных слов и словоформ (их примерно 130 тысяч), мы ставим ударение с точностью 99.9%;
  • Для слов со средней популярностью (их примерно 540 тысяч), мы ставим ударение с точностью 99.9%;
  • Примерно 1,300 слов мы включаем в словарь исключений (ошибки на остальных словах из этих когорт);
  • Для слов с низкой популярностью (длинный хвост, примерно 2 миллиона), мы ставим ударение с точностью 99%;
  • В каждой из этих категорий есть примерно 3% слов-омографов, которые мы пока не можем обработать (например зАмок замОк, хлОпок хлопОк). Такие слова наша модель специально пропускает, тем самым перенося бремя по простановке усредненного ударения на нашу модель синтеза;

Мы знаем как решить эти 3% в простановке ударений, но нам нужен большой корпус, в котором были бы размечены ударения в предложениях целиком (а не просто отдельные слова). Если вы знаете, где найти такой корпус будем признательны за наводку. Так мы сможем окончательно решить этот вопрос для синтеза.


Задача простановки буквы ё была также решена с некоторыми оговорками:


  • Омографы, связанные с буквой ё (например все всё, колеса колёса), не пропускаются, как в случае с ударениями. Выбрать подобные омографы из корпуса оказалось нетривиальной задачей (часто буква ё на письме игнорируется, поэтому отделить омограф от hard negative сложно без специально размеченных данных);
  • На словаре буквы ё мы ставим её с точностью 99% (как для hard positive, так и для hard negative слов);
  • Модель немного генерализовалась на слова, которых она не видела при обучении. Но всё-таки общее поведение на незнакомых словах не ставить ё;
  • Случается, что модель предсказывает ударение и букву ё на разные позиции. В таких ситуациях буква ё не будет проставлена;

Есть ещё одна проблема, не решённая на данном этапе: слова с побочными ударениями или несколькими буквами ё (например авиаметеослужба, премьер-министр, трёхколёсный).
Сейчас модель проставляет только одно ударение (и одну ё) в таких словах, но мы планируем в будущем исправить эти кейсы.


Несправедливая критика


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


Если перечислить самые популярные претензии:


  • Нет middleware под конкретный домен или платформу;
  • Нет приложения / интеграции в какое-то другое существующее приложение под какую-то платформу;
  • Слишком сложно, невозможно разобраться;
  • Алиса звучит лучше;

На первые ответ довольно простой middleware делаются на заказ как часть коммерческого продукта. Если вы хотите поддерживаемый клиент / интеграцию под какую-то платформу, то цена вопроса цена на поиск + зарплата команды разработки (1-2 человека), умноженная на требуемый срок поддержки.


Насчет Алисы вы сами выбираете дарить ли свои персональные данные корпорациям. Практика показывает, что де-факто никакой защиты от их недобросовестного поведения нет кроме сил конкуренции. Как говорится: "Если подписал не удивляйся". Также мы примерно приценивались к "звездным" голосам, там только бюджет на запись голоса уже в разы больше бюджета на весь некоммерческий релиз целиком (нам называли оценки в районе 0.25 0.5 миллиона долларов только за запись голоса).


Насчет сложности мы довели синтез до того, что он вызывается и запускается 1 строчкой кода и фактически требует только только 1 библиотеки и при этом ест очень мало ресурсов при вменяемом качестве. В прошлой версии были некоторые издержки, так как он опубликован в репозитории вместе с STT и мы выбрали радикальную простоту вместо пакетирования. Всегда можно еще сильнее улучшить пакетирование, добавить гайдов под конкретные платформы и улучшить и упростить документацию. Но с учетом количества усилий, которые были вложены в релиз (и продолжают вкладываться в следующие релизы), мое личное мнение что это уже задача для комьюнити.


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


Если вы готовы поддержать проект грантом, профинансировать какие-то конкретные фичи или заказать голос для своего проекта мы всегда будем этому рады. Если вам нужно супер качество, какие-то особенные фичи и интеграции то это уже следует делать в рамках отдельных проектов.


Дальнейшие планы


Текущий релиз:


  • Ускорение вокодера в 4 раза;
  • Многоязычная мультиспикерная модель (и возможность говорить на другом языке с акцентом);
  • Снижено количество файлов и упрощено пакетирование;
  • Добавление автоматической простановки ударений и простановки буквы ё;
  • Снижение требований по количеству данных и начало работы над голосами народностей СНГ;

Следующие релизы:


  • Высота голоса и скорость;
  • Радикальное ускорение моделей (10+ раз);
  • Эмоции, управление интонацией;
  • Еще большее снижение требований по данным;
  • Добавление новых голосов по мере появления открытых голосов на других языках;
  • Добавление малых языков и языков народностей России и СНГ по мере сбора датасетов;
Подробнее..

Категории

Последние комментарии

  • Имя: Билал
    04.12.2024 | 19:28
  • Имя: Murshin
    13.06.2024 | 14:01
    Нейросеть-это мозг вселенной.Если к ней подключиться,то можно получить все знания,накопленные Вселенной,но этому препятствуют аннуннаки.Аннуннаки нас от неё отгородили,установив в головах барьер. Подр Подробнее..
  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2025, personeltest.ru