masterspammer (masterspammer) wrote,
masterspammer
masterspammer

Categories:

Пару слов о том, что я тут вообще делаю

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

Вообще вся эта тема - про цифровой звук - прежде всего flac/ape и прочие полные копии того, что было на компакт-диске, но и mp3 тоже сюда же.

Смысл цифрового хранения данных в том, что данные абсолютно неизменны, сами по себе не старятся, не портятся, ибо 1 есть 1, 0 есть 0 и перепутать их сложно (и это уже ошибка и неисправность), так что сколько не копируй, куда не передавай, копия не будет хуже оригинала. Упомянутый тут формат mp3 (а так же wma, ogg и многие другие) однократно при сжатии меняет данные, выкидывая "ненужное" (малослышимое), а далее они опять остаются неизменными, ну да не про mp3 речь.

При передаче последовательностей нулей и единиц по проводам (и по радио) они, естественно, искажаются, очень примерно это можно описать так, что 1 может превратиться (условно, мы считаем, что нет напряжения - 0, есть, например, пять вольт - 1) в 0.9 или в 1.1, а 0 - в 0.2 или в -0.1, прежде всего такое бывает от помех, но и несовершенство самой аппаратуры нельзя исключить; однако можно (упрощая) считать, что всё, что больше 0.5 - единица, а меньше - 0.

Иногда значения передаются не самим значением, а его длительностью - всегда идут импульсы, но они то короткие, то длинные (что позволяет отличить последовательность нулей в данных от выключенного устройства), тогда из-за помех длительности тоже могут искажаться: пусть у нас импульс начинается; в реальной жизни это происходит не мгновенно, и уровень сигнала на выходе меняется примерно так:
0% 20% 40% 60% 80% 100% (и при переходе от 40 к 60 мы считаем, что импульс начался - там тоже плавно, а не ступенчато, кстати), но из-за помехи на входе приёмника получается
10% 35% 55% 72% 90% 110% - и вот тут для приёмника импульс начался при переходе от 35 к 55, то есть РАНЬШЕ.
Импульсы начинаются то немного раньше, то немного позже и из-за этого становятся то короче, то длиннее. Однако и тут пороговый подход помогает и 0 с 1 не путается - их длительности различаются значительно.

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

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

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

Если данные сначала передавать, сохранять, а потом воспроизводить, то теоретически проблема решена. Крайний случай - записать на компьютере диск и вставить его в плеер. Часто такой диск с цифрового выхода будет играть много лучше, чем запись с цифрового выхода компьютера. Но плата - объём памяти для хранения и время задержки.

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

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

Чтобы использовать это решение, компьютер (звуковая карта) должен ументь принимать образцовый сигнал, вот карта Via Tremor, с которой я ковырялся, сделана на микросхеме, на которой делают в том числе и профессиональные карты и у неё (у микросхемы) такой вывод есть; можно конечно и сразу профессиональную карту взять, но 300-800 руб. + час-два ковыряния против 5000-10000 тыс. + тоже полчаса-час ковыряния мне выбора не оставили.

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

Иногда частоты у воспроизводящего устройства и звуковой карты бывают разные (но имеющий общий делитель - в совершенно школьном смысле), так что можно взять бОльшую частоту и делить её когда на 2, когда на 3, а когда - на 4. Вот это случай у меня не вышел - частота на 3 не делится (в смысле поделить-то можно, но никакое устройство получившуюся частоту не использует), так что плату можно будет использовать не везде (но много где) или придётся делать отдельный утроитель частоты для тех устройств, что хотят частоту, делящуюся на 3 (это мой сидюк, например, так что пока обойдусь без физических компакт-дисков).
Tags: ЗанимательнаяФизика, РазборПолётов, ФиксикиПокусали, Философское
Subscribe

  • Заскочил, значит, за проводочками...

    Хотел в гости зайти к знакомому дедушке/дядюшке, звоню, а он умер сегодня... P.S. Да, именно covid...

  • Стратегическая двуручная харкалка

    Харкалки в школьные годы не то, чтоб совсем мимо меня прошли, но всё же я был больше по брызгалкам. На втором месте были резинки и рогатки (в…

  • Про тиристоры

    В детстве я при них в основном читал. В журналах Радио, Моделист-Конструктор, Юный Техник и прочие неоднократно упоминались конструкции на этом…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments