Розуміння перетворення та (де) стиснення звуку без втрат


12

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

Якщо у мене є файл із форматом .flac, і я хочу перетворити його на, скажімо, .wav, як це зробити, щоб не було втрати якості? Якщо розпакувати, я знаю, що не втрачу якості. Перетворення .flac у .wav таке ж, як і декомпресія?

Це стосується також формату .ape? У мене є кілька записів у публічному доступі, які я завантажив у .ape, але я хочу зробити це .flac. Буде можливий .pepe to .flac без використання .wav як середнього чоловіка. Я хочу переконатись, що ні в якому разі не втрачено ні трохи.

Крім того, якщо є якісь путівники, які пояснюють світ без втрат бездоганно, хтось буде готовий поділитися посиланням? :)

Відповіді:


14

Спочатку:

Зрозумійте різницю між кодуванням та форматом контейнера . http://en.wikipedia.org/wiki/Digital_container_format

Формат контейнера - це формат даних, який "інкапсулює" інші закодовані дані. Він часто містить "метаінформацію" про закодовані дані або має спосіб зберігання декількох окремих потоків кодованих даних або щось подібне.

Кодування, вироблене кодеком, є фактичним "м'ясом" потоку даних.

Найпоширеніший приклад, який я можу придумати, - це формат "Ог / Ворбіс". Ogg - формат контейнера, а Vorbis - кодування. Отже, у вас є файл у форматі Ogg, а всередині цих маленьких відро, які містять закодовані дані. Всередині кожного відра знаходиться кодований Vorbis потік даних і більше нічого. На відрі можуть бути нанесені, наприклад, ім'я виконавця та назва пісні.

Тож назад до технології:

  1. Якщо у вас вже є музика в згубному форматі, наприклад, mp3 або ogg / vorbis, перетворення її у формат без втрат з’їсть лише багато дискового простору, і НЕ БУДЕ - абсолютно НЕ БУДЕ - покращити якість аудіо що б то не було. Ви не можете створити вірність, коли вона вже втрачена. Якщо ви не пишете інтерфейс графічного інтерфейсу в Visual Basic в ефірному телешоу під назвою CSI, але це фантазія, а не реальність.

  2. Якщо у вас є музика в інших форматах без втрат і ви хочете перетворити її на FLAC, ви можете це зробити.

  3. Будьте обережні з метанням терміна "WAV". Wav НЕ МОЖЕ бути без втрат; насправді WAV - це лише контейнер для різних можливих форматів. У цьому сенсі це схоже на AVI. Ви МОЖЕТЕ мати WAV без втрат, якщо це лише необроблені дані PCM, але ви також можете вбудувати дані MPEG-1 рівня III (втрата) у файл WAV.

  4. Можна втратити дані при перетворенні з одного формату без втрат в інший, якщо знизити вірність даних. Наприклад, якщо ви перетворюєте неподписаний 16-бітовий потік даних PCM при 48000 Гц в 8-бітний потік даних PCM при 44100 Гц, ви втрачаєте вірність двома способами: вибірки об'єднуються від 48000 до лише 44100 за по-друге (це призводить до втрати даних), і дані повинні бути змішані вниз, щоб вмістити інформацію лише в 8 біт замість 16 на зразок, що різко погіршить якість.

Кожен цифровий аудіопотік, навіть кодований кодером, що стискається (втрачає чи втрачає втрату), має такі "Властивості форматування зразків", які є основними елементами, що описують властивості потоку:

  1. Ширина зразка і глибина бітів, тобто 8 біт, 16 біт і т. Д. Ширина і глибина бітів тонко відрізняються, а також є маленькі ендіани / великі-ендіанці (що не впливає на якість) і підписані або непідписані (що також не впливає на якість, але впливає на те, як кодер / декодер обробляє дані). Ключовим моментом, що потрібно пам’ятати, є те, що «більше бітів - це краще». Тож 32-розрядні краще, ніж 16-бітні тощо.

  2. Частота, також відома як частота вибірки. Більше це краще, тому що у вас більше "зразків" аудіо відтворення в секунду. Уявіть, що швидко натискаєте пальцем на колоду карт і спостерігаєте за тим, як картки розмиваються - саме так відбувається цифровий звук. Кожен зразок - це картка, і якщо у вас більше карт, що летять на секунду, звук стає більш безпроблемним. Мовляв, ви б дійсно помітили, якби ви перегортали лише 5 карток на секунду, але це все б розмилося, якщо ви гортаєте тисячі карток за секунду. Тож краще - адже це природніше і ближче до реальності, яке є аналогом і нескінченно поділяється (ну, аж до одиниць Планка, але це дискусійно і поза темою).

"Без втрат" означає, що якщо ви використовуєте той самий або кращий формат вибірки, який ви використовували у введенні, ви не втратите жодних даних.

Отже, якщо ви переходите від 16-ти до 32-бітного формату зразка, дані не втрачаєте. Але якщо ви переходите від 32 до 16 біт, ви втрачаєте дані.

Тож відповідь на ваше запитання, чи має сенс використання FLAC, залежить від вихідних даних: Якщо у вас є 64-бітні файли WAV, які були спочатку записані у тому зразковому форматі, з 192000 Гц (він же 192 кГц), і ви перетворюєте їх у " стандартний "формат зразка FLAC 16-бітний і 44,1 КГц, ви втратите TON даних. Але якщо ваш файл WAV 8-розрядний з лише 22100 зразками в секунду, і ви перетворюєте його в 16-бітний FLAC з 44100 зразками в секунду, ви не збираєтеся втрачати дані. І ви навіть можете збільшити розмір файлу, залежно від того, виграє стиснення без втрат чи менший формат вибірки.

Формат вибірки вплине на те, скільки місця займає файл, тому "більші" біти та "швидші" показники вибірки займуть більше місця.

Що стосується практичних проблем і людського вуха: ви не дуже помітите, якщо перетворите дійсно оригінальні оригінали до 16-бітового 44,1 кГц FLAC. Але ви також не помітите покращення, якщо перетворите MP3 у FLAC. Тому вам потрібно оцінити, у якому зразковому форматі містяться вихідні дані, перш ніж вирішити, що робити.

Тепер, коли я надав вам всю цю інформацію, ось ваші мої прямі та непрості відповіді на ваші запитання:

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

Якщо ваша музична колекція знаходиться на компакт-дисках, і ви хочете зірвати її на FLAC, на мою думку, це дуже добре підходить. Аудіо якості CD складе 44,1 КГц і 16 біт на зразок. Це відповідає точно налаштуванням за замовчуванням FLAC (принаймні, за замовчуванням у кодерах, які я використовую). Тому ви не втратите жодних даних, і вони будуть математично ідентичними вхідним даним при їх розшифровці.

Якщо у мене є файл із форматом .flac, і я хочу перетворити його на, скажімо, .wav, як це зробити, щоб не було втрати якості? Якщо розпакувати, я знаю, що не втрачу якості. Перетворення .flac у .wav таке ж, як і декомпресія?

Ви можете конвертувати його у .wav-файл із тим самим чи ширшим зразком формату, ніж вхідні дані, і втрати якості не матимуть.

Коли медіаплеєр відтворює аудіо у файлі flac, він фактично декодує дані flac у форматі PCM до відправлення цих даних PCM на звукову карту. Це розпакує його до тих самих даних, що й увійшли; тож якщо 16-бітні 44,1 КГц PCM дані зайшли, то це вийде, і перейдіть до своїх динаміків.

Єдина відмінність між цією діяльністю та перетворенням звуку у файл WAV полягає в тому, що при перетворенні його у файл WAV він повинен створити WAV-контейнер з відповідними бітами наповнення тощо, а також дозволяє вибрати формат вибірки файлу WAV. Але якщо припустити, що формат зразка однаковий, то єдиною різницею ваших FLAC та WAV-файлів буде розмір файлу: файлів WAV буде значно більше.

Це стосується також формату .ape? У мене є кілька записів у публічному доступі, які я завантажив у .ape, але я хочу зробити це .flac. Буде можливий .pepe to .flac без використання .wav як середнього чоловіка. Я хочу переконатись, що ні в якому разі не втрачено ні трохи.

Ні, це неможливо зробити без використання якогось формату PCM в якості посередника. Але так, це можливо зробити це без використання файлу WAV. Зауважте різницю. Потік даних PCM. Файл WAV. Якщо відмінність вам не зрозуміла, перечитайте початок мого допису. Якщо ви хочете переконатися, що "навіть ні трохи" не втрачено, вам потрібно вивчити ваші файли APE і зрозуміти, у якому зразковому форматі вони є, і переконатися, що ваш кодер FLAC встановлений для кодування для тих же налаштувань.

Внутрішньо будь-яка програма для перетворення аудіо буде декодувати з вихідного формату в якийсь формат зразка без втрат PCM, а потім взяти ці зразки PCM і повторно кодувати їх у форматі призначення.

Крім того, якщо є якісь путівники, які пояснюють світ без втрат бездоганно, хтось буде готовий поділитися посиланням? :)

На мою думку, найкращий спосіб вчитися - це робити. Якщо вам знадобиться час, щоб вивчити рамку Gstreamer, як ним користуватися та значення різних налаштувань зразкового формату та як побудувати конвеєр, ви отримаєте справжнє розуміння цифрового звуку. Перевір. http://gstreamer.freedesktop.org/ Ви також можете захопити пакет SDK Gstreamer з http://code.entropywave.com/gstreamer-sdk/ (Windows підтримується) та експериментувати з gst-start-0.10, не вимагаючи нічого компілювати. від джерела.

Кілька розкриваючих речей:

gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10 audioconvert gst-inspect-0.10 Audioresample

Потім дізнайтеся про ковпачки, побудову трубопроводів тощо, і ви будете рухатись прямо уздовж.

* Примітка. Я розумію, що не пояснив, що таке PCM. Вікіпедія робить це краще, ніж я: http://en.wikipedia.org/wiki/Pulse-code_modulation


Нічого собі, це просто неймовірно, наскільки чітко і як чудово ви все це пояснили. Ніколи раніше не думав про половину цих речей, гарну їжу для роздумів. Дякуємо за відповідь - і час знадобився вам, щоб все це надрукувати! +1!
Райан МакКлур

Ви завжди повинні прагнути, щоб бітрейт та вибіркова швидкість залишалися недоторканими, оскільки без втрат в ідеалі передбачаються однакові дані ПКМ. Підвищення розміру нічим іншим, ніж подвоєння частоти вибірки, ніколи не буде без втрат (ви не можете додати нулі рівномірно), і витрачає дискове місце. У будь-якому випадку це не повинно бути проблемою з FLAC, оскільки він може обробляти будь-яку роздільну здатність біту PCM від 4 до 32 біт на зразок, будь-яку частоту дискретизації від 1 Гц до 655 350 Гц з кроком 1 Гц і будь-яку кількість каналів від 1 до 8 ( en.wikipedia.org/wiki/FLAC#Design )
mtone

WAV завжди містить PCM. Це може бути не якість PCM якості CD (але практично кажучи, ви, як правило, це можна припустити, тому що це майже завжди так), але це буде PCM, а не щось інше, як mpeg 3 слой 2.
psusi

@psusi: Вибачте, але ви помиляєтесь. Прочитайте статтю wikipedia на WAV: en.wikipedia.org/wiki/WAV . Якщо ви хочете, я можу розмістити посилання на файл WAV, що містить MP3-аудіо. Що потрібно пам’ятати про файли WAV, це те, що вони є лише файлом RIFF, а файл RIFF є досить примітивним переглядом формату мультимедійного контейнера. Але принаймні за своїм основним призначенням він не надзвичайно відрізняється від Огга чи Матроски, окрім лише підтримки аудіо, а не відео. Редагувати: мені не потрібно створювати файл wav / mp3; так! Насправді це пов'язано з Вікіпедії! nch.com.au/acm/8kmp316.wav
allquixotic

У цій відповіді є деякі неточності. "Частота, також відома як частота дискретизації. Більше краще, тому що у вас відтворюється більше" зразків "аудіозапису за секунду." - Це не так, як працюють вибіркові ставки. Якщо глибина бітів не задіяна, дані зі швидкістю вибірки 48 кГц можуть представляти сигнали до 24 кГц без втрат, а додавання більшої кількості зразків це не змінить. Більше зразків впливає лише на те, які частоти ви можете представляти. Перетворення з 44,1 Гц на 48 кГц також не є суворо кажучи збитковим, навіть якщо введена помилка шалено мала.
cooky451

1

Я маю згоду з твердженням allquixotic.

Якщо у вас вже є музика в збитому форматі, наприклад, mp3 або ogg / vorbis, перетворення її у формат без втрат з'їсть лише багато дискового простору, і НЕ БУДЕ - абсолютно НЕ БУДЕ - покращити якість аудіо що б то не було. Ви не можете створити вірність, коли вона вже втрачена. Якщо ви не пишете інтерфейс графічного інтерфейсу в Visual Basic в ефірному телешоу під назвою CSI, але це фантазія, а не реальність.

Вам бракує знань з аудіоінженерії та годування людей хибним твердженням.

  1. У Ogg і Vorbis є контейнери, які зберігають оригінальну інформацію про хвилі, і вони можуть бути перетворені в без втрат за допомогою цих даних. Будь ласка, зробіть Google достатньо.

  2. навіть низькоякісна форма MP3 в без втрат робить багато покращення звуку, вона не настільки досконала, як оригінальна, але її можна легко виправити за допомогою динаміки та дихання. https://www.izotope.com/en/products/master-and-deliver/ozone.html/OzoneDitheringGuide.pdf

Звук - це не 10100110101001 даних, тому менший розмір файлу не означає, що він втратив якість. Ви можете мати досвід роботи від 128 кбіт до 320 кбіт / с десятиліть тому, і здогадатися, що 128 кбіт / с до без втрат неможливо. Будь ласка, переконайтесь, що випробуєте це просте завдання і реалізуйте його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.