LINUX.ORG.RU

Зачем при кодировании речи сохранять столько лишней информации?

 , , , ,


0

2

Поле для экспериментов по выбрасыванию битов из потока: a.rs:

use std::io::{self, Read, Write};

fn main() -> io::Result<()> {
  let stdin = io::stdin();
  let mut stdout = io::stdout();

  for byte in stdin.bytes() {
      let byte = [byte? & маска];
      stdout.write(&byte)?;
  }

  Ok(())
}
ffmpeg -hide_banner -y -i /data/sound/records/phone/03\ ТАКА\ П\'ЯНА\ Л.amr -f u8 -ar 8000 /dev/stdout|./a|ffmpeg -y -hide_banner -f u8 -ar 8000 -i /dev/stdin -acodec copy a.wav

или, чтобы смотреть спектр:

ffmpeg -hide_banner -y -i /data/sound/records/phone/03\ ТАКА\ П\'ЯНА\ Л.amr -f u8 -ar 8000 /dev/stdout|./a|ffplay -hide_banner -f u8 -ar 8000 /dev/stdin

Прежде всего, оригинал: https://0x0.st/-diT.amr

От сбрасывания старших битов (0x3f) начинается типично цифровая каша-булькотня, ничего интересного: https://0x0.st/-dim.wav

Зато с младшими куда веселее. Оставляем от 8-и 4-е старших бита (0xf0) — вполне качественно ещё, только шумит немножко: https://0x0.st/-dia.wav

2 бита (0xc0) — тоже слушабельно, вполне уровень радиоточки: https://0x0.st/-diM.wav

Да и с 1-м битом (0x80) ещё что-то можно разобрать: https://0x0.st/-diu.wav

Итоговый размер файла — 1761678 байт; если упаковать это в 8 раз, получаем 220210 байт — меньше, чем исходный AMR-файл.

Вот и вопрос: на хрена столько лишних данных гонять и пердолиться с вашими анализами фуррей и прочим матаном? Применяется ли подобное сжатие для какой-нибудь цифровой военной радиосвязи, например — низкокачественной, но дубовой и надёжной?

// Ждём петросянов с шуточками про Разорванного Флакона.

Ответ на: комментарий от xmikex

Плюс моделирование голоса по формантам.

@commagray ещё пару лет назад игрались с чем-то подобным. Ну или откуда-то с форчка утащили ;)

mertvoprog
() автор топика
Ответ на: комментарий от xmikex

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

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

То есть деблокинг видео из бородатого H.264 наконец завезли и для аудио?

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

А в графике символов нет?

В аналоговой нет!

С перегоном графики в звук и обратно Мы тоже экспериментировали.

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

shpinog ★★★★
()

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

Затем что с таким битрейтом можно получить не вот это вот, а нормальную речь.

James_Holden ★★★★
()
Ответ на: комментарий от shpinog

В аналоговой нет!

А как же УГО на бумаге?

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

Так может, и программировать сразу на звуках тогда уж? Как в 90-х в модемы насвистывали…

mertvoprog
() автор топика
Ответ на: комментарий от James_Holden

с таким битрейтом можно получить не вот это вот, а нормальную речь

Если данных достаточно.

А если с потерями?

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

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

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

А если с потерями?

Так не бери исходник с потерями.

Покажите хоть один навороченный кодек

Да любой современный справляется с естественным шумом. Пройди по ссылке @i-rinat, там как раз зашумленные примеры с битрейтом 3 кбит/с, что в 5 раз меньше чем твой двухбитник. Качество при этом просто несравнимо. И шум, и голос остаются почти как были.

James_Holden ★★★★
()
Ответ на: комментарий от mertvoprog

и за свиней всё давно порешали

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

В цифре у тебя 18 каналов на месте одного аналогового. А остальные 17 полос продавай. Это золотая жила.

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

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Ты знаешь матчасть цифрового ТВ?

Знаем, потому и сокрушаемся.

Опять капитализм победил цивилизацию.

продажу опсосам и коммерсам

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

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

И отваливаются все вместе, да. Где резервирование?

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

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

Речь о среде передачи данных

Ты о чем? Среда передачи цифровых данных должна обеспечивать передачу без потерь.

для сравнения, тот же уровень шума

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

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Среда передачи цифровых данных должна обеспечивать передачу без потерь

В маньках идеалистов?

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

Твое бульканье смысл добавлять?

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

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

На хрена вырубать ради этого аналог полностью — непонятно

Так а зачем оно, если один цифровой передатчик транслирует все бесплатные каналы страны?

Это ж затраты на инфраструктуру, на электричество.

И отваливаются все вместе, да. Где резервирование?

А чего они отвалятся?

Если у тебя зона неустойчивого приема, то это проблема не цифрового ТВ а государства, которое поставило мало вышек. Как раз цифровое ТВ позволяет «подсвечивать» местными вспомогательными вышками, в отличие от аналогового.

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

James_Holden ★★★★
()
Ответ на: комментарий от mertvoprog

почему покорёженный сигнал превращается в бульканье

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

James_Holden ★★★★
()
Ответ на: комментарий от mertvoprog

Вот еще пример клания болта.

В моем городе FM передатчики имеют мощность 1 кВт в основном. В Минске - 2 кВт. В Варшаве, которая чуть больше Минска, от 20 до 200 (эквивалентных, направленной антенной). Теперь угадай где радио лучше ловит.

Ну так это ж не FM формат виноват что у меня пш-пш.

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Так а зачем оно, если один цифровой передатчик транслирует все бесплатные каналы страны?

Затем, что цифра́ — говно.

то это проблема не цифрового ТВ а государства, которое поставило мало вышек

Ну да, ещё в каждый овраг по вышке поставить.

Вон у @vurdalak дом в овраге, там сотовую связь еле берёт. При том, что вышки недалеко.

Поэтому, если на сигнал в твоем месте проживания болт клали, это не проблема DVB-T2 стандарта

Точь-в-точь пропаганда Wayland-фанатиков. Если ваши юзкейсы не вписываются в парадигму Wayland — выкиньте нахрен свои юзкейсы, мы вам его всё равно пропихнём.

mertvoprog
() автор топика
Ответ на: комментарий от James_Holden

Потому что случайный набор чисел не сжимается

При чём здесь это? Ещё раз повторяем: речь о повреждении уже сжатого сигнала, а не исходного шума.

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

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

С цифрой же чисто технически проблема решаема.

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

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Ну так это ж не FM формат виноват что у меня пш-пш.

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

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

mertvoprog
() автор топика
Ответ на: комментарий от James_Holden

Дециметровый аналог в овраге точно так же брать не будет

Зачем же на том доме антенна тогда? ;)

Но если там город тысяч на 30, то это легко решается

Опять урбанизаторы расхрюкались.

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

Для дальней связи посему нынче пожатый цифровой DRM используется на коротких и средних волнах

Я вот занимаюсь приемом drm радио и есть одна проблема. Его никто не вещает. А у тебя - используется. Интересно кем? Двумя станциями в мире, в Индии и в Кувейте? На фоне десятков аналоговых КВ станций, вещающих круглосуточно это просто смешно.

А вообще в drm кодек неэффективен для речи. Он с битрейтом 20 кбит/с на речи еле пердит, это просто смешно. Надо на opus хотя бы менять, но стандарт сильно бородатый.

James_Holden ★★★★
()
Ответ на: комментарий от mertvoprog

А как же УГО на бумаге?

Оно не обязательно - текст.

Так может, и программировать сразу на звуках тогда уж? Как в 90-х в модемы насвистывали…

Не, записывать. Есть условный звук пшшшшш. Вот у тебя 24 часа записи этого звука. Сколько файл весит? Наверно все 200мегабайт в мп3.

А здесь у тебя язык звуков. «Пшшшш{24h}» Всё, несколько символов, байты.

shpinog ★★★★
()
Ответ на: комментарий от mertvoprog

Опять предложите плотность передатчиков наращивать

Ты их не особо нарастишь, потому что опять же на FM подсвечивать нельзя. А в dab+ можно и нужно.

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Двумя станциями в мире

В Европе довольно распространён. США, Новая Зеландия, Китай. Но КВ же зигзагами распространяются, так что ничего удивительного в том, что до Вас только Индия да Кувейт доходят ;)

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

но стандарт сильно бородатый

Пфф, вотще совместимость ломать, опять старые приёмники?

Вы же в курсе, почему дико прожорливую амплитудную модуляцию на ДВ–КВ так и не заменила хотя бы однополосная модуляция? ;) Одно слово — совместимость.

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

В Европе довольно распространён

Да неужели. Ты из 2006 пишешь??? Еще раз - никто не вещает. В Европе, возможно, Румыния получасовые выпуски делает. Все.

На постоянку только Индия вещает. У Кувейта там на час включения.

James_Holden ★★★★
()
Ответ на: комментарий от mertvoprog

Никаких drm приемников ни у кого нет. Все любители этого дела на комп принимают. Дураков нет за такую сумму приемники брать.

Тут можно смело все ломать как раз.

James_Holden ★★★★
()
Ответ на: комментарий от shpinog

Оно не обязательно - текст

Так о чём и речь: графика, символы — но не текст. Наскальная живопись ;)

А здесь у тебя язык звуков. «Пшшшш{24h}» Всё, несколько символов, байты.

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

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

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

@bq:00:35:23:/tmp/dl$ cat /downloads/sound/rock/Tubthumping.mid |wc -c
63747
@bq:00:35:47:/tmp/dl$ cat /downloads/sound/rock/Tubthumping.mid |xz|wc -c
3776
mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

так и не заменила хотя бы однополосная модуляция?

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

James_Holden ★★★★
()
Ответ на: комментарий от mertvoprog

За DAB конечно, про FM я как пример писал, что наши экономисты ставят даже тут мощность по минимуму.

А введи они DAB, с таким подходом будет вообще провал.

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Румыния получасовые выпуски делает

Да, зато у них аналоговыми передачами средние волны забиты. Недавно даже на Кворе спрашивали, почему так; полагаем, что из-за гористой местности, которая мешает проводимости УКВ.

Ну и кагбэ аналоговые радиостанции тоже не все круглосуточные ;) Равно как и региональные телеканалы. Или даже российское Ъ-общественное телевидение, которому хронически денег не хватает.

mertvoprog
() автор топика
Ответ на: комментарий от James_Holden

Дураков нет за такую сумму приемники брать

Магнитолы в машины тоже дураки ставят? ;)

mertvoprog
() автор топика
Ответ на: комментарий от James_Holden

требуемой точностью

Автопойск на что? :P

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

Да и нет там музыкальных станций почти. Хотя вот давеча греческую ΠΡΟΤΟ ΠΡΟΓΡΑΜΑ поймали, там как раз ископаемая попса. Ну и персы поют, для акапельного пения сильного качества не надо ;)

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

У тебя ж там под боком Вести ФМ на средних волнах весь день молотят так, что я тут днем слышу, если поднапрячься.

На КВ китайцы молотят все время, только меняют частоты по мере смены прохождения в течение дня.

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

Турки молодцы, вечером тоже валилово.

James_Holden ★★★★
()
Ответ на: комментарий от i-rinat

Мне вспомнился какой-то старый ксерокс не помню какого производителя, который (вроде тоже в целях оптимизации) как-то так же заменял фрагменты документа на «похожие», и одни цифры превращались в другие

anonymous
()
Ответ на: комментарий от mertvoprog

Автопойск на что?

Алло гараж, автопоиск настраивается на несущую, которую ты подавил. И все теперь, автопоиск тютю. О чем и речь. Я имею в виду не то что вручную не настроишься, при сноровке как раз можно. Автоматом не настроишься.

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

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

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Вести ФМ на средних волнах весь день молотят

Молотят, но остальное не глушат ;)

Если б еще язык понимать

Пфф, Мы его с раннего детства слышим, а так толком и не знаем ;DDD Считать только научились, потому что лотереи смотрели.

Турки молодцы

Вот кстати, что у них там с аналоговым ТВ? По открытым источникам как-то непонятно, вроде так и не отключили до сих пор.

У Нас пару лет назад молния усилитель сожгла, антенну уже спускать только ради этого не будем (да ещё и ждать, когда тропо появится).

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

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

Вот бы знать, я то точно знать не буду что у них с ТВ. Радио я принять могу, а ТВ никак.

Подозреваю что как и везде - поотрубали все. Иначе зачем бы они парили приставки.

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

автопоиск настраивается на несущую

Это неправильный автопойск, правильный должен SNR мерять :P

генератор на промежуточную частоту

Ну-ну. Уже нажрались и дециметровых блоков, и CDMA-модемов в Украине, чтобы на GSM-телефоны быстрый EVDO раздавать по Wi-Fi, пока с лицензиями на UMTS телились. Уносите свои костыли обратно :P И T2-приставки тоже уносите.

mertvoprog
() автор топика
Ответ на: комментарий от James_Holden

FLAC тут причем, он ничего не подменяет

FLAC полностью реконструирует то, чего наподменял. Таки что мешает при прогоне по всему файлу так же реконструировать?

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

когда аналогичный алгоритм в копере цифры путал!

Именно это

anonymous
()
Ответ на: комментарий от James_Holden

везде

В «третьем мире» ещё долго тянуть будут. Это жжж надо передающее оборудование менять, а тугриков нету :P Да и в КНДР вроде не спешат.

Иначе зачем бы они парили приставки

У нас приставки парить начали лет за 10 до того, как наконец отключили (и то не везде, на оккупированные регионы до сих пор аналог вещают, недавно даже вышку новую для этого поставили, с флагом, чтоб далеко видно было ;DDDDDD). И это ещё фигня, ибо сразу парили DVB-T2, а ведь где-то люди лоханулись и понакупали ящиков с DVB-T…

И в Молдове не отключают, хотя собирались ещё в начале 2020-го, но выборы и пандемия помешали.

mertvoprog
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.