Компания Google опубликовала обновление аудиокодека Lyra 0.0.2, оптимизированного для достижения максимального качества передачи речи при использовании очень медленных каналов связи. Кодек был открыт в начале апреля, но поставлялся в привязке к проприетарной математической библиотеке. В версии 0.0.2 данный недостаток устранён и для указанной библиотеки создана открытая замена - sparse_matmul, которая как и сам кодек распространяется под лицензией Apache 2.0. Из других улучшений можно отметить возможность использования сборочной системы Bazel с комплиятором GCC и использование данной связки по умолчанию в Linux вместо Bazel+Clang...Подробнее: https://www.opennet.me/opennews/art.shtml?num=55424
Интересно будет потыкать. И ещё интересно, когда это завезут во всякие там Matrix и Jami.
А смысл тыкать в этот низкокачественный звук когда уже наверное кругом идут видеозвонки на высоких скоростях.
Так у местных целерончик для 775 сокета с полугигом оперативы до сих пор в топчиках ходит. Какая им видеосвязь? Тараканы запрещают, император не благоволит.
Император велит всем на Эльбрус.
За МКАД выезжать пробовали? Не бойтесь, те, кто вам говорил, про людей с пёсьими головами - бессовестно наврал.
А что, за КАД'ом есть жизнь? Внутри МКАД'а не находится Ородруин?
> А что, за КАД'ом есть жизнь? Внутри МКАД'а не находится Ородруин?Есть. Нет, не находится :D.
И в 5 км от МКАД интернет стоит 1000 р/мес.
Недавно папе звонил в глухую деревню в Костромской области. С видео. На удивление хорошая связь на Теле2 там.
> С видео.Статья об аудиокодеке, вообще-то.
А вот подземные карлики, чупакабры, и гоблины, представляют реальную опасность.
Блин. Что делать если эльфийки из Мордовии носы воротят, зато дальневосточные девы-орки так сами прыгают на меня?
> Блин. Что делать если эльфийки из Мордовии носы воротят, зато дальневосточные девы-орки
> так сами прыгают на меня?Выходить из радиуса поражения?
Так самонаводящиеся. Домой прихожу, кольцо на стенку вешаю, а там в кровати уже трое орксих девушек, явно чего-то ждут. Может быть и интрернета, может быть и кодеков.
Game over, чувак!
> Блин. Что делать если эльфийки из Мордовии носы воротят, зато дальневосточные девы-орки
> так сами прыгают на меня?
Ближайший действительно хреновый интернет в замкадье будет в Польше...
Так что не надо прибедняться.
Кодек интересен тем что аудиозапись, прошедшая сквозь него, скорей всего не прокатит как док-во в суде...
Они для ситуаций, когда связь хреновая. Военные радиостанции там, они должны работать в условиях глушилок на минимальнейшей скорости. Космос может, там качество сигнала будет любым. Может пригодиться и в центре крупного города, если толпа большая, и соты не вытягивают.Но это всё разумные доводы. Я ставлю, что у разработчиков было совершенно другое объяснение: "потому что это просто ох***но".
Я постоянно встречаю, что когда соты не вытягивают - пинг доходит до нескольких минут за счет буфферизации. Может, конечно, не у всех операторов так
Пинг в несколько минут — это неправильно настроенная буферизация.
Бывают ситуации, когда скорость мобильного интернета очень небольшая. Хотя я на практике гораздо чаще встречал проблему потерь пакетов (голос пропадает). От этого новый кодек не защитит.
Для токса и джами и Peer-to-Peer Streaming Peer Protocol пригодится, там всё через других пиров идёт, так что в целях снижения нагрузки на децентрализованную сеть - самое оно.
>речевая модель ... позволяющая воссоздать недостающую информацию на основе типовых характеристик речираньше могло "послышаться" только гуманоидам на одном конце провода, а теперь кодек сам сможет допридумывать отсутствующие фрагменты, увеличивая шанс быть неправильно понятым
Ну, оно для тех ситуаций, когда без него вообще ничего не разобрать.
Гугл недавно чела маньяком сделал, представь что они с этими подставами могут для нас сделать!
Вот тоже подумалось про автокоррекцию теперь уже и в голосовых каналах.
Теперь записывай не только входящие звонки, но и исходящие.
Я так понимаю сперва идёт распознавание слов у текст, а для клиента уже вывод из текста в голос. Хотя может и не прав)
В доке либы написано, что передаются сжатые сетью мел-кепстрограммы.
Думаю на стороне отправителя голос в текст преобразуется, а на стороне клиента, то что не доходит из этого, преобразуется из текста голосом робота. Хотя может и ошибаюсь)
Вот теперь неплохая тема, можно да, палочкой потыкать.
По крайней мере больше не завязано на проприетарь.
> https://www.opennet.me/opennews/sparse_matmulУ вас ссылка отклеилась.
>>комплияторомДаже довольно интересное слово :).
Неплохо, но... Но... Меня смущает эта "речевая модель на базе системы машинного обучения". И то, что обучена она *кем-то*. Даже если не надевать шапочку-антиизучатель, то все равно, чувствуется мне, что для русского и кучи *евойных* диалектов будет... будет... не очень, мягко говоря будет. Вокха будет.
Если что-то не нравится то возьми исходники и сделай как тебе нужно, cyкa вечно недовольная. Или с нуля напиши, покажи гуглю как нужно, трепло картонное. Всегда вам всё не так, всё не то, уроды.
70 000 часов мне тоже самому начитать для обучения?
Какой-нибудь сибирский говор и московский говор еще близки друг к другу. А вот бритиш инглиш и австралиан инглиш это просто фактически разные языки, которые по политическим причинам считают одним, а уж про хинглиш я вообще молчу. Вот тут жесть будет, конечно
ДВшник, чтоле?
Человек надиктовывает, а робот говорит 😂
Снова эти негросети, снова искусственный идиот. Трендовость +10.
А что если по голоовому каналу будут передавать не голос, кстати? Или неизвестный язык? И, на минутку, хорошее место для внедрения локальных слуховых иллюзий. Говоришь "Здрасте", а слышишь "я за п@ртию, пукина и к0вид" )
«Мартин заметил, что во время сеанса связи он слышал только свой голос: ЛП подражает хозяину. Посылать по КК голосовой поток было бы идиотской расточительностью. »
Чарльз Стросс, «Небо сингулярности»
> Снова эти негросети, снова искусственный идиот.А человеческое восприятие симулировать без нейросеток не получается. То есть обработку звука, которую улитка в ухе производит, ещё можно повторить при помощи преобразования Фурье, может с небольшими дополнительными костылями, а вот вычленение звуков речи, как их слышит человек -- не, уже никак.
> А что если по голоовому каналу будут передавать не голос, кстати?
Это смотря как они кодек напишут. Можно вырезать, можно кодировать бОльшим битрейтом.
Если очень грубо описывать, то подход примерно такой. Берёшь со входа сигнал. Слушаешь, получаешь последовательность звуков записанных в каком-то символическом виде. (Например это может быть что-то типа IPA[1], только в удобном для процессора формате). Теперь подбираешь параметры для наилучшего воспроизведения этого символического звука (ну, типа, высота тона голоса, или любые другие параметры которые тебе понравились), так чтобы с этими параметрами описать максимум энтропии входного сигнала. Результат перегоняешь в звук, вычитаешь это из исходного сигнала. Теперь в этом остатке срезаешь лишние частоты, выкидываешь всё лишнее, кодируешь чем-нибудь, под произвольный звук заточенное. Передаёшь символы-звуки и этот дополнительный слой пожатого pcm. На той стороне символы перегоняются в звук, складываются с pcm, выводятся в наушник.
В реальности там всё интереснее, но я упрощая до упора. Что именно будет потеряно при этом -- это то, что ты захочешь потерять, как напишешь кодек, так и будет.
> Или неизвестный язык?
Похрен. У всех языков вместе взятых конечный набор звуков. Языки отличаются от других не столько тем, что они какие-то уникальные звуки имеют, сколько тем, что они каких-то звуков не имеют. Если они набор для обучения из 70 языков собирали, то, даже если они не консультировались с лингвистами, скорее всего они собрали все звуки.
Понятно. Но, получается, для не-"фонетических/символических" звуков "остаток" будет просто превышать удобокодируемое и сверхэффективность кодека будет нулевой.
Напиши не нулевой🤣
Возможно. Но кого это колышет? Кодек для передачи речи. По каналу 3kbps. Вон глянь здесь: https://ai.googleblog.com/2021/02/lyra-new-very-low-bitrate-...opus на 6kbps тоже не передаёт фоновый звук, при этом звук речи, как из под жoпы. А этот ничё. Речь отдаёт немного синтезатором, но кого это колышет?
Данунафиг. У меня и на дайлапе скорость лучше была. Тогда уж проще текстом или TTS. )
> Данунафиг. У меня и на дайлапе скорость лучше была. Тогда уж проще
> текстом или TTS.Ок. Я не буду тебя больше убеждать. Хочешь общаться текстом по дайлапу, общайся текстом по дайлапу. В конце-концов, это же твоё дело, так?
Я думал, у нас тут обмен мнениями а не убеждение )
Да и не суть. Каждому своё нравится.
Текстом или TTS из того же например скафандра в драконе может выйти затруднительно.
Пример утрированный, но хороший для понимания.
Это все хорошо, непонятно только в каком месте у этого подхода нейросетка, вопросы собственно к ней в основном.
> Это все хорошо, непонятно только в каком месте у этого подхода нейросетка,
> вопросы собственно к ней в основном.Нейросетка нужна для категоризации звуков: грубо говоря, чтобы отличать "о" от "а" и от "э", что позволит каждый звук кодировать максимально эффективным способом заточенным именно под него. То есть, она нужна для _вычленения_ и категоризации: потому как звук обладает протяжённостью, и надо весь входящий поток pcm разбить на кусочки, и каждому кусочку сопоставить категорию.
Когда ты знаешь что вот эти 0.2сек pcm звука -- это "о", то ты берёшь свой генератор звука "о" и подбираешь к нему параметры, чтобы он генерировал бы звук максимально похожий на эти 0.2 секунды pcm. Параметров может быть очень немного, я бы предположил, что их все можно уложить в десятки битов. Это вместо тысяч pcm-сэмплов, каждый из которых в десяток бит размером.
Чтобы распознать, тебе нужна функция которая pcm-у сопоставит категорию звука (о, а, э...). Чем ближе эта функция к человеческому восприятию, тем меньше дополнительной информации надо будет передавать, тем лучше будет результат. То есть тебе нужно создать функцию, аналогичную той функции, которая прошита в человеческий мозг. Как это сделать?
Идея нейросеток, чуть ли не с середины XX века, в том, что нейросетка, математически, это интерполяционная функция, причём поскольку она дифференцируема можно градиентным спуском эту функцию искать. В смысле градиентным спуском двигаться по пространству интерполирующих функций, в поисках той, которая минимизирует ошибку. Это не работало нихрена, потому что куча локальных минимумов, в которых завязали все поиски минимумов. Они успешно находили локальный минимум, который очень далёк от глобального, и на этом всё кончалось. Поэтому сетки были в пару слоёв всего, и гарантированно они работали для выпуклых функций. Собственно весь хайп на нейросетки поэтому в 90-е и сошёл на нет. В 80-х нейросетки обocpaлись знатно, обещали решить все проблемы, а получился пшик.
А в начале '00 придумали deep learning, и примерно тогда же научились шейдеры видеокарт использовать, чтобы нейросетки тренировать. И вот тут-то стало возможным тренировать нейросетки со многими слоями, и стало наконец возможным интерполировать функции той сложности, которой человеческое восприятие пользуется, для которого пяток слоёв нейронов -- это детский лепет. Скажем, кора головного мозга -- это шесть слоёв нейронов (у человека остались ошмётки "старой" и "древней" коры, по 2-3 слоя нейрона, но это legacy оставшийся от пресмыкающихся, и предыдущих). И это всё позволяет сегодня воспроизводить человеческое восприятие, и иногда превосходить его. Искусственного интеллекта как не было, так и нет, но, по-крайней мере, в арсенале программиста появилось искусственное восприятие. И кодеки -- это самое очевидное место, куда это искусственное восприятие применить
Молоток! Хорошо описал! 👍
Определение и синтез звуков речи.
Чтобы вычленить собственно слоги и прочие звуки, передать только их, и на месте восстановить обратно.
На самом деле я подозреваю там даже не слоги и прочие звуки, а более мелкие паттерны.
Если не копилефт, то не нужен их кодек.
У гпльщиков штатно бомбит от свободных лицензий.
Пермиссивка не свобода, свобода - это только, и только копилефт.
Свобода - это когда автор кода сам решает кому и на каких условиях его отдавать и отдавать ли вообще. Всё остальное к свободе никакого отношения не имеет. Включая пафосные заявы гпльщиков, но не ограничиваясь ими, ибо не нравится - не ешь.
Нет. Свобода бывает только с копилефтом. Ты описываешь самодурство.
Это здравый смысл, но гпльщикам не понять. Софт - это такой же товар как и любой другой, а значит и распространяется он по тем же принципам.
и gpl и пермессив - свободные лицензии. Разница лишь в том что gpl не позволяет всяким васянам паразитировать на проекте, зарабатывая деньги (разумеется ни чего не давая оригинальным разработчикам).
> Разница лишь в том что gpl не позволяет всяким васянам паразитировать на проекте, зарабатывая деньги (разумеется ни чего не давая оригинальным разработчикам).Это да, ведь гугл, амазон и клаудфлер - совсем не "всякие васяны".
>Это да, ведь гугл, амазон и клаудфлер - совсем не "всякие васяны".Но поведение у них типично васянское.
"Альтернативные рты гпльщиков издают штатные хлопки", чучело ты неполиткорректное!
ГНУ - по факту стандарт. А вот альтернативные - это пермиссивщики лижущие зад копирастам.
Ну выбрось из линупca все что там под свободными лицензиями натаскано и оставь только гпльное. Попробуй на получившемся поработать, потом впечатлениями поделишься.
> ГНУ - по факту стандарт. А вот альтернативные - это пермиссивщики лижущие зад копирастам.Надеюсь, ты написал это сообщение из под lynx в фреймбуфере LibreLinux?
А то ведь тут такое дело - webkit-blink браузеры и иксы с вяленым из под nouveau/i915/amdgpu ни разу не GPL.
Лицензия Apache, версия 2.0 (#apache2)Это лицензия свободных программ, совместимая с версией 3 GNU GPL
https://www.gnu.org/licenses/license-list.ru.html#apache2
Кажется ты напускал газов в лужу
А среди своих газов ты не заметил мысли о том, что за пермиссивкой, как правило, следует проприетарщина, а за копилефтом не может следовать проприетарщина.
То есть тебе мнение FSF пофигу, что лицензия совместима с GPLv3
Понятно
Ещё раз вдумчиво прочитай сообщение наверху. И не пари чушь.
А вы заметили, что программу выложили сами проприетарщики под пермиссивной лицензией. А могли бы поднaсрать и выложить под проприетарной-для-пермиссивщиков-и-проприетарастов gpl, ведь сами Google лицензию на свой продукт соблюдать не обязаны. Вам не кажется, что это акт доброй воли?Идите к Столману и нам агитируйте за GPL-копирастию.
Я ничего не заметил кроме вашего словоблудия бессмысленного и беспощадного.
> Из других улучшений можно отметить возможность использования сборочной системы BazelДля того, чтобы собрать минимальный Базель для сборки Базеля, нужна Ява.
Действительно, OpenJDK хочет. Да и сами исходники Bazel 260 мегов. Это сборочная система, Карл!
Чё не Electron?
Чем он лучше стандартизированного, свободного и популярного Opus?
не взаимозаменяемы ниже 8kbps, проще коррекция и прочие слои из-за аналитичности, более яркий, от melpe. для прослушки, десанта и наводки на гражданские аэробусы подходит. анб, нато, мелкодер..
Fig. 2. Quality vs SNR for the pruned and quantized systems
https://arxiv.org/pdf/2102.09660.pdf
> использования сборочной системы Bazel с компилятором GCC …
> вместо Bazel+ClangФух! Лишь бы не Clang. Так заживём! 🤦🏿