FPS, PAL/NTSC і тональність аудіо: як (не) зламати звук при перетягуванні

Нові коментарі

Нова тема   Відповісти
Автор Повідомлення
-Star-Lord- 
Відео Гуртом - підтримка та поширення
Відео Гуртом - підтримка та поширення


З нами з: 09.08.18
Востаннє: 12.03.26
Повідомлень: 9118

2026-01-24 01:13  
Що таке FPS?
Це кількість кадрів, яка показується за секунду. Тобто якщо фільм знято в 24fps, то за одну
секунду ми бачимо послідовність із 24 кадриків (картинок).
PAL, NTSC та чому існує стільки різних FPS
PAL і NTSC — це не формати відео у сучасному розумінні,
а спадщина аналогового телебачення, яка напряму вплинула на частоту кадрів
і, як наслідок, на швидкість відтворення відео та аудіо.

PAL (Phase Alternating Line) використовувався переважно в Європі
та був прив’язаний до частоти електромережі 50 Гц.
Через це телесигнал передавався з частотою 25 кадрів на секунду
(фактично 50 півкадрів).

NTSC (National Television System Committee) застосовувався в США та Японії
і був прив’язаний до електромережі 60 Гц.
Початкова частота складала 30 кадрів на секунду
(60 півкадрів).

Коли в NTSC додали кольорове телебачення,
частоту довелося трохи знизити для сумісності,
і вона стала не рівно 30 fps, а 29,97 fps.

Звідси і походить знайоме значення:
23,976 / 29,97 / 59,94 fps —
це не «дивні дроби», а технічний компроміс, який залишився з аналогової епохи.
Звідки взялися 24 і 23,976 fps
24 fps — це стандарт кіноплівки, який з’явився ще в епоху німого кіно
та закріпився з приходом звуку, як компроміс між плавністю руху
та економією плівки бабла.

Коли кіно почали адаптувати під NTSC-телебачення,
24 fps знову ж таки довелося трохи сповільнити
до 23,976 fps, щоб зберегти синхронізацію з 29,97 fps.

Тому сьогодні ми маємо дві майже однакові, але принципово різні частоти:
— 24 fps (кінематографічний стандарт);
— 23,976 fps (телевізійна NTSC-адаптація).
Чому не зробили один стандарт?
Тому що:
— різні регіони мали різні електромережі (50 / 60 Гц);
— стандарти закріпилися задовго до цифрової епохи;
— вся інфраструктура будувалася навколо цих частот;
— зворотна сумісність важливіша за ідеальну простоту.

У цифрову епоху ці відмінності вже не є технічно необхідними,
але вони продовжують існувати через величезну кількість контенту,
обладнання та стандартів, які на них зав’язані.
Як може бути отримана аудіодоріжка, синхронізована з 25 fps (для прикладу)
Треба розуміти, що аудіо доріжка з 25 fps (як і з іншою частотою) могла бути отримана трьома способами:
  1. Записано одразу в 25 fps разом з відео

    Тут все зрозуміло — звучання таке, як «вживу».
    У цьому випадку варто шукати відеоряд з 25 fps, а не намагатися приводити до іншої частоти.
    Це єдиний варіант, де нічого не потрібно «виправляти».

  2. Записано в 23,976 / 24 fps і приведено до 25 fps без збереження тональності

    Цей варіант здається неправильним, бо ми звужуємо/розширюємо хвилю, змінюючи висоту голосу (≈ +4%).

    Якщо бути точним:
    Код:
    23,976 → 25 = 25 / (24000/1001) = (1,040625 - 1) × 100% = ~4,096%
    24 → 25     = 25 / 24           = (1,041667 - 1) × 100% = ~4,167%


    Але на практиці це правильний спосіб, бо тут працює фізика.
    Погіршення якості відбувається лише при кодуванні в lossy-кодеки (., . тощо).

    Так, доріжка звучить «неправильно», бо висота звуків завищена,
    проте ми не генеруємо алгоритмічних артефактів і можемо за потреби повернутися назад
    до 23,976 / 24 fps без спотворень (за умови lossless).

    Погіршення можливе лише через ще одне перекодування в lossy,
    але це менш шкідливо, ніж «додумування» алгоритмом.

    Це єдиний спосіб, який дозволяє гарантовано повернутися назад без додаткових втрат.

  3. Записано в 23,976 / 24 fps і приведено до 25 fps зі збереженням тональності

    Тут виникає проблема. І наші ТК та стримінги частенько так роблять...

    На перший погляд здається, що все зроблено правильно — хочемо мати «звичний» голос як вживу.
    Але цей метод не опирається виключно на фізику (звуження/розширення хвилі),
    а й додатково використовує штучний алгоритм, який намагається відтворити (вгадати) реальний голос
    та інші звуки, тобто зберегти їх реальну висоту.

    Це завжди продукує артефакти.

    Теоретично, застосування того ж алгоритму в зворотному напрямку мало б усе виправити,
    але на практиці це не працює. До того ж, неможливо визначити, яким саме алгоритмом було оброблено аудіо.


Висновок:
Завжди приводимо доріжки без збереження тональності.
Як зрозуміти, чи збігається тональність із доріжкою, до якої ми зводимо?
Все дуже просто: кладемо доріжки одну під одну в аудіоредакторі
та вмикаємо одночасне відтворення. Якщо ж проблема є, то почуємо ефект "зламаного піаніно",
коли замість одного чистого звуку ми почуємо дивне, «плаваюче» або фальшиве звучання.
Тобто, мікс доріжок має звучати так, ніби це не мікс, а одна і та ж доріжка.

Важливі моменти:
- на діалогах це почути важко, тому шукаємо місце з музикою;
- на динаміках ноутбука це почути важко, тому перевіряємо в навушниках.
Тональність відрізняється. Що робити далі?
  1. Нічого не робити з аудіо. Знайти відеоряд з ідентичним ФПС. Найкращий варіант

    Ми не додаємо нових артефактів і не погіршуємо звук повторною обробкою.

  2. Перевірити, чи ми не накосячили.

    Завжди переганяємо доріжку без збереження тональності.
    Цей крок дозволяє однозначно перевірити власний пайплайн і переконатися, що з нашого боку не було помилки.

    Якщо після цього тональність усе ще не збігається, це означає, що помилка була допущена раніше,
    і доріжка вже проходила обробку зі збереженням тональності.

    Цей варіант не додає нових артефактів і дає технічно чесний, відтворюваний результат.
    Саме з цього кроку варто починати завжди.

  3. Накосячили при приведенні до 25 fps і зробили це зі збереженням тональності.

    Тепер ми приводимо доріжку назад до 23,976 / 24 fps без збереження тональності,
    і через це висота звуків знову відрізняється від очікуваної.

    У такому випадку виникає дилема:

    - залишити як є (із завищеною або заниженою тональністю);
    - привести ще раз зі збереженням тональності, повторно обробивши сигнал алгоритмом.

    Перший варіант не додає нових артефактів, але залишає фізично неправильну висоту звуку.
    Другий варіант може суб’єктивно звучати «правильніше»,
    але призводить до повторної алгоритмічної обробки, яка неминуче додає нові артефакти
    і остаточно робить доріжку незворотною.

    Особисто мені до душі 2-й варіант, бо артефакти і так уже присутні,
    а так хоча б звучання буде наближене до реального. І так, я знаю, що це смерть.
    Але вона сталася, ще при першому перетягуванні.
«Перетяжка» звукових доріжок
Без збереження тональності
Покликання на програмку: https://www.videohelp.com/software/eac3to
Покликання на інструкцію: https://en.wikibooks.org/wiki/Eac3to/How_to_Use#Using_audio_or_video_files_as_input
Зі збереженням тональності (так робити не треба)
Вода
1. Більшість фільмів, тим більше зроблених для кінопрокату, знімаються в 24p (двадцять чотири кадри в секунду). Це відправна точка.
2. Важливо розуміти, що перетягування звуку зі збереженням тону - це квиток в один кінець. Після такої процедури, яким би «видатним» не був результат, доріжку можна вважати бракованою - артефакти в ній будуть присутні завжди, як би вас не переконували в зворотному. Це означає, що життєвий цикл доріжки на цьому закінчений.
3. Але буває, що таке перетягування просто необхідне, коли на доріжці з PAL джерела: а) правильно звучать і перекладач, і оригінальний звук під ним; б) правильно звучить тільки перекладач, і після перетягування без збереження тону слухати його важко (голос низький і сонний). В останньому випадку потрібно для себе вирішити, що важливіше: отримати коректну тональність оригінального звуку, але невпізнаваного перекладача, або ж знайомий ламповий голос якогось Малухи, але неправильний звук під ним. Знову ж таки, не завжди голос перекладача може виходити «сонним». Так, він буде звучати нижче, але при цьому цілком комфортно і навіть впізнавано. У цьому випадку, потрібно відмовитися від подібної затії і закрити цю інструкцію від гріха подалі.
4. Твердження про те, що «я і всі, кого я знаю, звикли до такого звучання», не може бути підставою для збереження тону. Якщо на умовному PAL-джерелі і перекладач, і звук під ним звучать у підвищеній тональності (а це в порядку речей і є нормою, наприклад, для дубляжів), перетягувати таку доріжку в NTSC/24p потрібно БЕЗ ЗБЕРЕЖЕННЯ ТОНУ.
5. Відносно непогано переносять знущання над собою моно- і стерео-доріжки. Останні не можна перетягувати поканально або згрупованими каналами, а тільки одним стерео-файлом. Інакше отримаємо міжканальний розсинхрон (звук почне «плавати», ефект фланжера). Зрозуміло, якщо 2.0 доріжка є подвійним моно, має сенс працювати тільки з одним каналом, а потім знову зробити з нього 2.0 або ж 1.0.
6. Багатоканальні доріжки, будучи перетягнутими зі збереженням тональності, завжди виходять з міжканальним розсинхроном. Він проявляється у вигляді змазаної локалізації просторових ефектів (наприклад, звук закритих дверей лунає не з конкретної точки, а ніби розмазаний по всій панорамі).
7. Перетягувати з NTSC в 24p (і навпаки) потрібно ЗАВЖДИ БЕЗ ЗБЕРЕЖЕННЯ ТОНУ, тобто за допомогою eac3to.
Як привести аудіо зі збереженням тональності максимально якісно?
Поки що цей варіант показав себе найкраще:

Встановіть аудіоредактор WaveLab 6 (так, саме давню версію 2009 року, бо в новіших якість виходить гірша як не дивно), відкрийте Process -> Time Stretch (чи натисніть T) і налаштуйте параметри так:



Тягнеться довго, тому що прога стара й використовує лише одне ядро процесору, але результат того вартий. Якщо на 10-ці після встановлення не запускається й видає помилку, зайдіть у папку програми й спробуйте запустити файл WaveLab-app.exe. Якщо працює, створіть на нього ярлик.
---
Здублював, щоб все було в одному місці. Взято звідси: https://toloka.to/t2274-240#1552769. Дякую п. Hanway
* насправді аудіо немає FPS, а вищеописане прив'язане до FPS відео. У аудіо - частота дискретизації.
** автор не звукач, а тільки косить під нього
Ваш часовий пояс: GMT + 2 Години

Нова тема   Відповісти