Дослідження якості звуку на SoundCloud

У 2014-му я провів докладне дослідження якості звуку на YouTube (матеріал ще досить актуальний, серйозних змін на YouTube за цей час не відбулося), незадовго до цього перевіряв, наскільки якісно музика відтворюється в соцмережі ВКонтакте. У цій же статті я досліджую якість звуку на сервісі, призначеному суто для музики - SoundCloud.


Але для початку короткий історичний екскурс:

SoundCloud стартував у далекому 2008-му році як сервіс для публікації і розшарування музичних композицій. Спочатку він призначався для музикантів, які отримали тепер можливість зручно обмінюватися своїми звукозаписами і публікувати їх. Сервіс стрімко набирав популярність: 2010 року кількість користувачів сягнула одного мільйона, а 2013-го перевалила за 40 мільйонів (при цьому кількість слухачів на місяць перевищила 170 мільйонів). Однак SoundCloud продовжував залишатися виключно способом поширення музикантами власної музики, і на нього неможливо було завантажити музику, захищену авторським правом. Переговори з музичними компаніями довгий час проходили безуспішно. У 2014-му вдалося укласти угоду з Warner Music Group, проте лейбли поставилися до SoundCloud досить скептично. Тільки в 2016-му році компанія SoundCloud нарешті налагодила співпрацю з двома іншими членами «Великої Трійки» - Universal Music Group і Sony Music Entertainment, що дозволило збільшити кількість доступного контенту до більш ніж 150 млн треків і запустити музичну службу SoundCloud Go (на даний момент доступна у США, Канаді, Франції, Німеччині, Нідерландах, Великобританії, Австралії та Новій Зеландії), що дозволяє слухати ліцензований контент.

Отже, в останні роки глобальне прагнення в IT-сфері до спрощення всього і вся призвело в тому числі до того, що люди почали просто лінуватися скачувати музику з трекерів, файлобмінників тощо. (про купівлю дисків всі вже взагалі забули) - адже легше вбити назву треку в пошук ВК, YouTube, Яндекс.Музики і т. д., натиснути кнопку Play і більше ні про що не турбуватися.

Але оскільки у кожного музичного сервісу свої заморочки стосовно авторських прав, платності/безкоштовності контенту, обмежень тощо (на жаль, пройшли часи, коли в VK було все і безкоштовно), кількість альтернатив продовжує зростати. Однією з таких альтернатив є SoundCloud, фірмові особливості якого - відображення прогресбара треку у вигляді стилізованої осцилограми, можливість додавання коментарів з прив'язкою до часу, а також можливість вбудовування треків у Twitter, Facebook і взагалі будь-які сторінки (з використанням API).

Я ніколи раніше не користувався SoundCloud, але недавно мені надіслали посилання на непоганий мікс, який був викладений на YouTube. Я подивився список доступних для скачування форматів, виявив там Opus і вже було зібрався качати/слухати, але потім помітив в описі лінк на SoundCloud - нібито спочатку мікс викладався там. Я вирішив, що краще, як кажуть, звернутися до першоджерела, і порожній за посиланням.

Клікнувши по кнопці Download, люб'язно наданій плагіном SaveFrom.net (який я, до речі, використовую і для YouTube), я завантажив перший трек - на жаль, MP3 128 kbps - і порівняв його з Opus, скачаним з YouTube:

Спектрограми досить різняться - у Opus спектр ширший, і це говорить про те, що завантажений 128-кбітний MP3 першоджерелом не є.

Але де ж тоді першоджерело? Чи доступний він для скачування взагалі? Ось у Google, наприклад, є Takeout, що дозволяє завантажувати оригінали завантажених на свій канал Youtube відео (див. мою статтю).

Я зареєструвався на SoundCloud і вивантажив туди тестовий сигнал RceMark Audio Analyzer у форматі FLAC 24 біт/96 кГц:

До речі, до вивантаження з HQ форматів (AMR і MP2 в облік не беремо) доступні PCM, FLAC, ALAC, OGG (Vorbis, Opus), MP3, AAC, і WMA - кілька засмучує відсутність додаткових lossless форматів (Mey Aonkey, Aio Aio)

Після вивантаження я завантажив трек тією ж кнопкою - також завантажувався MP3 128 kbps. Я перевірив і з'ясував, що це саме той матеріал, який відтворюється потоково при запуску програвання. До речі кажучи, краще все ж буде відтворювати його, попередньо скачавши і запустивши, наприклад, в foobar2000 (за умови правильного налаштування) - так ви застрахуєте себе від додаткових шумів квантування (браузер декодує в 16-bit PCM, foobar2000 - в 32-bit float) і кліппінгу (музикантам рекомендується нормалізація треків до -3dBFS до Викладання на, перед викладанням, але не перед Вироблянням.

Також я з'ясував, що SC конвертує абсолютно все - навіть якщо на нього вивантажити закодований ним же MP3, він все одно ще раз його перекодує.

Покопавши в інтернеті, я з'ясував, що для можливості скачування оригіналу свого треку необхідно мати Pro акаунт. Але, як виявилося, завантажити оригінал все ж можна - для цього потрібно включити можливість завантаження треку в розділі Permissions. Тоді скачування оригіналу стає доступним всім, включаючи власника:

Зробити це можна і для приватних, і для публічних записів.

Що ж, це вже радує. Але на сервісі дуже мало записів, для яких включена можливість скачування, так що в більшості випадків нам доведеться задовольнятися MP3. Давайте ж подивимося ближче, що ми маємо.

За допомогою тестового семплу, Adobe Audition, EncSpot і деяких інших хитрощів (які я докладно описав колись у своїй статті) мені вдалося з'ясувати, що SoundCloud на даний момент використовує LAME версії 3.99.3 (дивно, адже вже 5 років як доступний 3.99.5, а нещодавно вийшов 3.100) з попереднім ресурсуванням матеріалу до 44.1 Kz H. При цьому ресемплювання виконується алгоритмом явно більш якісним, ніж вбудований в LAME. На спектрограмі закодованого мною семпла (параметр --resample 44.1) видно аліазинг, а у семпла з SC його немає:

Що ж, хоч за це розробникам можна сказати спасибі.

В іншому ж - результати, м'яко кажучи, не дуже. Виходячи з шуму (близько -87 dBFS) на ділянках, де спочатку була тиша, можна зробити висновок, що обробка і кодування виконувалися з точністю 16 біт (це призвело до підвищеного шуму квантування). Для LAME використовувався тільки параметр -b 128 - кодування в CBR 128 kbps зі значенням якості алгоритмів рівним 3 (найякісніше - 0).

Висновки можуть бути такими:

1. Розробники не стали використовувати більш ефективні режими - VBR - так як VBR V2 і V3 дають бітрейт значно вище 128 кбіт/с, а на більш низьких бітрейтах модель VBR не настільки ефективна і часто навіть програє CBR. Тобто в даному випадку був зроблений вибір на користь економії дискового простору, а не швидкості кодування (VBR кодується швидше).

2. Для економії швидкості розробники не стали підвищувати якість алгоритмів (хоча б до -q 2) і, мабуть, з тієї ж причини включили альтернативний ресемлпер - вбудований в LAME працює досить повільно.

Втім, цілком може бути, що ніхто взагалі не думав ні про що таке, і вони лише вбили параметр для кодування в 128 кбіт/с, дотримуючись поширеної думки про поріг прозорості на даному бітрейті.

Але що точно - на обличчя небажання впроваджувати нові технології. Лідируючий зараз Opus Codec кодує як мінімум в два рази швидше MP3, дає на 128 кбіт/с (а то і на 80 - 96) повну прозорість звучання і підтримується вже всіма сучасними браузерами, (а його реалізація на мобільних платформах, завдяки відкритості, не складе труднощів).

Те ж, що ми маємо зараз - низькоякісне MP3 аудіо, яке звучить з чутними спотвореннями на будь-якому хоч скільки-небудь якісному матеріалі та обладнанні. У підсумку виходить парадокс: рішення викладати музику на непризначеному для цього YouTube буде кращим, ніж викладати її на спеціально створеному SoundCloud.

Але я все ж сподіваюся, що хлопці з SoundCloud впораються з фінансовими труднощами, які зараз зазнають, візьмуться за розум і виправлять настільки прикрі недоліки.

P. S. А ось тут самі музиканти скаржаться на якість звуку SC: www.gearslutz.com/board/mastering-forum/664602-soundcloud-struggling-sound-quality.html

COM_SPPAGEBUILDER_NO_ITEMS_FOUND