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

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

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

В то время, когда операторы вводят HD звонки, ты решил подумать над уменьшением передаваемого потока в amr. А что не написал про исходный формат ничего? amr много разных вариаций существует и в какой именно у тебя записан файл ты не написал.

xmikex ★★★★
()

Слышишь фонтан на фоне, тарищ Майор.

anonymous
()

Применяется ли подобное сжатие для какой-нибудь цифровой военной радиосвязи

вспомнил разговоры по ЗАС и заплакал от ненависти, нет сынок военные у нас все еще лампами звук жмут

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

операторы вводят HD звонки

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

amr много разных вариаций существует

Какие, кроме NB и WB? У WB и расширение .awb.

mertvoprog
() автор топика

на хрена столько лишних данных

В ffmpeg последних версий подключается codec2. Потесть его, будешь удивлён.

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

Где текст?! Там бинарные данные.

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

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

https://buildwiki.ru/wiki/Adaptive_Multi-Rate_audio_codec

Всего существует 14 режимов кодека AMR, восемь из которых доступны в канале с полной скоростью (FR) и шесть в канале с половинной скоростью (HR) .

xmikex ★★★★
()
Последнее исправление: xmikex (всего исправлений: 1)
Ответ на: комментарий от shpinog

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

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

#!/bin/sh
INPUT="/downloads/video/webm/414827e0-9583-407f-9940-3840b7b1085f.webm"
OUTPUT="/tmp/swine.mp4"
RES="320x240"
Q="1"
AR="8000"
AF="u8"
AB="16k"
AFMT="ogg"

ffmpeg -hide_banner -y -t 5 -i "$INPUT" -f rawvideo -s "$RES" /dev/stdout|\
#ffmpeg -hide_banner -y -f "$AF" -ar "$AR" -i /dev/stdin -af acrusher=bits=1:lfo=true:lforange=5:lforate=9.8 -f ogg -q "$Q" -ab "$AB" /dev/stdout|\
#ffmpeg -hide_banner -y -f "$AF" -ar "$AR" -i /dev/stdin -bsf:a 'noise=dropamount=928395' -f "$AFMT" -q "$Q" -ab "$AB" /dev/stdout|\
ffmpeg -hide_banner -y -f "$AF" -ar "$AR" -i /dev/stdin -bsf:a 'noise=amount=30' -f "$AFMT" -q "$Q" -ab "$AB" /dev/stdout|\
ffmpeg -hide_banner -y -f "$AFMT" -i /dev/stdin -f "$AF" -ar "$AR" /dev/stdout|\
ffmpeg -hide_banner -y -f rawvideo -s "$RES" -i /dev/stdin "$OUTPUT"

А ещё qsstv для этой задачи есть верблюд, красивые картиночки получаются: https://pic4a.ru/110/qQ5.png

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

Меняется только битрейт, а во всех вариантах:

Частота дискретизации 8 кГц / 13 бит (160 выборок для кадров 20 мс), фильтруется до 200–3400 Гц

Так что мимо.

Сайт вообще на машинный перевод англоязычной педивикии похож, что за извращение? Вы бы ещё на qaru ссылку дали.

mertvoprog
() автор топика

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

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

Не понял вы как определили, что там именно машинный перевод то?

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

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

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

Военные знают толк в тёплом ламповом звучании!

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

вы как определили, что там именно машинный перевод то?

Ну например, по этому:

ARIB 6,7 кбит / с расширенная полная скорость

хотя AMR является речевой формат и вряд ли даст идеальные результаты для другого звука

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

А англоязычные названия статей в ссылках вообще не оставляют сомнения.

Ещё и рекламы напихали и паразитируют на Педивикии тупо. Помойка, короче.

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

Потому что речь не о битрейте, а о глубине квантования звука. Это независимые факторы, которые можно прикручивать независимо, но до определённого предела, ибо чем грубее квантован звук — тем хуже он поддаётcя FFT и прочим умным техникам. Однобитовый звук вообще мало смысла жать чем-то кроме банального RLE.

mertvoprog
() автор топика

Вообще кодирование в amr - это кодирование с потерями, твое «упаковать в 8 раз» говорит о том, что ты представляешь это каким-то процессом сжатия с гарантированным коэффициентом, чего в реальности не происходит. Ты проверял качество и размер получающиеся после обратного преобразования в amr звука?

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

Зачем, когда можно ссылку на англоязычную педивикию дать?

Кто не осиливают инглиш — сами через переводчик прогонят, нечего совать это покушать всем подряд.

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

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

Смысл размер проверять? Он от битрейта зависит же.

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

Мы видим, что русскоязычный. Это отменяет то, что это помойка, занимающаяся чёрной SEO ради наваривания на рекламе? Приличные люди вообще подобное из поисковой выдачи фильтровывают.

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

Для начала надо издать его как независимую статью, а потом уже в Педивикию пихать. Педивикия — не первоисточник. И оно вообще не про AMR.

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

Простой текст тоже избыточен. Избыточность везде, даже в протоколах. Убери ее, дойди до 0 и 1.

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

Русскоязычная википедия от этого лучше не становится 😞

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

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

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

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от peregrine

А старое при этом потихоньку отмирает.

Чем дальше, тем менее жалко становится, что что-то ценное изолируется в Чебурнете от внешнего мира. Ну разве что ЧКПК, туда даже буржуи за варезом и модами ходят.

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

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

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

С фонетикой будет беда.

Можно, конечно, МФА гонять, но широкие массы не осилят прочесть и начнут тереть по 4.8/5.5.

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

Нет, ты съехал. Я поправился. Есть коммутация каналов и коммутация пакетов. Коммутация пакетов избыточна. Коммутация каналов нереалезуема. Решай этот вопрос.

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

Зачем коммутировать, каждому человеку по выделенной узенькой полосе в гигагерцовом диапазоне!

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