Узнать общую продолжительность аудио программа. Звук. Информационный объем звукового файла. Узнаем длительность с помощью плеера

Очень часто многие пользователи задаются вопросом: «А сколько по времени у меня занимает папка Музыка» или «Какой продолжительностью эти файлы», или «Какая общая продолжительность звучания моих клипов». Если папка «Музыка» содержит только аудиофайлы, то подсчитать общую длительность их звучания не составляет труда. Для этого достаточно воспользоваться любым аудиоплеером (Winamp, AIMP и другие). А если папка «Клипы» содержит только видео, то это также легко сделать в любом видеоплеере, поддерживающем плейлисты. Но что делать, если «Музыка» содержит еще и клипы, то есть видеофайлы или, наоборот, папка «Клипы» содержит аудиофайлы? Или, например, некоторые типы музыкальных файлов не воспроизводятся обычными плеерами?

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

Узнаем длительность с помощью плеера

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

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

Кстати, при необходимости этот список можно скопировать в Excel таблицу. Для этого нужно всего лишь вызвать контекстное меню плейлиста в плеере и выбрать пункт «Скопировать список файлов» — «Со временем для таблицы».

При этом, если в настройках плеера стоит убрана галочка «Округлять секунды при копировании списка в таблицу»,

то вставляться в эту самую таблицу время будет в обычном формате. Выглядит это примерно так:

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

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

Основные понятия

Частота дискретизации(f) определяет количество отсчетов, запоминаемых за 1 секунду;

1 Гц (один герц) – это один отсчет в секунду,

а 8 кГц – это 8000 отсчетов в секунду

Глубина кодирования (b) – это количество бит, которое необходимо для кодирования 1 уровня громкости

Время звучания (t)


Объем памяти для хранения данных 1 канала (моно)

I=f·b·t

(для хранения информации о звуке длительностью t секунд, закодированном с частотой дискретизации f Гц и глубиной кодирования b бит требуется I бит памяти)

При двухканальной записи (стерео) объем памяти, необходимый для хранения данных одного канала, умножается на 2

I=f·b·t·2

Единицы измерения I - биты, b -биты, f - Герцы, t – секунды Частота дискретизации 44,1 кГц, 22,05 кГц, 11,025 кГц

Кодирование звуковой информации

Основные теоретические положения

Временная дискретизация звука. Для того чтобы компьютер мог обрабатывать звук, непрерывный звуковой сигнал должен быть преобразован в цифровую дискретную форму с помощью временной дискретизации. Непрерывная звуковая волна разбивается на отдельные маленькие временные участки, для каждого такого участка устанавливается определенная величина интенсивности звука.

Таким образом, непрерывная зависимость громкости звука от времени A(t) заменяется на дискретную последовательность уровней громкости. На графике это выглядит как замена гладкой кривой на последовательность "ступенек".

Частота дискретизации. Для записи аналогового звука и его преобразования в цифровую форму используется микрофон, подключенный к звуковой плате. Качество полученного цифрового звука зависит от количества измерений уровня громкости звука в единицу времени, т.е. частоты дискретизации. Чем большее количество измерений производится за 1 секунду (чем больше частота дискретизации), тем точнее "лесенка" цифрового звукового сигнала повторяет кривую аналогового сигнала.

Частота дискретизации звука - это количество измерений громкости звука за одну секунду, измеряется в герцах (Гц). Обозначим частоту дискретизации буквой f.

Частота дискретизации звука может лежать в диапазоне от 8000 до 48 000 измерений громкости звука за одну секунду. Для кодировки выбирают одну из трех частот: 44,1 КГц, 22,05 КГц, 11,025 КГц.

Глубина кодирования звука. Каждой "ступеньке" присваивается определенное значение уровня громкости звука. Уровни громкости звука можно рассматривать как набор возможных состояний N, для кодирования которых необходимо определенное количество информации b , которое называется глубиной кодирования звука

Глубина кодирования звука - это количество информации, которое необходимо для кодирования дискретных уровней громкости цифрового звука.

Если известна глубина кодирования, то количество уровней громкости цифрового звука можно рассчитать по формуле N = 2 b . Пусть глубина кодирования звука составляет 16 битов, тогда количество уровней громкости звука равно:

N = 2 b = 2 16 = 65 536.

В процессе кодирования каждому уровню громкости звука присваивается свой 16-битовый двоичный код, наименьшему уровню звука будет соответствовать код 0000000000000000, а наибольшему - 1111111111111111.

Качество оцифрованного звука. Чем больше частота и глубина дискретизации звука, тем более качественным будет звучание оцифрованного звука. Самое низкое качество оцифрованного звука, соответствующее качеству телефонной связи, получается при частоте дискретизации 8000 раз в секунду, глубине дискретизации 8 битов и записи одной звуковой дорожки (режим "моно"). Самое высокое качество оцифрованного звука, соответствующее качеству аудио-CD, достигается при частоте дискретизации 48 000 раз в секунду, глубине дискретизации 16 битов и записи двух звуковых дорожек (режим "стерео").

Необходимо помнить, что чем выше качество цифрового звука, тем больше информационный объем звукового файла.

Задачи для самостоятельной подготовки .

1. Рассчитайте объём монофонического аудиофайла длительностью 10 с при 16-битном кодировании и частоте дискретизации 44,1 к Гц. (861 Кбайт)

2. Производится двухканальная (стерео) звукозапись с частотой дискретизации 48 кГц и 24-битным разрешением. Запись длится 1 минуту, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее близко к размеру полученного файла, выраженному в мегабайтах?

1)0,3 2) 4 3) 16 4) 132

3. Производится одноканальная (моно) звукозапись с частотой дискретизации 11 кГц и глубиной кодирования 24 бита. Запись длится 7 минут, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее близко к размеру полученного файла, выраженному в мегабайтах?

1) 11 2) 13 3) 15 4) 22

4. Производится двухканальная (стерео) звукозапись с частотой дискретизации 11 кГц и глубиной кодирования 16 бит. Запись длится 6 минут, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее близко к размеру полученного файла, выраженному в мегабайтах?

1) 11 2) 12 3) 13 4) 15

2017-10-13T18:25

2017-10-13T18:25

Audiophile"s Software

Эволюция кодирования аудио

На подходе 2018-й год, а это значит, что с момента появления первого MP3 кодировщика прошла уже почти четверть века (на данный момент даже истёк срок действия патента). Но то что большинство из нас до сих пор продолжает слушать музыку в формате MP3, вовсе не значит, что прогресс всё это время топтался на месте. И это касается не только развития алгоритма кодирования MP3, но и эволюции кодирования аудио с потерями вообще - в виде новых, более совершенных кодеков, действительно позволяющих получить лучшее качество при меньшем размере. Такие форматы, как OGG Vorbis, AAC, WMA, Musepack, давно оставили позади устаревший MP3 с его многочисленными ограничениями и недостатками.

Благодаря стремительному росту объема носителей данных всё большую распространённость обретает кодирование без потерь (lossless), но надо признать, что далеко не все на сегодняшний день успели разжиться парочкой жестких дисков на десяток терабайт, и картами Micro SDHC на сотни ГБ. Ещё одним (пожалуй, решающим) аргументом в пользу кодирования с потерями становится возможность потокового вещания в сети и быстрого обмена музыкой в интернете - не у всех и не всегда под рукой есть 100-мегабитный доступ в интернет.

Итак, возвращаясь к lossy, констатирую: MP3 устарел, и ему определенно созрела замена. Однако, как быть пользователю непосвященному, но желающему добиться максимально качественного звучания с минимальными затратами объемов памяти? Ведь альтернативных кодеков довольно много: Apple продвигает с помощью своего iTunes Store формат AAC (Advanced Audio Coding - позиционируется как преемник MP3), Microsoft - свой собственный лицензируемый WMA (Windows Media Audio), Xiph.Org предлагает нам свободный кодек OGG Vorbis. Кроме того, всё большую распространённость приобретает новый высокотехнологичный формат Opus (например, его уже давно используют сервисы IP-телефонии - Dischord, TeamSpeak и другие). Также не забываем о всё еще не сдающем свои позиции (с 2009-го года) новаторском формате Musepack. Так который из этих кодеков выбрать?

Однозначного ответа на этот вопрос нет - и именно поэтому я пишу эту статью.

Как определиться?

Выбор того или иного кодека зависит от конкретной задачи. А именно:

  1. От оборудования и ПО, с помощью которого будет воспроизводиться звук. Т. е. от наличия поддержки того или иного формата аудио, а также качества воспроизведения (им желательно руководствоваться при выборе битрейта).
  2. От объема памяти, который будет выделен под конечный материал. Соответственно подбирается больший или меньший целевой битрейт/качество.
  3. Ну и, конечно же, необходимо кроме формата и битрейта подобрать оптимальный кодировщик и параметры кодирования. При этом надо понимать, что различные форматы/кодеры по-разному проявляют себя на разных диапазонах битрейта.

Таким образом алгоритм примерно следующий:

а) Выяснить, какие форматы поддерживает целевое устройство;
б) определиться, сколько места вы сможете выделить под аудиоматериал, а также определить суммарную продолжительность аудио, предназначенного для кодирования;
в) вычислить нужный битрейт по формуле: битрейт = дисковое_пространство(в килобитах) / суммарная_продолжительность(в секундах);
г) в соответствии с битрейтом выбрать из поддерживаемых форматов оптимальный (об этом далее);
д) подобрать наилучший кодер и параметры к нему.

Подробнее о наших героях

AAC

Развитие методов сжатия данных и психоакустики постепенно приводило к тому, что стандарт МР3 стал «тесным» для реализации новых идей в кодировании аудио. В результате, к 1997 году институтом Фраунгофера (Fraunhofer IIS), который в начале 90-х создал МР3, а также компаниями Dolby, AT&T, Sony и Nokia был разработан новый метод компрессии аудио Advanced Audio Coding (AAC), вошедший в стандарты MPEG-2 и MPEG-4. Основными отличиями от стандарта МР3 стали:

  • поддержка более широкого набора форматов (вплоть до 48 каналов) и частот дискретизации звука (от 8 кГц до 96 кГц);
  • более эффективный и простой банк фильтров: гибридный банк фильтров МР3 был заменен обычным MDCT (модифицированным дискретным косинусным преобразованием);
  • более широкие пределы варьирования частотно-временного разрешения в банке фильтров - в восемь раз (в МР3 - в три раза) - привели к улучшению кодирования транзиентов (резких скачков амплитуды) и стационарных участков аудиосигнала;
  • более качественное кодирование частот выше 16 кГц;
  • более гибкий режим кодирования стереосигналов, позволяющий переключаться в режим M/S («joint stereo») независимо в различных частотных полосах;
  • дополнительные возможности стандарта, повышающие эффективность компрессии: технология формирования шума во временной области (TNS), предсказание MDCT-коэффициентов по времени (long term prediction), режим параметрического кодирования стереосигнала (parametric stereo), синтез шумов (perceptual noise substitution), технология восстановления высоких частот (SBR).

Благодаря этим особенностям, стандарт AAC способен достигать более гибкого и эффективного - а значит, и более качественного кодирования звука. В результате широкого распространения формата МР3, непритязательности большинства слушателей к качеству и определёных патентных ограничений, стандарт AAC до сих пор не приобрел сравнимой с МР3 популярности. Тем не менее, AAC является основным форматом в популярном интернет-магазине iTunes Store, плеерах iPod, iTunes, телефоне iPhone, игровых приставках PlayStation 3, Nintendo Wii и в цифровом радиовещании DAB+/DRM (Digital Radio Mondiale сейчас также включает поддержку Opus).

Ogg Vorbis - более новый универсальный формат аудиокомпрессии, официально вышедший летом 2002 года. Психоакустическая модель, используемая в Ogg Vorbis, по принципам действия близка к МР3 и иже с ними, но и только - математическая обработка и практическая реализация этой модели в корне отличаются, что позволяет авторам объявить свой формат совершенно независимым от всех предшественников.

Главное неоспоримое преимущество формата Ogg Vorbis - это его полная открытость и свободность. Более того, в нём использована более новая и качественная психоакустическая модель, из-за чего соотношение битрейт/качество значительно лучше, чем у предшественников.

В формате имеется большое количество достоинств. Например, формат Ogg Vorbis не ограничивает пользователя только двумя аудиоканалами (стерео - левый и правый). Он поддерживает до 225 отдельных каналов с частотой дискретизации до 192 кГц и разрядностью до 32 бит (чего ранее не позволял ни один формат сжатия с потерями), поэтому Ogg Vorbis великолепно подходит для кодирования 6-канального звука DVD-Audio. К тому же, формат OGG Vorbis - sample accurate. Это гарантирует, что звуковые данные перед кодированием и после декодирования не будут иметь смещений или дополнительных/потерянных сэмплов относительно друг друга. Это легко оценить, когда вы кодируете non-stop музыку (когда один трек постепенно входит в другой) - в итоге сохранится целостность звука.

Возможностью потокового вещания сейчас никого не удивишь, но у этого формата она заложена с самых основ. Это дает формату достаточно полезный побочный эффект: в одном файле можно хранить несколько композиций с собственными тегами. При загрузке такого файла в плеер должны отобразиться все композиции, будто их загрузили из нескольких различных файлов.

Отдельно стоит упомянуть достаточно гибкую систему тегов. Заголовок тегов легко расширяется и позволяет включать тексты любой длины и сложности (например, текст песни), перемежающиеся изображениями (например, фотография обложки альбома). Текстовые теги хранятся в UTF-8, что позволяет писать хоть на всех языках одновременно и исключает возможные проблемы с кодировками. Это значительно удобнее различных ухищрений вроде ID3 тегов.

Ogg Vorbis по умолчанию использует переменный битрейт, при этом значения последнего не ограничены какими-то жесткими рамками и он может варьироваться даже на 1 кбит/с. При этом форматом не ограничен и максимальный битрейт, при максимальных настройках кодирования он может достигать 400-700 кбит/с. Такой же гибкостью обладает частота дискретизации - пользователям предоставляется любой выбор в пределах от 2000 Гц до 192000 Гц.

Ogg Vorbis был разработан сообществом Xiph.Org для того, чтобы заменить все платные запатентованные аудиоформаты. Ogg Vorbis довольно скоро получил полную поддержку на всех известных платформах (Windows, Linux, MacOS, Andoroid и др.), а также большое количество аппаратных реализаций.

WMA

Windows Media Audio - лицензируемый формат файла, разработанный компанией Microsoft для хранения и трансляции аудиоинформации.

Изначально формат WMA рекламировался как альтернатива MP3, но на сегодняшний день Microsoft противопоставляет ему формат AAC. Номинально формат WMA характеризуется хорошей способностью сжатия, что позволяет ему «обходить» формат MP3 и конкурировать по параметрам с форматами Ogg Vorbis и AAC. Но, как было показано независимыми тестами, а также субъективной оценкой, качество форматов всё-таки не является эквивалентным, а преимущество - даже перед MP3 - однозначным, как это утверждала компания Microsoft.

MusePack (mpp, mp+, mpc, MPEG+) - нелицензируемый формат файла для хранения аудиоинформации, распространяемый по GNU General Public License.

Качество кодирования MPC на высоких битрейтах (160 Кбит/с и выше) заметно (если не сказать значительно) выше качества, обеспечиваемого MP3.

Главные преимущества:

  • Формат не производит второе дискретно-косинусное преобразование, он фактически не страдает артефактами пре-эхо, в отличие от таких форматов как MP3, Vorbis, AAC и WMA.
  • Более эффективные алгоритмы переменного битрейта. Если проследить, как изменяется битрейт во время проигрывания треков MPC, можно заметить, что для более простых участков кодер выделяет меньший битрейт, а для сложных - значительно больший, иногда выше 400 кбит/с. Так же тут стоит упомянуть один интересный факт: кодер МР3 в режиме VBR для тишины выделяет битрейт 32 кбит/с (при частоте дискретизации 44100 Гц), AAC и OGG Vorbis - 2кбит/с, Musepack же кодирует тишину с минимальными затратами,
  • Мощная и гибкая психоакустическая модель. Тут можно упомянуть, например, динамический НЧ фильтр на базе фреймов (в других кодерах устанавливается фиксированная полоса пропускания для каждой предустановки качества).
  • Более продвинутое сжатие, основанное на оптимизированных таблицах Хаффмана (тот же LAME MP3 впустую тратит около 20% битрейта - только лишь из-за несовершенного математического сжатия)

К сожалению, на данный момент разработка Musepack заброшена (последняя версия датирована 2009-м годом) и он не получил широкой поддержки.

Opus

Opus - последнее слово в области lossy кодирования аудио. Сочетает в себе новейшие разработки - низколатентный кодек CELT от Xiph.Org и ориентированный на речь кодек SILK, разработанный Skype. Оба эти кодера в значительной степени модифицированы и благодаря этому очень эффективно взаимодействуют. Opus может не только незаметно переключаться между реализациями SILK и CELT, но также и работать в гибридном режиме - когда SILK кодирует диапазон до 8 кГц с линейным предсказанием, а CELT - всё что выше, с использованием МДКП.

Изначально Opus разрабатывался как кодер с очень низкой задержкой (в среднем 22.5 мс) и хорошей устойчивостью к потерям, предназначенный для онлайн трансляций и перформансов. Однако, благодаря основательному подходу разработчиков, Opus оказался достойным соперником для других кодеков и в области сжатия аудио для хранения.

На сегодня независимые тесты показывают однозначное превосходство Opus над всеми другими форматами в районе и 96 кбит/с . Отдельные субъективные тесты также подтверждают превосходство кодека и на более высоких битрейтах (вплоть до 200 кбит/с, обеспечивающих абсолютную прозрачность - киллер-семплы не обнаружены до сих пор).

Opus отличается наиболее совершенной на сегодня психоакустической моделью и непревзойдённой гибкостью битрейта (от 1 до 256 кбит/с на канал, с приращением ±0.4 кбит/с). На сегодня он имеет довольно широкую и постоянно растущую программную поддержку (в частности, уже поддерживается некоторыми плеерами для Android OS).

Подбор формата, кодера и параметров

Теперь непосредственно к сути дела.

Для тех же, кто собирается конвертировать через консоль или другую программу: переменную %s (или знак «-») надо заменить на имя файла-источника (или аналогичную переменную), а %d - на имя выходного файла.

Обратите внимание, что для каждого диапазона битрейта указаны возможные варианты форматов: первый - самый приоритетный. Если же ваш плеер не поддерживает первый вариант - обратите внимание на следующий, и т. д. Также должен сразу сказать, что кодек WMA (в силу его закрытости и заброшенности разработчиком) особым качеством не отличается, но всё же в большинстве случаев лучше, чем MP3. Учитывая, что некоторые устройства из альтернатив поддерживают только WMA, я буду давать рекомендации для каждого из пяти описанных здесь форматов, включая Windows Media Audio.

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

Сверхнизкие битрейты (~25-40 кбит/с)

Этот диапазон подходит для кодирования аудиокниг:

1) Это как раз один из случаев, для которых разрабатывался Opus :

Bitrate 25 - %d

2) Если поддержки Opus нет, то вот подобранная мною комбинация настроек Nero AAC :

Lc -q 0.35 -ignorelength -if - -of %d

при этом материал должен быть предварительно преобразован в моно и ресемплирован до частоты 22050 Гц (желательно, ресемплером SoX). На выходе получим обычное Low Complexity AAC с битрейтом около 25 кбит/с.

Для музыки в этом диапазоне тоже есть варианты:

Silent -a_codec WMA9PRO -a_mode 3 -a_setting 64_44_2_16 -input %s -output %d

Для старых декодеров - WMA 9 Standard:

Silent -a_codec WMA9STD -a_mode 3 -a_setting 64_44_2 -input %s -output %d

Чуть выше, ~96 кбит/с

1) Как показали тесты, лучше всего с этим битрейтом справляется кодер Opus :

Silent -a_codec WMA9PRO -a_mode 3 -a_setting 192_44_2_24 -input %s -output %d

WMA 9 Standard, максимальный битрейт воспринимаемый старыми декодерами:

Silent -a_codec WMA9STD -a_mode 3 -a_setting 192_44_2 -input %s -output %d

Разумный максимум: ~320-350 кбит/с

Должен обратить ваше внимание: после ~225 кбит/с повышение битрейта чаще всего уже не дает слышимого прироста качества, а размер файлов, естественно увеличивается. Но всё же, для особенно сложных композиций (и хорошей аппаратуры/ушей) существуют более высокие настройки качества. На этих битрейтах для таких кодеров как Musepack, Vorbis и Opus мне даже не удалось найти киллер-семплов (проблемные семплы, на которых явно проявляются недостатки алгоритма кодирования). Итак: