Category: музыка

Category was added automatically. Read all entries about "музыка".

Book

Видеомиксер

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

Видеомиксер с самым коротким описанием наверное.

Есть 2 источника видео: файл с альфа-каналом и камера. Надо их смикшировать и сделать "плеер" с перемоткой видео-файла.

К файлу требования чтобы был со сжатием (сжатые форматы с альфой есть, но их немного; в принципе достаточно чтобы система со 100 часами видео уместилась на недорогой массив). К камере требования чтобы 720p@25 или выше.

В первом приближении (но это не обязательно - главное чтобы были удовлетворены требования выше) у нас линукс, файл в формате видео флеша, камера - вебкамера v4l mjpeg, и микшируем мы через gstreamer.

Gstreamer всё умеет и даже более-менее микширует без перемотки, но в случае перемотки файлового стрима впадает в ступор из-за того что файл и камера генерируют кадры в разное время. Там 3 источника расхождения:

- камера может снизить FPS из-за освещённости,
- расхождения по фазе - т.е. момент генерации кадра камерой отличается от момента генерации кадра видео на долю межкадрового промежутка
- камера генерирует монотонно растущие таймстемпы, а перемотка - таймстемпы от начала файла

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

Если сходу сделать не получится - решением считается отправка письма в мейллист gstreamer c минимальным примером (они там любят си) и получение ответа в виде "это сделать нельзя/не поддерживается/баг", т.е. добиться от них понимания и воспроизведения проблемы.

Доп требования: гуй должен быть "дубовым", под низкоквалифицированного оператора, в котором нельзя ничего "случайно нажать". Т.е. запуск условного Премьера который умеет делать реалтайм превью микса не годится. Кроме того задача максимум стоит не только выводить в поток но и писать смикшированное видео в файл(ы). Т.е. просто рендерить самому на экране не годится. В случае gstreamer достаточно формировать его поток который потом рендерится его рендерером. Если какие-то проблемы возникнут с тем что нельзя просто взять и писать поток в файл - это считается отдельным скоупом и в задачу не входит.
Book

Проводные наушники говно и не нужны

TLDR: блютуз лечит 2 проблемы: шумы и громкость. На телефоне это не слышно, но на ПК это пиздец.

Если вы покупаете обычные наушники - то к ним нужно ещё и покупать аналоговый тракт. И в over 97% случаев этот тракт по факту оказывается хуже, чем собственно наушники, и всё портит.

В телефонах с этим чуть-чуть получше - там традиционно, ещё до этих ваших смарт телефонов, ценилось качество речи, и с трактом там всё в порядке - ну вот я не припомню, чтобы на условном Siemens C35 были такие же шумы, как при подключении к звуковой карте того же периода выпуска (но вообще-то на GSM изначально качество речи так себе). Микрофон с нормальным АРУ, а позже появились шумодавы и т п.

Ну то есть если вы к телефону подключаете "телефонные" же уши то это более-менее юзабельно. Есть даже телефоны с приличным ЦАП.

В остальных случаях это проблемы:
- с шумами тракта при воспроизведении (шипение в наушниках в тихих моментах)
- шумами тракта при записи (шипение в записанном с микрофона звуке)
- шумы "улицы" при записи
- недостаточный уровень громкости при записи

Эти 4 проблемы лечатся дешёвыми блютуз-гарнитурами. Там "телефонного класса" шумодав и аналоговая часть достойная. И даже в китайских гарнитурах там будет завал АЧХ по вине усилка (я как-то для смеху купил блютуз-устройство с 3.5мм) но шумов не услышите, по-крайней мере не в том масштабе, что на компе.

Пятая проблема шумы "улицы" при воспроизведении лечится active noise cancellation, но это переносит нас в категорию $250+

В-общем блютуз-уши за $100 рулят в качестве повседневной домашней гарнитуры для музыки и переговоров. Уши как таковые там огого, действует пресловутое правило "уши за 100 эквивалентны колонкам за 5к". В играх хез, задержка должна быть, но я играю недостаточно хорошо, чтобы её увидеть с AptX в условных Paladins. Артефакты AptX я не слышу.

ANC там есть хуёвый, но тут опять же лечится "больше микрофонов богу микрофонов" (и удорожанием из-за hybrid ANC), в-общем в этот бюджет была возможность лучший шумодав с худшими наушниками или наоборот, я выбрал наоборот. Давит слабо и в-основном НЧ, но артефактов ANC нет. Единственный недостаток ANC - что уши потребляют эл-во если снять с головы и отключить звук. Шумоподавляют тишину, так сказать, и разряжаются.

Sennheiser 4.5BTNC. Я доволен.

Upd: ещё небольшой бонус - это кнопки перемотки трека. Киллер-фича - они внезапно работают с запущенным на компе сайтиком youtube music.

Upd2: есть ещё такой класс устройств, как проводные USB-наушники. Те же преимущества, что у блютуза, но не взлетело.
Book

Звук в 2020

Играю тут в игрушку на Андроиде, так она внезапно не может в звук. В смысле что звук постоянно прерывается.

С другой стороны, винда внезапно не может в bluetooth - то ли мощи для AptX не хватает, что сомнительно, то ли ещё что, но звук из телефона в Youtube Music внезапно не глючит, а а винде периодически прерывается.

Тьфу!
Book

Реверс-инжиниринг iptv

Краткая версия: если вы подключены к IPTV-провайдеру, и он не занимается DRM - то вы можете получить плейлист каналов и загрузить его в планшет-ноут-телефон-телевизор и смотреть минуя говнокоробочку от провайдера. Мой вот не занимается.

Для этого понадобится свич без поддержки IGMP (т.е. любой домашний свич). Подключаете через него ноут и коробочку, и на вас льется поток текущего канала. Подключаетесь туда wireshark (tcpdump, whatever) и смотрите UDP-трафик на 239.*.*.*

Забиваете этот трафик в виде rtp://239.1.2.3.4:5678 в VLC, и получаете плейлист канал за каналом. Который затем можете сохранить в файл и импортировать в телефон-микроволновку.

Длинная версия:

В сети дебильная ситуация: не нашёл, как, имея wireshark, получить плейлист для условного VLC. На самом деле прямо в телеке есть IPTV-плеер, так что если он заработает, "каху" можно будет выбросить.

Я бы вообще не стал этим заниматься (как-то не приходило в голову), но я подключил ноут к локалке проводом и выяснил в таск-менеджере, что кто-то срёт в меня потоком 4 Мбит какой-то неведомой хуйни.

Выяснилось, что провайдер занимается обычным RTP-мультикастом без излишеств. Т.е. вбиваешь урл в VLC - он подключается к мультикаст-группе и смотрит, без паролей и предоплат.

Теперь осталось понять, работает ли оно по вайфаю, в устройствах домашних и телеке.

Дополнительно доставляет то, что провайдер выдал коробочки с надписью STB-2520. Это устройство от неведомой китайской компании, которое подключается к ethernet и показует IPTV (прямо по аналоговому или HDMI). Устройство греется в режиме стендбая. Ну то есть 5+ Вт потребляет. В нашей стране это моветон - поскольку полдня нет эл-ва, есть инвертор, но он не бесконечен, так что по сигналу "se fue la luz" бежим и выключаем всё жрущее: вентиляторы, телевизоры и т п. Теперь вот и коробки надо будет выдергивать. Тьфу! Холодильник вот как-то сам выключается, хез как это работает. И если удастся завести это на телефонах - то люди смогут смотреть свои сериалы, когда нет света.

В прошлой квартире был спутник с DRM (от того же провайдера). Но коробочка была с DVR, умевшего записывать и смотреть DRM-каналы. Так что решением было запрограммировать её чтобы писала сериалы, и смотреть когда есть свет. А сейчас есть более простое решение смотреть независимо от света (ну и DVR тоже можно прикрутить наверное).

Кроме того, коробочка работает на WinCE5 (привет всем фанатам линукса), забрендирована по самое нехочу и не отдает плейлисты. Приходится вот таким образом раскусывать.

Это опять же не отменяет того что телек в 2019 году смотреть моветон, а шрот типа Siempre Tuya Acapulco смотреть вообще нельзя.


Upd: нашёл тут http://uross-digital-tools.appspot.com/?subpage=mctv_scanner но он а) под винду б) требует порта, который 7534 но не всегда

С его помощью выяснилось, что есть ~350 мультикаст-адресов с которых что-то сыпется. Но VLC показывает только с ~50, включая, что странно, 3 порноканала. Остается вопрос, почему VLC не показывает что нечитающиеся каналы закрыты DRM, если это DRM.
Book

Как мы издеваемся над орфоэпией

https://www.youtube.com/watch?v=x6UODla2hqE - звуки
https://www.letras.com/daddy-yankee/1884318/ - буквы

Llegamos a romper - йегамос а ромпэр - йегамо а ромпэль. Поль твитель, тьфу.

И это даже забыть о "слитности речи" - о том, что сasa alta - читается как просто касальта вполне литературно. Ну и о ceceo-seseo (замена th на s).

C сесео бывает даже смешно от диссонанса, если одновременно в разговоре участвуют люди с seseo и сесео. Например, https://youtu.be/NUsoVlDFqZg?t=41

Здесь смеюсь каждый раз когда слышу, как коренной мадридец голубых кровей Энрике Иглесиас произносит respiracion и corazon. Ещё смешнее, что сразу за кора(th)он сразу идёт в бэк-вокале рабоче-крестьянский "корасон" от кубинцев Gente de Zona, а сам энрике делает при этом разные жесты, воспринимающиеся (мной) как позёрские и смешные.

Там (в bailando) есть кстати эталонная сферическая слитность в вакууме - subiendo y bajando читается как "субьен дибахандо".

Да, ещё ща вспомнил о том что В и Б смешивают, некоторые знакомые доминиканцы вообще не различают на слух. В результате например в bailando слово бока произносят как вока. Но здесь в ДР чаще это не бока и не вока, а какой-то средний звук.

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

Upd: https://es.wikipedia.org/wiki/Masacre_del_Perejil - оказывается эта замена r на l довольно старая

Upd2: оказывается, Bailando тоже в Санто-Доминго снимали. Мёдом им там намазано, что ли.
Book

Печали субтитроведения

Мой замечательный HEVC-фильм плеер 10 винды сначала отказывался играть. Но делал он это путём молчаливого самозакрывания. VLC играет нормально и показывает, что таки Codec: MPEG-H Part2/HEVC (H.265) (hevc)

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

Но в любом случае с субтитрами не гладко. Мало того, что в испанском слова глотают - так ещё и в английском количество напечатанных слов меньше произнесённых. Это что, такая традиция - типа адаптировать текст для субтитров? Для обучения языку неудобно, хоть сам садись пиши себе субтитры.
Book

Поп-культурные шоки

Сегодня выяснил, что эти песни (конкретно - хиты "Eres mía" и "Hilito") поёт мужик:

https://www.youtube.com/watch?v=ma9fKrS9mkY

Прошлый аналогичный шок был в Нигерии, когда увидел, как актёр Desmond Elliott в национальной одежде исполняет песню "I am so glad that Jesus loves me".

https://www.youtube.com/watch?v=KkOQD99ZzJc - клипа с Десмондом не нашёл, но суть (песня, костюмы, операторская работа и хореография) та же.
Book

Открыл для себя Thrift

О существовании я знал и раньше, просто попробовал. Примеры для ноды и перла (сервер нода клиент перл) заработали из коробки, что удивительно.

С х-ем отдельная песня:

https://issues.apache.org/jira/browse/THRIFT/component/12312703/

Помимо этого, есть Thrift и thrift, причем thrift требует напильника для сборки :)

Upd: На Hackage лежат левые версии. Надо брать ту, что идет вместе с сорцами Thrift. Код примера и сгенерированный код надо немного допиливать, но PoC заработал.
Book

(no subject)

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

На первых порах развитый FFI, позволяющий затаскивать любые сколь угодно кривые и сложные библиотеки хост-языка в HN, мне не нужен. Boost через FFI? No way! В моих проектах вся грязная работа выполняется низкоуровневыми компонентами, которые у меня почему-то оказываются очень стабильными, хоть на сях, хоть на жс. Относительная выгода писать их на NH невелика. Основная масса работы в проектах - это нестабильный высокоуровневый клей между этими компонентами.

Я собираюсь адаптировать интерфейс этих компонентов для удобства скриптования из HN, заимпортировать этот адаптер через FFI, написать для него подобие DSL, используя ФВП в HN и дальше писать скрипты.

Основные трудности при этом - кодогенерация и устранение ФВП-каши. Я не пошел по пути EDSL, поскольку он даст мне только метапрограммирование. Тайпчекинг мне всё равно второй раз надо делать, чтобы выводить (в случае кодогенерации в крестики) шаблонные параметры в местах использования. Да и количество кода в algorithm W смехотворное, как и в случае парсинга.

Много времени было потрачено на кодогенератор крестиков из AST, от которого EDSL меня никак бы не защитил. Текущая задача - избавиться от ФВП-каши в AST. Предварительные результаты очень хорошие, но подход к инлайнингу оказался в корне неверным, и я наметил план из 5 пунктов, из которых один уже готов.

После чего надо будет избавиться от остатков каши, для чего мне наконец придется добавить присваивания и циклы. Люди говорят, что пустяки, а я подозреваю, что будет та ещё песня.