xk21
136 subscribers
156 photos
87 videos
1 file
85 links
Download Telegram
🤓62😁2
осторожно у нас ПРЕМЬЕРА
на площадках 24 марта ⚠️
2
Forwarded from MIsha Straykov
Костя, вот твои даты по букингу 😘
19/04 мск
25/04 спб
10/05 мск
17/05 спб

С наилучшими пожеланиями, ваш менеджер Ст Мишкин
7
весной играем получается
7
думал отмастерить трек, открыл премастер... 🥵
5🗿3🤓2😁1
однажды, просматривая форум по модулярам, нашел фразу, которая емко и метко описывает большую часть продакшена - настолько емко и метко, что весь текст до и после нее в целом можно было бы стереть.

GARBAGE IN -> GARBAGE OUT

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

в лучшем случае получалось приемлемо, изредка получался неожиданно классный результат - но не тот, которого я добивался. в итоге ты часами слушаешь посредственную дорожку, прикипаешь к ней (ведь столько сил вложено в обработку), в то время как нужно было ее удалить и начать заново.
64🤓3
серум 2 вышел!
😁4
This media is not supported in your browser
VIEW IN TELEGRAM
xk21 — проект, под которым совмещается индастриал техно и брейкбит, а в основе звучания лежит EDM-бейслайн. Сооснователь лейбла и промо SVODKA, неоднократно развалившего Питер. Выпускался на HEX Recordings, OBSCUUR, THE BRVTALIST, FU.ME Rec, childsplay и поиграл на основных площадках двух столиц.

sub-event: SVODKA
8
Media is too big
VIEW IN TELEGRAM
XK21 | BLANK 25.04

xk21 — проект, который объединяет индастриал техно и брейкбит, создавая уникальное звучание, основанное на EDM-бейслайне. Сооснователь лейбла и промо SVODKA.

Артист был представлен на таких известных лейблах как HEX Recordings, OBSCUUR, THE BRVTALIST, FU.ME Rec и childsplay. Также в январе прошлого года был записан подкаст с xk21 специально для Synesthesia, который можно увидеть на нашем канале.

25 апреля ждём его мощное выступление в питерском Бланке⚙️

25.04.25 - St. Petersburg - BLANK, Арсенальная наб.1

Открытие дверей в 22:30

Билеты первого релиза. Завтра подорожание!
Please open Telegram to view this post
VIEW IN TELEGRAM
2
астрологи объявили неделю анонсов
3
почему у меня mp3 играет громче 0 dB? у них лимитеры круче что ли

чтобы разобраться в вопросе, придется копнуть, как кодируется-декодируется mp3. точнее, достаточно понять, как оно декодируется, но процесс декодирования начинается примерно так: мы используем инверсное модифицированное дискретное косинусное преобразование чтобы…. 🥵 поэтому я расскажу сначала.

короткий экскурс в историю:
mp3, или полное имя MPEG-1 Audio Layer III - формат сжатия аудио с потерями, его разработали в 1991 году, когда у человечества еще не было больших накопителей, но уже был развитый математический аппарат. mp3 сжимает аудио в 10-11 раз относительно исходника, при этом до сих пор умудряется проходить слепые тесты на сравнениях с lossless-форматами.

mp3 до 2017 года - это проприетарный формат, то есть за каждое использование нужно забашлять владельцу патента (которых еще и несколько почему-то). в результате получились забавные курьезы - например, лучший енкодер LAME был доступен только из исходников, постоянно случались скандалы и суды - например с ущербом на полтора миллиарда, и все постоянно твердили, что нужно использовать OGG или Vorbis, ведь они лучше и бесплатные, но распространение формата было сложно остановить. вообще говоря, все существующее сжатие аудио с потерями - это наследие алгоритмов, заложенных в mp3, включая современные стриминговые сервисы.
8🤓43
вообще говоря, mp3 - это спецификация декодера. как кодировать сигнал, особо не рассказывали, и поэтому существуют различные варианты енкодеров. если прогнать через них один и тот же файл - они будут звучать по-разному, у них разные форматы тегов, но главное - все полученные mp3 можно будет включить на любом проигрывателе. в аблике (да и примерно везде) используется енкодер LAME. из мемов - название расшифровывается как “LAME это не енкодер”, по причине проблем с патентами.

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

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

втупую с аудиосигналом так, конечно, не получится - в треках очень много гармоник, и они постоянно меняются, поэтому тут бьют слона на части вдоль и поперек:

- исходный файл режется на фреймы, куски длиной 1152 семпла (это примерно 0,026 секунд). далее, мы работаем только с одним фреймом (позже разберём, как они склеиваются).

- каждый фрейм прогоняетчя через т.н. polyphase filter (многофазный фильтр? хз не нашел русского определения) из 32 полос равной ширины. если упростить, то это как гнать сигнал через вокодер, только здесь нет внешнего сигнала модулятора. за страшным словом polyphase кроется способность фильтра разбивать фрейм на полосы за один проход.

теперь у нас есть 32 полосы, каждая закодирована 1152 семплами, но мы можем понизить частоту семплов для каждой полосы. как гласит теорема Котельникова, если у нас семплрейт сигнала N, то мы не можем таким сигналом описать сигнал частоты большей, чем N/2.

изначальная частота сигнала у нас 44100 Гц, мы разбили его на 32 равные полосы по 44100/2/32=689 Гц. соответственно, имеем первую полосу 0-689 Гц, вторую 689-1378 Гц, третью 1.4-2.1 кГц, и так далее вплоть до верхнего порога слышимости в 20 кГц.
каждую полосу мы сдвигаем в низкочастотный диапазон frequency shift’ером, и снижаем семплрейт каждой полосы (по все той же теореме Котельникова). теперь, чтобы описать каждую такую полосу, достаточно использовать 18 семплов (1152/2/32=18)

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

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

окей это был самый душный момент лекции. преобразование Фурье вы постоянно встречаете, когда смотрите в эквалайзер - убавить 300 Гц на треке, значит перевести сигнал в сумму гармоник и убавить амплитуды у тех, что соответствуют этой частоте (ладно, все немного сложнее).
5🤓2
на гифках можете увидеть, как при помощи преобразования Фурье мы можем получить из сигнала - спектр его гармоник, и наоборот - при помощи множества гармоник описать квадратную волну
3🤓3
при чем тут вообще Фурье? дело в том, что модифицированное дискретное косинусное преобразование (MDCT):
- позволяет точно так же преобразовать любой сигнал в его спектр,
- для этого достаточно использовать только амплитуды функций,
- может быть реализовано при помощи быстрого преобразования Фурье (FFT) - это так и сделано под капотом,
- использует т.н. метод перекрытия-суммы (overlap-add, OLA), тут нужно рассмотреть подробнее.
🤓32
если мы разбили сигнал на фреймы, то хотелось бы, чтобы сигнал одного фрейма плавно переходил в сигнал следующего - иначе на каждой границе будет слышно щелчок. OLA решает именно эту задачу, но не бесплатно - для этого на вход нужно подать в два раза больше семплов.

отсюда и двойка в предыдущем посте: чтобы перевести фрейм в спектр, нужно подать на вход MDCT в два раза больше семплов, чем мы получим коэффициентов для описания спектра. не удивлюсь, если MDCT разрабатывалось специально для кодирования аудио: у нас всегда есть возможность добавить семплы из соседнего фрейма, чтобы получить гладкое их «соединение» при декодировании.
4
*бьет указкой по столу* ХУЛИ СПИМ
🗿6😁3
итак, мы получили спектральное представление каждой полосы фрейма, и это занимает у нас столько же памяти, сколько и изначальный PCM-сигнал. как мы можем урезать его в несколько раз?

здесь приходит на помощь психоакустическая модель, определяющая наиболее важные части спектра. что за зверь? это алгоритм, выкидывающий все, что человек не услышит:
- маскирует соседние частоты. например, есть громкая часть спектра на 300 Гц - значит, можно скипнуть части спектра в районе 280 и 320 Гц. бытовой пример - если влететь в отбойник передом машины, то вы не заметите, что на капот насрала птица
- уделяет больше внимания средним частотам - у человеческого уха больше динамический диапазон здесь
- определяет порог, выше которого частоты спектра нужно описать точнее, а ниже которого в целом похуй.

психоакустическая модель - это часть енкодера, и mp3-плееру (декодеру) все равно, какие части спектра были похерены - он просто восстанавливает исходный сигнал. чуваки сравнивают разные енкодеры, но сходятся в том что на высоких битрейтах (192..320 кбит/с) сильно большой разницы между реализациями нет, и считают LAME лучшим.
2