BWF MetaEdit: как прочитать дату и TimeReference аудиозаписи
Встроенные поля BEXT, экспорт CORE, отличие от даты копирования и учебный расчёт TimeReference: как сохранить сведения об источнике расшифровки.
Что находится внутри BWF и зачем это редактору
Broadcast WAVE Format, или BWF, расширяет WAVE встроенными сведениями о звуковой последовательности. BWF MetaEdit предназначен для чтения, проверки, экспорта и редактирования таких метаданных. Работа с полями не является распознаванием речи.
Название файла и его дата в проводнике часто описывают последнюю копию или операцию файловой системы. Встроенные сведения находятся в самом файле. Их полезно сохранить рядом с расшифровкой, чтобы позднее понять, какой источник использовался и какие сведения о нём были доступны.
Параметры записи в MediaInfo помогают выбрать дорожку и понять свойства медиа. Здесь отдельная задача — разобраться с полями BEXT и сохранить происхождение временных сведений, не выдавая дату копирования за дату разговора.
Описанные возможности сверены с официальной документацией 3 октября 2026 года. BWF MetaEdit в этой проверке не запускался; ниже инструкция по документации и учебный расчёт. Не считать её тестом конкретного диктофона или достоверности его часов.
Откройте источник и выгрузите имеющиеся сведения
Сохраните исходник отдельно и откройте рабочую копию через добавление файла или Open Directory для каталога. Проверяйте путь: одноимённые WAV из разных папок могут относиться к разным событиям. Сначала просматривайте сведения, не заполняя пустые поля автоматически.
В Core View просмотрите встроенные значения. Отдельно прочитайте Log of Errors: техническая ошибка чтения и отсутствие поля — разные состояния. Выбранные наборы правил могут выделять неподходящие значения, но такая проверка не подтверждает содержание разговора.
Сохраните CORE-документ в CSV или XML. По документации это обмен BEXT и LIST-INFO с одной записью на аудиофайл; FileName связывает значения с полным путём. Откройте выгрузку и сверьте строку с фактически просмотренным файлом.
Не импортируйте выгрузку обратно только ради чтения. Импорт и сохранение изменённых полей — отдельный путь редактирования. Для карточки источника достаточно сохранить существующие значения и собственные примечания в отдельном документе.
Разделяйте дату, время и отсчёт семплов
OriginationDate обозначает дату создания звуковой последовательности, а OriginationTime — её время. Они не являются автоматически датой и временем начала реальной встречи: файл может содержать экспорт или оцифрованную прежнюю запись.
TimeReference — 64-битное значение счёта первого семпла относительно полуночи. Число семплов в секунде задаёт частота дискретизации. В CORE возможны числовое значение и TimeReference (translated) в виде часов, минут, секунд и миллисекунд.
Для учебного расчёта разделите число семплов на частоту. Если TimeReference равен 1 728 000 000, а частота — 48 000 Гц, получается 36 000 секунд, то есть 10:00:00. Это отсчёт в предполагаемой временной системе источника, а не самостоятельно подтверждённые 10 утра по Москве.
Не делите на новую частоту преобразованного файла, если значение относится к исходной записи и не было корректно пересчитано. Используйте соответствующие друг другу сведения и сохраняйте, из какой версии они прочитаны. Несогласованность полей — повод для уточнения.
Проверьте основание временной связи
Поля bext не дают однозначную отметку UTC со смещением часового пояса. Уточните настройку устройства, его часы и практику экспорта. Если часовой пояс не подтверждён, в карточке напишите «часовой пояс неизвестен», а не добавляйте его по месту, где файл сейчас хранится.
Пустое поле не восстанавливает потерянную дату. Ноль в TimeReference тоже требует контекста: нельзя по одной цифре утверждать, что разговор начался ровно в полночь или что данных точно нет. Сопоставьте с другими полями и сведениями об устройстве.
Встроенные метаданные могут быть отредактированы. Originator описывает происхождение или производителя файла, а не обязательно человека, говорящего в записи. Имя в поле не подтверждает авторство конкретной реплики и не заменяет проверку говорящих.
Если хотите сопоставить несколько записей по TimeReference, сначала проверьте общую временную основу. Разные устройства могут иметь разный отсчёт или неверные часы. Затем проверяйте фактические общие звуковые события; совпадение цифр само по себе не обещает синхронизацию без сдвига.
Сохраните карточку рядом с проверенным текстом
Свяжите сведения с устойчивым ID записи. Сохраните исходное значение поля дословно и своё объяснение отдельно. Например: «OriginationDate = 2026-10-01; дата события подтверждается журналом ведущего» или «это дата экспорта; день исходного разговора неизвестен».
Для текста получите расшифровку аудио в Транскрибаторе. В карточке укажите именно загруженную копию. Если после обработки изменились имя, частота или начало записи, сохраните связь с первоначальным источником и реальные выполненные действия.
Метаданные не нужно включать в текст как будто они произнесены участниками. Отдельный служебный блок лучше сохраняет разницу между речью и сведениями о файле. Важные цитаты всё равно проверяйте по звуку и локальному месту записи.
Поместите CORE-выгрузку и карточку в архив проекта с расшифровками. При переносе обновляйте фактический путь в своей карте, сохраняя старую выгрузку как снимок состояния. Не исправляйте историческое значение FileName только ради совпадения с новой папкой.
Если поля противоречат друг другу, сохраните обе версии и источник уточнения. Итоговая карточка должна показывать, что прочитано, что подтверждено дополнительно и что осталось неизвестным. Это делает будущую проверку воспроизводимой.
Дата копирования отличается от встроенной даты
Учебный пример: WAV скопирован 3 октября, поле OriginationDate содержит 1 октября, а TimeReference при 48 000 Гц даёт 10:00:00. У редактора пока нет сведений о часовом поясе устройства. Значения и ситуация вымышлены, расчёт используется для объяснения.
| Учебное сведение | Значение | Что оно подтверждает |
|---|---|---|
| Дата копии в папке | 2026-10-03 | Свойство данной копии, не день разговора |
| OriginationDate | 2026-10-01 | Встроенная дата звуковой последовательности |
| TimeReference / частота | 1 728 000 000 / 48 000 | Учебный перевод: 10:00:00 |
| Часовой пояс устройства | Не зафиксирован | Нельзя назвать это 10:00 МСК |
| Журнал события | Отдельное подтверждение даты | Основание нужно сохранить рядом |
Редактор сохраняет все три сведения с их источниками. В карточке нет утверждения «встреча точно началась 1 октября в 10:00 МСК». Для такого вывода нужно проверить связь с событием, часы и временную систему устройства.
Карточка временных сведений WAV/BWF
ID / исходный файл / текущая копия: Дата чтения / версия BWF MetaEdit: CORE-выгрузка / строка FileName: OriginationDate — исходное значение: OriginationTime — исходное значение: TimeReference — число семплов: Частота соответствующей версии: TimeReference (translated) / проверенный расчёт: Дата файловой системы — отдельное поле: Источник данных о часах и часовом поясе: Связь с реальным событием / подтверждение: Экспорт / обрезка / преобразования: Противоречия / отсутствующие сведения: Загруженная в Транскрибатор копия: Расшифровка / локальный отсчёт: Что прочитано / что проверено / что неизвестно:
Частые вопросы
Дата в проводнике является датой разговора?
Не обязательно. Это свойство конкретного файла в файловой системе. Сохраняйте отдельно встроенные сведения и подтверждение события.
TimeReference задаёт время по Москве?
Само поле не подтверждает часовой пояс и настройку часов. Для такой связи нужны дополнительные сведения об источнике.
Можно рассчитать секунды без частоты дискретизации?
Нужна соответствующая частота: число семплов делится на семплы в секунду. Не смешивайте значения разных версий файла.
Отсутствие BEXT означает повреждённый WAV?
Нет. WAV может не содержать этих встроенных полей. Отсутствие сведений и техническая ошибка чтения различаются.
Originator показывает говорящего в записи?
Нет. Поле относится к происхождению файла. Авторство реплики проверяют по самой записи и подтверждённому составу участников.