Pull to refresh
22
0
Михаил Корнилов @mihmig

Java developer

Send message

Suno есть, скрипач не нужен!?

Level of difficultyMedium
Reading time15 min
Views3.9K

Я еще не совсем отошел от шока полугодичной давности, когда познакомился с RVC ... а тут новый прорыв - Suno. Думаю, многие если и не знакомы с самим сервисом, то слышали результаты - саундтреки с вокалом, полностью сгенерированные ИИ, по сути, не отличимые от живого исполнения. Хотя, конечно, еще до ИИ в музыке стало так много синтетики, что теперь и музыкант не всегда определит, как именно она была сделана.

В общем, то, о чём мечтают многие сочинители текстов - положить свои стихи на музыку, стало невероятно простым и доступным. Именно невероятно - 3 клика и Suno за 30 сек выдает 2 варианта песни на ваш текст в выбранном вами стиле.

Я не первый, кто взялся написать об этом удивительном сервисе, но мне кажется, что у меня есть некоторые догадки, позволяющие предположить, как эта система устроена внутри. А понимать принцип работы, значит меньше совершать ошибок и быстрее достигать желаемого результата. Пока, к сожалению, работа с Suno похожа на управление "пищевым конвейером инопланетян" - на выходе в целом правильная и даже вкусная еда, но не совсем то, что ты ожидал получить, делая заказ. Правда, этому есть и объективные причины.

Сначала пару строк о качестве. Это ведь важно?

Suno генерирует, правильную, качественную, профессионально звучащую музыку, которую вы слушаете как-бы через некачественные колонки. Т.е. музыкальное качество высокое, а звуковое - не всегда, но ... Вот отзыв Сергея Кокорина, руководителя и дирижера сочинского Биг-Бенда, на один из первых примеров Suno, который я ему показал: "... поразительно точно соблюдены все правила штрихов, нюансов, аранжировки... Удивительно верное инструментальное произношение свинга! У вокалистов чудесный порядок, и в сольном произношении, и аккордовом! Огромное количество подробностей учтено!!! Поразительная железяка, хорошо это слышно, но не верится...". И согласитесь, живой джаз - очень непростая музыка для имитации, это не клубный трек.

Читать далее
Total votes 23: ↑23 and ↓0+25
Comments27

Звук. От механических колебаний до ALSA SoC Layer

Reading time8 min
Views9.7K


Мы в SberDevices делаем устройства, на которых можно послушать музыку, посмотреть кино и ещё много всего. Как вы понимаете, без звука это всё не представляет интереса. Давайте посмотрим, что происходит со звуком в устройстве, начиная со школьной физики и заканчивая ALSA-подсистемой в Linux.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments6

Mikrotik, DHCP Classless Route

Reading time4 min
Views51K
DHCP Classless Route, зачем он нужен?

У нас в компании для VPN используется решение на tincd. Из-за того, что на Mikrotik я не нашёл простого способа запустить tinc, было решено запускать VPN на отдельном сервере и использовать его как шлюз. Первая попытка — прописать маршрут на маршрутизаторе. По пингам было видно, что маршрутизатор присылает сообщение о редиректе, при этом наблюдались сетевые лаги. При работе создавалось ощущение, что соединение, установленные таким образом, подтормаживает.

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

Процесс гугления привёл меня на страницу документации Mikrotika. Всё ясно — нам поможет DHCP Classless Route. Настройка относительно легка, но вот из-за этой относительности убил на настройку пол дня. При этом возникали проблемы с сетевым доступом у хостов сети — у Windows машин пропадал маршрут по умолчанию.
Ещё одна сложность настройки Mikrotik заключается в том, что нужно вводить маршрут в шестнадцатеричном (либо в двоичном) виде, что меня слегка сбило с толку. Да и в документации некоторые нюансы не указаны. Данная опция рассмотрена в базовом варианте. А дальше как хотите )). Пришлось немного углубиться в подробности настройки.
Подробности под катом
Total votes 15: ↑15 and ↓0+15
Comments30

Игра в безопасность Android-приложений

Level of difficultyMedium
Reading time20 min
Views6.1K

Давайте в общих чертах рассмотрим вопросы взлома и защиты Android-приложений. 

В рамках статьи нас интересуют сами процессы взлома и защиты, а не конкретные методики работы с конкретными инструментами. Поэтому разберёмся с этими процессами и постараемся сделать выводы. Чтобы читать было интереснее, я решил попеременно ставить себя и на место нападающего, и на место защищающего приложение человека. Что-то вроде шахмат: сначала ход делает нападающий, а затем защищающийся. Пока кто-то не победит. Пройдём путь, постепенно наращивая сложность, от простого вроде HTTPS — к более сложному, вроде обфускации и деобфускации, изменению поведения. И под конец перейдём к C++ и просмотру его Assembler кода.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments9

DIY Zigbee датчик СO2 для вашего Умного дома

Level of difficultyEasy
Reading time14 min
Views22K
Приветствую всех читателей Habr. Меня зовут Андрей, примерно около 5 лет я осознано занимаюсь DIY разработкой электронных устройств для своего «Умного дома», да и не только для своего. Сегодня хочу рассказать об одном из моих DIY проектов, небольшом устройстве для контроля уровня углекислого газа. Проект называется EFEKTA iAQ, это датчик с круглым IPS TFT дисплеем, сенсором CO2, работающий на протоколе Zigbee.

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments49

Пишем свой Credential Provider на C# для авторизации в Windows

Reading time9 min
Views12K

Credential Provider, используется для передачи пользовательских учетных данных в стек безопасности Windows. По умолчанию в системе присутствуют поставщики для входа через пароль, PIN-код, смарт-карту и Windows Hello. Однако что делать если они нам не подходят?

Пишем свой Credential Provider
Total votes 32: ↑32 and ↓0+32
Comments10

Пишем аудио-разведчик своими руками

Reading time12 min
Views7.7K

Было бы здорово иногда иметь под рукой программку, которая в наше отсутствие умеет записывать звук со встроенного микрофона нашего ноутбука и передавать его по сети на другой наш комьютер. А тот, в свою очередь, этот звук умел бы воспроизводить в режиме реального времени. Давай попробуем самостоятельно написать такую программу, тем более что это, как оказывается, не так уж и сложно.

Что мы в итоге хотим получить и какой алгоритм работы реализовать:

1. Сервер, который запускается на той машине, пространство вокруг которой мы хотим прослушивать. Он тихо ждёт, пока к нему не подключится клиент. Затем он открывает устройство записи звука, настроенное по умолчанию в системе, и начинает передавать аудио поток на машину клиента. При отключении клиента от сервера, звуковое устройство закрывается, чтобы не тратить ресурсы зря.

2. Клиент, который подключается к серверу и начинает принимать аудио поток и воспроизводить его в режиме реального времени. Для того, чтобы клиент мог правильно (в нужном формате) открыть устройство воспроизведения звука, он получает нужную мета информацию от сервера в Hello сообщении.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments3

Улучшение Visual Studio Code для новичков

Reading time5 min
Views45K

VSCode — самый популярный редактор кода среди веб-разработчиков. Вы можете использовать его с нуля, однако со временем его базовых функций станет недостаточно. Рассказываю, как сам докрутил этот редактор под свои потребности.

Читать далее
Total votes 25: ↑18 and ↓7+11
Comments29

Новогодняя ёлочка на рабочий стол

Reading time9 min
Views13K

Всех с наступающими праздниками! Надеюсь, каждый отдохнёт и восполнит силы за праздничные дни, а не будет зависать за очередными багами/фичами/обновлениями!

Помню, лет так 12 назад, когда я был ещё школьником, у всех моих знакомых стояла windows XP. И в моменты нового года у нас была традиция, скачать на каком-нибудь сайте новогоднюю ёлочку, которая запускается отдельной программой и просто на рабочем столе (либо на любом другом окне, если её открыть поверх окон) играет гифка с этой ёлочкой. Мелочь, но к новогоднему настроению она давала в те года +100 очков.

Если раньше такую штуку приходилось искать, где скачать, то теперь пришло время сделать всё самому.

Приступим к написанию своей версии "ёлочки"

Ознакомиться
Total votes 14: ↑14 and ↓0+14
Comments5

Запускаем PostgreSQL в Docker: от простого к сложному

Level of difficultyEasy
Reading time12 min
Views467K

О простых и продвинутых способах запуска PostgreSQL в Docker: добавляем healthcheck, ставим на мониторинг, настраиваем параметры.

Читать далее
Total votes 39: ↑37 and ↓2+35
Comments38

Введение в Spring Boot Actuator

Reading time10 min
Views101K
Салют, хабровчане! Уже через неделю стартуют занятия в новой группе курса «Разработчик на Spring Framework». В связи с этим делимся с вами полезным материалом в котором рассказано о том, что такое Spring Actuator и чем он может быть полезен.



  1. Что такое Spring Actuator?
  2. Как добавить Spring Actuator в проект Maven или Gradle?
  3. Создание проекта Spring Boot с зависимостью Spring Actuator.
  4. Мониторинг приложений с Spring Actuator Endpoints.
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments2

Свой личный SMS-шлюз. Часть 1 – цели, задачи, сборка и тестирование

Reading time6 min
Views63K


Представляю вам цикл статей по созданию собственного шлюза для отправки SMS-сообщений.
В первой части мы определим цели и некоторые аспекты использования своего шлюза, настроим программное обеспечение для отправки SMS с использованием USB-модемов, а также рассмотрим несколько интересных вариантов отправки
Читать дальше →
Total votes 74: ↑73 and ↓1+72
Comments62

Детальная настройка браузера Firefox

Reading time15 min
Views120K

Вот уже пару лет, как я рекомендую всем моим знакомым использовать Firefox, как браузер для повседневного серфинга в интернете. Я люблю этот браузер за его гибкость в настройке, скорость и заботу о приватности. Много раз на форумах меня спрашивали про какие-то отдельные случаи по настройке, поэтому я решил написать статью с подробным описанием настроек, как шпаргалку для себя и чтобы делится ею, в случае новых вопросов.

Надеюсь она немножко поможет в популяризации этого чудесного браузера.

Читать далее
Total votes 53: ↑50 and ↓3+47
Comments96

Как отсеивать плохих программистов. 10 лучших автоматических инструментов проверки качества кода

Reading time10 min
Views17K

Проверка технических навыков кандидатов — неотъемлемая часть IT-найма. Нужно хорошо отделить зерна от плевел. Можно сделать это заранее, посмотрев, пишет ли человек достойный код. Это умеют специальные инструменты, зачастую частично бесплатные. В этой статье мы собрали десять лучших из них.

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

Читать далее
Total votes 24: ↑9 and ↓15-6
Comments9

Модульное тестирование архитектуры Spring Boot проекта с помощью ArchUnit

Reading time5 min
Views5.5K

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

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

Поэтому важным аспектом является автоматизация этих директив в максимально возможной степени по всей архитектуре проекта, позволяющая оптимизировать проверки.

Мы можем реализовать эти рекомендации как проверяемые JUnit тесты с помощью ArchUnit. Это гарантирует, что сборка версии программного обеспечения будет прекращена в случае нарушения архитектуры.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments3

Подключение Micrometer для веб-приложения на Java

Reading time3 min
Views24K
Micrometer используется для сбора метрик приложения JVM и позволяет экспортировать данные в различные системы мониторинга. В этой статье я расскажу, как подключить Micrometer для spring web приложения и экспортировать данные в Prometheus (хороший пост о нем). Так как мое приложение написано на Spring 3, то возможности использовать Spring boot без апгрейда в нем нет. Поэтому придется поработать руками.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments0

Пришло время бесплатных сайтов

Reading time3 min
Views169K

Привет, %username%!




Сегодня многие начинающие веб-разработчики делают большую ошибку, и не одну. Они что-нибудь сверстают, а потом покупают хостинг. Далее покупают домен. Регистрируют и подключают SSL-сертификат. Я, спасаясь от минус-кармы, просто расскажу как не тратить деньги на свои тестовые проекты.
Читать дальше →
Total votes 67: ↑42 and ↓25+17
Comments97

Освободи свой Android

Reading time12 min
Views147K


Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android.

В момент выхода этой статьи я как-то не обратил на неё внимания — тема смартфонов и Андроида мне вообще не очень интересна. Потом, уже через несколько месяцев, я вновь случайно наткнулся на эту статью, вчитался, и проникся идеями, содержащимися в ней. Действительно, почему бы не стать хозяином своему собственному смартфону?

Вашему вниманию предлагается отчёт об эксперименте, проведённым мной по мотивам инструкций из вышеозначенной статьи и о том, что из всего этого может получиться.
Читать дальше →
Total votes 123: ↑115 and ↓8+107
Comments192

WexLang — мой сервис для изучения английского языка

Reading time4 min
Views25K
Здравствуйте!

В этой статье я бы хотел рассказать о проекте, над которым я работаю. Это сервис для эффективного чтения текстов на иностранных языках, а также для совместного чтения, обмена опытом и помощи друг другу в изучении языков.
Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments57

Асинхронное программирование в приложениях ASP.NET MVC 4

Reading time6 min
Views42K
Прочитав статью об изучении MVC и увидев комментарий пользователя RouR, я очень заинтересовался данной темой, ну и на ходу решил перевести указанную им оригинальную статью.

Если и тебе, дорогой хабражитель, это интересно — прошу под кат!

«Я попробую показать вам, что нового несет в себе C# 5.0 с точки зрения асинхронного программирования при использовании ключевого слова await. Особенно для веб-приложений ASP.NET MVC 4.»

Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments12

Information

Rating
Does not participate
Location
Ярославль, Ярославская обл., Россия
Date of birth
Registered
Activity