В прошлой статье о задании 7 мы уже успели изучить формулу Хартли и поработать с изображениями. В этой же статье познакомимся с кодированием звуковой информации, изучим термины «квантование» и «дискретизация» и научимся решать задания 7, посвящённые работе с звуковыми файлами.
Работа со звуковым файлом
Для начала давайте разберёмся, что такое звук и как звуковую волну представить в цифровом виде.
Как вы знаете из школьного курса физики, звук — это волна, распространяющаяся в пространстве. Сначала микрофон преобразует звуковые колебания в электрический сигнал.
Звуковая волна воздействует на диафрагму микрофона — тонкую мембрану, которая колеблется под изменяющимся давлением. Эти колебания преобразуются в переменный электрический сигнал.
Полученный сигнал является аналоговым: он изменяется непрерывно. Компьютер же работает с цифровыми данными, поэтому для хранения и обработки сигнал нужно представить в виде последовательности чисел.
Преобразование аналогового сигнала в цифровой называется оцифровкой. В школьных задачах нам важны два её этапа: дискретизация и квантование.
Рассмотрим их подробнее:
Дискретизация. Через равные промежутки времени измеряется уровень сигнала. Частота дискретизации показывает количество таких отсчётов за секунду. Например, частота 44,1 кГц означает 44 100 отсчётов в секунду.
Квантование. Значение амплитуды каждого отсчёта округляется до ближайшего уровня из заданного набора. При 8-битном кодировании доступно 256 уровней, а при 16-битном — 65 536.
После оцифровки звуковой сигнал становится набором чисел, которые можно хранить и обрабатывать на компьютере. При воспроизведении эти данные преобразуются обратно в аналоговый сигнал.
Давайте рассмотрим процесс дискретизации на графике.
На графике показан аналоговый сигнал, который изменяется со временем. Через равные промежутки времени мы фиксируем его уровень. Интервал между измерениями называется шагом дискретизации, а число измерений за секунду — частотой дискретизации.
По горизонтальной оси располагается время: чем выше частота дискретизации, тем плотнее отсчёты. По вертикальной оси откладывается амплитуда, а битность определяет количество доступных уровней квантования.
Для решения задания достаточно запомнить: битность кодирования звука играет ту же роль, что и глубина цвета изображения. Она показывает, сколько бит отводится на один звуковой отсчёт.
По аналогии с изображением объём звукового файла можно найти перемножением его параметров. Для изображения это ширина, высота и глубина цвета, а для звука — длительность, частота дискретизации и битность кодирования.
Но для звуковых файлов есть ещё один важный параметр — количество каналов.
Вспомните звучание любимого трека в наушниках. Звук в правом канале может отличаться от звука в левом: например, отдельный инструмент слышен с одной стороны сильнее. Такая двухканальная запись называется стерео.
В стереофайле хранятся два канала. Поэтому при одинаковых остальных параметрах стереозапись занимает в два раза больше памяти, чем монозапись.
Звуковая запись с одним каналом называется моно. Такой формат часто используют для речи или записи одного источника звука.
В заданиях ЕГЭ обычно встречаются три варианта записи по количеству каналов:
Моно — 1 канал
Стерео — 2 канала
Квадро — 4 канала
Выведем формулу для вычисления объёма звукового файла. Нужно перемножить все известные параметры:
Здесь:
k — количество каналов (1, 2 или 4);
t — длительность записи в секундах;
i — глубина кодирования, то есть количество бит на один отсчёт;
η — частота дискретизации в герцах.
Алгоритм решения
Далее рассмотрим алгоритмы решения задания 7 со звуковыми файлами.
Типов заданий со звуковыми файлами меньше, чем с изображениями. Обычно встречается одна из следующих формулировок:
За какое время можно скачать музыкальный альбом или передать звуковой файл?
Какой объём файла получится после записи с другими параметрами?
Как правило, такие задачи решаются проще, чем задачи с изображениями, но на экзамене они встречаются реже.
Если требуется найти время скачивания музыкального альбома или передачи звукового файла по сети, поступаем так:
Сначала находим объём звуковых данных. Для этого перемножаем количество каналов, частоту дискретизации, глубину кодирования и общую длительность записи;
Затем делим полученный объём на скорость передачи данных по каналу.
Во втором типе часто достаточно умножить исходный размер файла на коэффициенты изменения его параметров. Такой же подход мы использовали при вычислении сэкономленного трафика для изображений в типе 3.
Теперь разберём каждый тип и решим по одному примеру для закрепления.
Тип 1
Начнём с такой формулировки:
Музыкальный альбом записан в формате стерео с частотой дискретизации 48 кГц и разрешением 34 бит без использования сжатия. В альбоме 13 треков общей длительностью 42 минуты 20 секунд. Каждый трек содержит заголовок размером 110 Кбайт.
Сколько секунд потребуется для скачивания альбома по каналу со скоростью передачи данных 314572800 бит/с?
Теперь разделим объём всего альбома на скорость передачи и найдём время скачивания:
t_скач = 8 302 274 560 / 314 572 800 ≈ 26,39 с.
В условии просят указать целую часть числа, поэтому в ответ записываем 26.
Так выглядит решение этой задачи в Python:
k = 2
eta = 48 * 10 ** 3
i = 34
tracks = 13
t = 42 * 60 + 20
header = 110 * 2 ** 13
bitrate = 314_572_800
V_tracks = k * t * i * eta
V_album = V_tracks + header * tracks
download_time = V_album
Пример 1
Для закрепления рассмотрим ещё одну формулировку:
В этот раз решим задачу сразу в Python. Сначала запишем все известные величины:
k = 2
eta = 56 * 10 ** 3
i = 16
t = 120
bitrate = 32_000
Затем вычислим объём файла по уже известной формуле:
V = k * t * i * eta
Чтобы найти время передачи, целочисленно разделим объём V на пропускную способность канала bitrate:
transfer_time = V // bitrate
Весь код для решения этого задания будет такой:
k = 2
eta = 56 * 10 ** 3
i = 16
t = 120
bitrate = 32_000
V = k * t * i * eta
transfer_time = V // bitrate
print(transfer_time)
В ответ записываем число 6720.
Тип 2
Как уже было сказано, задачи со звуком обычно несложные. Во втором типе решение нередко занимает всего одну строку.
Начнём разбор этого типа с такой формулировки:
Музыкальный фрагмент был записан в формате стерео (двухканальная запись), оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла – 39 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате моно и оцифрован с разрешением в 2,5 раза выше и частотой дискретизации в 4 раза больше, чем в первый раз. Сжатие данных не производилось.
Укажите размер файла в Мбайт, полученного при повторной записи.
В ответе запишите только целое число, единицу измерения писать не нужно.
Здесь не потребуется переводить значения в другие единицы измерения. Достаточно проследить, во сколько раз изменился каждый параметр.
Исходный файл записан в стерео и занимает 39 Мбайт. При повторной записи параметры изменились так:
Из стерео перешли в моно → количество каналов уменьшилось в 2 раза;
Разрешение увеличилось в 2,5 раза;
Частота дискретизации увеличилась в 4 раза.
Значит, исходный размер нужно умножить на 2,5 и на 4, а затем разделить на 2:
V = 39 · 2,5 · 4 / 2 = 195
Решение завершено. В ответ записываем число 195 без единиц измерения.
Пример 2
Рассмотрим ещё одну формулировку задания 7 второго типа:
Музыкальный фрагмент был записан в формате моно, оцифрован и сохранён в виде файла без сжатия данных. Размер полученного файла − 35 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате стерео (двухканальная запись) с частотой дискретизации в 3,5 раза больше, чем в первый раз. Сжатие данных не производилось.
Укажите размер файла в Мбайт, полученного при повторной записи.
В ответе запишите только целое число, единицу измерения писать не нужно.
Проследим, как изменились параметры звукового файла:
Из моно перешли в стерео → количество каналов увеличилось в 2 раза;
Глубина кодирования не изменилась;
Частота дискретизации увеличилась в 3,5 раза.
Вычислим новый размер файла:
V = 35 · 3,5 · 2 = 245
В ответ записываем число 245.
Итоги
Мы разобрали два типа задач со звуковыми файлами: прямой расчёт объёма и пересчёт размера после изменения параметров записи.
Для прямого расчёта используйте формулу V = k · t · i · η, где η — частота дискретизации, i — глубина кодирования, t — время, а k — количество каналов.
Если дан исходный размер, формулу можно восстановить через пропорцию: размер файла во столько же раз изменяется при изменении частоты, глубины кодирования, длительности и количества каналов.
Перед вычислениями проверьте единицы измерения и наличие сжатия. При переходе из моно в стерео размер увеличивается в 2 раза, а из стерео в моно — уменьшается в 2 раза.
На этом мы закончили разбор алгоритмов решения задания 7 ЕГЭ по информатике. А попрактиковаться в решении заданий данного типа вы можете в нашем тренажёре.
Разберём эту тему на бесплатном пробном занятии
Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.
Мы используем файлы cookie. Необходимые обеспечивают работу сайта: корзину и вход в личный кабинет. С вашего согласия мы также используем сервис Яндекс Метрика, чтобы анализировать посещаемость и улучшать сайт.
Подробнее — в политике конфиденциальности.