Петь в такт машине: история караоке и устройство его аппаратов

eccef0652bba9d7b0cd547f241b23acc.png

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

Кто изобрел караоке?

Кара-оке в переводе с японского означает «пустой оркестр», то есть, музыка, которую играют музыканты, здесь не присутствующие. 

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

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

По какой-то причине Иноуэ не сумел запатентовать изобретение и жаловался журналистам, что его опередил с этим некий мошенник с Филиппин (речь, видимо, про Роберто дель Росарио и его Sing Along System). С годами, правда, Иноуэ сменил пластинку: и начал рассказывать, что и не собирался патентовать караоке, потому что «хотел, чтобы весь мир научился петь», и, мол, он ни разу об этом не пожалел.

В любом случае, статус Дайсуке как изобретателя караоке в течение десятилетий не подвергался сомнению — в 2004 году ему даже присудили шуточную Шнобелевскую премию «за изобретение совершенно нового способа общения, который учит людей выносить друг друга».

bef1c114cd6f785307e5ad83595a76ce.png

Неприятная правда раскрылась только в 2018 году, когда американский журналист Мэтт Альт разыскал Сигэити Нэгиси, всеми забытого 94-летнего старика, который, судя по всему, был настоящим первым изобретателем караоке.

Дедушка рассказал Альту, что начал заниматься своей разработкой на целое десятилетие раньше, и выпустил свою караоке-машину, Sparko Box, еще в 1967-м. В 1975-м Нэгиси свернул этот бизнес, потому что, по его словам, «устал от претензий музыкантов и технической рутины». И только уже после этого Иноуэ подхватил идею и стал знаменитым.

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

bd0c4115ad540ec9dec8e43fefacc3b5.png

Нэгиси умер в марте 2024 года в возрасте ста лет. Ныне здравствующий Иноуэ никак не прокомментировал эту историю, и про него продолжают писать статьи, в которых называют «изобретателем караоке».

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

Что такое караоке для японцев

Для страны, в которой караоке изобрели, оно стало уникальным культурным феноменом. До сих пор Япония остается мировой столицей караоке — в Токио буквально тысячи баров разного формата, где есть как уединенные караоке-кабинки (изначально чисто японский феномен), так и более традиционные и знакомые нам общие залы для пения.

Даже если караоке не является основной «фишкой» заведения, оно нередко присутствует там по умолчанию — например, во многих закусочных или манга-кафе.

fec81630cdb6cb46b2bdbd6ad27e84df.png

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

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

Пандемия COVID 2020 года сильно ударила по любимому японскому развлечению — караоке-бары практически опустели. Производитель японских караоке-машин Joysound нашел весьма остроумное решение проблемы: он модифицировал микрофоны, усилив частоты, которые «режутся» тканью медицинской маски. Так что посетители караоке могли и соблюдать требования Минздрава, и петь на здоровье!

(Пример использования караоке в медицинской маске в Японии, демонстрирующий, что маска теперь не влияет на качество звука на входе)

В Россию караоке пришло в начале 1990-х годов, после распада СССР. Долгое время диковинка была дорогой, и в общественных местах ее не наблюдалось.

Считается, что популярность караоке в России обеспечил телеведущий Леонид Парфенов, который в 1997 году рассказал на телевидении, какая это замечательная вещь, и сделал сюжеты с российскими артистами, поющими в караоке. Всего через пару лет караоке «распробовала» уже вся страна (как помнит автор этих строк, например, в кафе Сочи в 1999 году колоссальным караоке-хитом был «Владимирский централ» Михаила Круга, который звучал начиная с 6 вечера практически непрерывно до глубокой ночи).

(Одно из видеосвидетельств народной любви к караоке уже в середине того самого 1997 года).

Как устроено караоке

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

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

Но каким образом это происходит?

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

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

49de6b34b0edb3f18f5d914af47a1d05.png

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

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

В живых караоке-соревнованиях (например Американской ассоциации караоке), где судят не автоматы, а люди, кстати, учитываются еще два параметра: Articulation and Diction (то есть, отчетливость произнесения слов) и более эзотерический Resonance and Tone Quality (оценка «тембропроизводства» певца (что бы это ни значило) и богатства его вокального тембра). В караоке-автоматах эти параметры не оценивают.

А как именно происходит оценка?

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

4ee93687db5caea0ad0e45506a5dfe65.jpg2fc7055bcd5f6225e94e1616a558fb78.jpge34a4fb7898896b03a137e1898efb9d9.jpg

Под спойлером приведено текстовое описание происходящего на этих схемах:

Оцените, как много труда вложено инженерами в то, чтобы просто оценить, хорошо ли вы поете (перевод гугл-патента выполнен гугл-переводчиком):

Ссылаясь на Рис. 1, каждый второй короткий промежуток времени (например, 0,1 секунды) высота тона певца вычисляется по звуку микрофона, в который поет вокалист, а оценка высоты тона является основной частотой человеческого голоса (Fundamenta). l Частота), и метод получения основной частоты обычно может быть получен с помощью метода автокорреляционной функции (Autocorrelation Funcitation), а затем преобразования основной частоты в относительную шкалу с помощью оценщика высоты тона, а затем сравнения шкалы со степенью соответствия с гаммами, захваченными в основной мелодии музыки, и присвоения шкале оценки высоты тона и т. д., можно вычислить оценки высоты тона всех гамм до конца концерта, а затем вывести среднюю оценку высоты тона. 

Как показано на рис. 2, это конкретно описывается следующим образом: во-первых, «начальная настройка параметров», в которой начальное количество гамм n = 0, и значение соответствия высоких частот вокала и гаммы, NoteHi t = 0, и ^ ί氐Значение соответствия нот NoteH i tAround = 0, NoteH указывает количество периодов времени, когда человеческий голос высоко соответствует шкале во время исполнения гаммы, NoteHi tAround.

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

Например, частота гаммы «ля 4» составляет 440 Гц, и каждая октава увеличивается. Частота увеличивается в два раза, например, частота гаммы «ля 5» составляет 880 Гц, октава имеет 12 полутонов, а частота между каждым полутоном составляет 2 (1/12) раза, потому что если вокал отличается от частоты гаммы, когда кратное отношение целых чисел, например, 2 раза или ½ раза, одинаково, высота звука будет такой же. Таким образом, регулируя шкалу ±12 полутонов, мы корректируем рассчитанный уровень человеческого звука Note_p и шкалу основной мелодии Note_m, и устанавливаем вокальную и Частота шкалы отличается между +6 полутонами и -5 полутонами, т. е. Note.p = Note.p +12*i, i — целое число, отличное от 0, что делает Note.p — Note.m больше или равным -5 и меньше, чем равным 6. 

Далее, определяем, является ли это новой шкалой, если да, вычисляем оценку высоты тона предыдущей шкалы, а затем сбрасываем начальный параметр, NoteHit = 0 и NoteHitAround = 0 и количество шкал n = n + l; в противном случае сравниваем шкалу основной мелодии с Соответствует уровень человеческого звука, что означает, что ошибка находится в относительно небольшом допустимом диапазоне, например, в пределах 0,5 полутона. 

Если он совпадает, увеличьте значение соответствия высоких частот шкалы NoteHit = NoteHit + 1, в противном случае определите, соответствует ли основная шкала мелодии уровню человеческого звука как ощущению баса, а соответствие низких частот указывает на то, что ошибка находится в относительно большом допустимом диапазоне, например: Диапазон ошибки может быть установлен в полутон. 

Если диапазон ошибки находится в пределах одного полутона, тон усилителя мощности колокола такой же, как NoteHitAround = NoteHitAround + 1, и тогда основная мелодия следующего периода получается в соответствии с вышеописанным процессом. Шкала и расчет человеческого голоса высокие. Вышеуказанный алгоритм расчета оценки высоты тона предыдущей шкалы показан на рисунке 3…

(и так еще несколько десятков страниц, в какой-то момент начинают встречаться устрашающие математические формулы).

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

67030d176e9a4f8a51eeb23249d10a22.png

Ряд таких проектов (пример) применяют как базис разработанный с задействованием восточной философии алгоритм YIN. На Хабре раньше про него уже интересно писали:

Cамо название алгоритма отсылает нас к балансу между удобством и неточностью метода автокорреляции: «The name YIN from «yin» and «yang» of oriental philosophy alludes to the interplay between autocorrelation and cancellation that it involves».

Создатели YIN попытались исправить слабые места автокорреляционного подхода. Первое изменение — использование функции Cumulative Mean Normalized Difference, которая должна снизить чувствительность к амплитудным модуляциям, сделать пики более явными:

\begin{equation}

d'_t (\tau)=

\begin{cases}

1, & \tau=0 \\

d_t (\tau) \bigg/ \bigg[ \frac{1}{\tau} \sum\limits_{j=1}^{\tau} d_t (j) \bigg], & \text{otherwise}

\end{cases}

\end{equation}

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

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

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

© Habrahabr.ru