О задании
В прошлой статье про 7 задания мы уже успели изучить формулу Хартли и поработать с изображениями. В этой же статье познакомимся с кодированием звуковой информации, изучим термины «квантование» и «дискретизация» и научимся решать 7 задания, посвящённые работе с звуковыми файлами.
Работа со звуковым файлом
Теперь разберемся, как обстоят дела со звуковыми файлами. Для начала, давайте поймем, что такое звук и как звуковая волна может быть представлена в цифровом виде.
Как вы знаете из школьного курса физики, звук —это распространяющаяся в пространстве волна. Для начала надо эту волну перенести из окружающей среды в электрический сигнал. Для этого используются микрофоны.
Звуковая волна попадает в микрофон через диафрагму — тонкую мембрану, которая колеблется под воздействием давления звуковых волн. Далее эти колебания диафрагмы вызывают изменения электрического поля (в конденсаторном микрофоне) или движение электромагнитной катушки в магнитном поле (в динамическом микрофоне), при этом создавая переменный ток.
Этот переменный ток представляет собой аналоговый сигнал. Он может быть передан на устройство воспроизведения или записи (на кассету или пластинку) в неизменном виде. Но компьютер работать с таким сигналом не может. Как вы знаете, компьютер — цифровое устройство, которое работает только с нулями или единицами.
Чтобы с аудиосигналом можно было работать на цифровом устройстве, необходимо этот сигнал превратить в последовательность чисел. Для этого применяется дискретизация.
Она состоит из двух основных шагов:
- Выбор частоты дискретизации. Это количество отсчётов (измерений) звука за секунду. Чем выше частота дискретизации, тем точнее будет сохранён звуковой сигнал. Например, для записи музыки обычно используют частоту 44,1 КГц (килогерц), а для профессиональной записи — 96 КГц или даже больше.
- Квантование. На этом этапе значения амплитуды (громкости) каждого отсчёта округляются до ближайшего уровня из заданного набора. Количество уровней определяет битность квантования. Например, 8-битное квантование позволяет использовать 256 уровней громкости, а 16-битное — 65 536 уровней.
После дискретизации звуковой сигнал становится набором чисел, которые можно хранить и обрабатывать на компьютере. При воспроизведении эти числа преобразуются обратно в аналоговый звуковой сигнал, который мы можем услышать через динамики.
Давайте рассмотрим процесс дискретизации на графике.
У нас есть некий аналоговый сигнал (синий график), который меняется со временем. Для того, чтобы превратить его в набор чисел, мы через равные промежутки времени фиксируем его уровень. Эти промежутки времени называются шагом дискретизации. А количество таких измерений в секунду — частотой дискретизации.
Если от частоты дискретизации у нас зависят значения на оси абсцисс (горизонтальная), то от уровня квантования зависят значения на оси ординат. Количество уровней квантования влияет на разность между уровнями сигналов.
Здесь углубляться во влияние квантования на звуковой сигнал мы особо не будем. Достаточно понять, что битность квантования для нас будет аналогична глубине цвета в изображении. То есть, абстрактно можно представить, что это некий вес одной «единицы звукового сигнала». Следовательно, битность квантования будет для нас аналогична глубине кодирования файла.
Теперь, проведя аналогию с изображением, можем понять, что для вычисления объема звукового файла, нам необходимо провести те же операции. Только если изображение статично и имеет только ширину, высоту да глубину цвета, то звуковой файл имеет длительность, количество измерений в секунду (частоту дискретизации) и уровень этих измерений — глубину кодирования.
Но для звуковых файлов есть еще один важный параметр — количество каналов.
Вспомните звучание своего любимого трека в наушниках. Звук в правом ухе обычно немного отличается от звука в левом. Иногда это различие может быть явным, например, когда гитара играет сначала в одном ухе, а потом плавно перетекает в другое. Дело в том, что такая аудиозапись имеет два канала и называется «стерео».
То есть здесь в одном файле записаны две разные аудиодорожки. О чем это нам говорит? Ну, о том, что такой трек будет приятней слушать, но и весить он будет больше. Точнее сказать, два раза больше, чем такой же трек с одним каналом.
Звуковая запись с одним аудиоканалом называется «моно» (от слова «монофонический»). Обычно «моно» звук записывается от одного источника — сольный инструмент, голос человека и так далее. Например, в телефонном разговоре и вас, и собеседника как раз слышно в «моно» режиме.
Существует еще множество форматов записи звука. Но в ЕГЭ вы будете встречаться только с тремя из них:
- Моно — 1 канал
- Стерео — 2 канала
- Квадро — 4 канала
Давайте выведем формулу для вычисления объема звукового файла. По аналогии с изображением, нам необходимо перемножить имеющиеся данные:
Здесь:
- k — количество каналов (1, 2 или 4);
- t — длительность записи в секундах;
- i — глубина кодирования в битах (разрешение);
- η – частота дискретизации в герцах.
Алгоритм решения задания 7
Далее мы рассмотрим алгоритмы решения заданий 7 с звуковыми файлами.
Типов 7 заданий на работу с звуковыми файлами гораздо меньше, чем на работу с изображениями, обычно встречается одна из следующих формулировок:
- За какое время можно скачать музыкальный альбом с заданной скоростью / сколько длилась передача файла
- Какой вес файла получится при перезаписи с другими параметрами
Если требуется найти время для скачивания музыкального альбома или передачи звукового файла по сети, то поступаем так:
- Сначала находим объемзвукового файла. Для этого перемножаем все известные значения: количество каналов, частоту дискретизации, разрешение и длительность всех звуковых файлов в альбоме;
- Далее делимполученное значение на скорость передачи данных по каналу.
Со вторым типом все куда проще, порой достаточно будет перемножить размер первого файла на изменённый параметр и всё. А в целом, подход будет такой же, как и при определении количества сэкономленного трафика в изображениях (тип 3).
Давайте далее разберём каждый тип и решим по одному примеру для закрепления.
Тип 1
Начнём с такой формулировки:
«Музыкальный альбом записан в формате стерео с частотой дискретизации 48 кГц и разрешением 34 бит без использования сжатия. В альбоме 13 треков общей длительностью 42 минуты 20 секунд. Каждый трек содержит заголовок размером 110 Кбайт. Сколько секунд потребуется для скачивания альбома по каналу со скоростью передачи данных 314 572 800 бит/с? В ответе укажите целую часть числа»
Давайте распишем решение этого задания полностью, как если бы мы решали его на бумаге.
Выпишем все имеющиеся у нас значения и приведём их к минимальным единицам измерения:
- Количество каналов — k — у нас стерео запись, значит канала 2
- Длительность всех треков — t — 42 минуты 20 секунд, в секундах это будет 42 · 60 + 20
- Глубина кодирования — i — в нашем случае называется разрешением и равняется 34 битам
- Частота дискретизации — η — равна 48 кГц или же 48 · 103 Гц
Теперь подставим эти значения в формулу и найдём вес 13 композиций без заголовков:
Но мы помним, что в альбоме каждый трек имеет еще и заголовок весом в 110 Кбайт. Тогда добавим этот вес 13 таких заголовков к уже вычисленному значению:
Всё, у нас есть вес всего альбома и скорость его скачивания, значит можем без труда найти время скачивания, поделив вес на скорость:
Здесь уже не надо размышлять над округлением, в условии чётко сказано — в ответ дать только целую часть числа, в нашем случае — это 26.
А так бы выглядело решение этого задания в среде разработки:
Пример 1
Для закрепления рассмотрим такую формулировку:
«Голосовое сообщение продолжительностью 120 с было записано в формате стерео и оцифровано с глубиной кодирования 16 бит и частотой дискретизации 56 000 измерений в секунду. Сжатие данных не использовалось. Файл с оцифрованным голосовым сообщением был передан по каналу связи, пропускная способность которого 32 000 бит/с. Сколько секунд длилась передача файла? В ответе запишите целое число, единицу измерения указывать не нужно»
В этот раз решим всё задание в среде разработки Python. Начнём с того, что выпишем все известные величины:
Далее просто переписываем уже известную нам формулу:
И целочисленно делим V на пропускную способность канала (переменная bitrate):
Весь код для решения этого задания будет такой:
А в ответ мы запишем число 6720.
Тип 2
Как уже было сказано ранее, все 7 задания на работу со звуком довольно простые. Но вот второй тип этих заданий выделился особо — зачастую решение заданий этого типа занимает всего одну строку!
Начнём разбор этого типа с такой формулировки:
«Музыкальный фрагмент был записан в формате стерео (двухканальная запись), оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла – 39 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате моно и оцифрован с разрешением в 2,5 раза выше и частотой дискретизации в 4 раза больше, чем в первый раз. Сжатие данных не производилось. Укажите размер файла в Мбайт, полученного при повторной записи. В ответе запишите только целое число, единицу измерения писать не нужно»
Здесь вообще не потребуется ни перевода значений в другие единицы измерения, ни особого знания формул. Давайте рассуждать.
Был файл, записан в стерео, его размер составлял 39 Мбайт. Теперь изменили параметры:
- Из стерео перешли в моно => количество каналов уменьшилось в 2 раза
- Разрешение увеличилось в 2,5 раза
- Частота увеличилась в 4 раза
Значит, что с размером файла произошло при таких манипуляциях? Да, сначала вес увеличился в 2,5 раза, затем в 4 раза, а потом уменьшился в 2 раза:
На этом решение задания завершено, в ответ пишем число без единиц измерения: 195.
Пример 2
Рассмотрим еще одну формулировку задания 7 второго типа:
«Музыкальный фрагмент был записан в формате моно, оцифрован и сохранён в виде файла без сжатия данных. Размер полученного файла − 35 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате стерео (двухканальная запись) с частотой дискретизации в 3,5 раза больше, чем в первый раз. Сжатие данных не производилось. Укажите размер файла в Мбайт, полученного при повторной записи.
В ответе запишите только целое число, единицу измерения писать не нужно»
Давайте проанализируем, как изменились параметры звукового файла:
- Из моно перешли в стерео => количество каналов увеличилось в 2 раза
- Разрешение не изменилось
- Частота дискретизации увеличилась в 3,5 раза
Вычислим новый размер файла:
В ответ пишем число 245.