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-файл.

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

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

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

У нас dvb-t до сих пор первый мультиплекс. T2 на платных втором и третьем. Потому что смысл, все равно больше гос каналов нету. А железо все обычный t поддерживает.

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

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

Так ты не настроишься, тем более на SSB.

Ну-ну

Ну можно в электросеть подмешивать 465 кГц, чтобы все приемники радовались SSB вещанию))) И костылей не понадобится.

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

МЫЫЫЫЫЫЫЫЫЫ БЕЛАРУУУУУУУУУСЫЫЫЫЫЫЫЫЫЫЫЫ

МИЛЫЯ ЛЮДИИИИИИИИИИИИИИИИИИ

ВЕЕЕЕЧНА АТДААААААААААААНЫЫЫЫЯ

РООООООДНАЙ ДЗЯМЛИИИИИИИИИИИИИ

(и настроечная таблица стабильно в пол-второго ночи)

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

Ну вот, пока ДВ радиоцентр не отрубили, это слушали и в северной Африке. А теперь это все через бездуховный dvb-t.

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

Хотя у меня в доме все равно проводной сети нет, даже если бы она в городе работала.

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

пока ДВ радиоцентр не отрубили, это слушали и в северной Африке

Напомнило.

Все скрепы разрушили

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

К проводному радио недавно Укртелеком перестал подключать новых абонентов. Где-то вроде ещё работает, но у Нас смолкло навсегда ;)

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

и не смотреть по 30 минут то, что читается за 5

Так ускоряйте. Слепые так экранные дикторы и слушают.

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

Головастых нет, закончились лет 10 назад.
То что интересует просто проматывайте.

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

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

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

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

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

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

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

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

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

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