Форум программистов, компьютерный форум, киберфорум
Jin X
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

«Карла и Джек – слаженный дуэт» или «Караоке Home Edition»

Запись от Jin X размещена 27.10.2018 в 09:44
Показов 5817 Комментарии 2

«Карла и Джек – слаженный дуэт» или «Караоке Home Edition»

Коля любит Олю, Оля любит мамбу, а я люблю петь 🎤. Громко, долго и "с огоньком". От зарубежного рока (преимущественно) до... русской попсы ладно, не будем углубляться, потому как речь в этой статье пойдёт не столько обо мне, сколько о реализации данного процесса своими силами.

Любители пева


Караоке-ресторан – дело хорошее, но это не всегда удобно, тем более, что сие развлечение можно организовать и дома при наличии достаточного технического оснащения.
Так что, если вы тоже любите затянуть нотку повыше, вам понадобятся:
  • Компьютер с некоторыми установленными программами (о которых ниже).
  • Звуковая карта/USB-аудиоинтерфейс с поддержкой ASIO. В крайнем случае можно воспользоваться драйвером ASIO4ALL, правда, я его использовал очень давно, ещё с картой SB а-ля AWE32 и не проверял в связке с описываемым ниже софтом, поэтому не знаю, будет ли он работать и с какими задержками – если попробуете, отпишитесь в комментах, плиз. В принципе, JACK (это прога такая, см. ниже) может работать и без него, но большие задержки в этом случае неминуемы – петь в таких условиях будет нереально ужасно , а с ASIO4ALL хоть есть шанс на спасение. I have Focusrite Scarlett 2i4 (ссылка на 2-е поколение, хотя у меня 1-е... зато я успел урвать его вместе с миком, когда всё это счастье стоило в 2 раза дешевле ).
  • Вокальный динамический микрофон. Не Defender за 500 руб, а что-нибудь получше, иначе такое караоке будет не в радость ни вам, ни ближнему вашему. Желательно также, чтобы микрофон имел [супер]кардиоидную диаграмму направленности, а не был всенаправленным, иначе будете ловить обратку (свист). Конденсаторный микрофон я бы для караоке тоже брать не стал (а если на вашей звуковухе нет фантомного питания 48 В, то о нём вообще лучше пока забыть). I have Shure beta 58a (классика, собственно, как и более приемлемый по цене Shure SM58 (есть вариант с переключателем вкл/выкл); кстати, эти 2 микрофона чаще других мелькают в телеке). Думаю, и ежу понятно, что разъём кабеля (который, к слову, обычно покупается отдельно) должен подходить к разъёму вашей звуковухи, учитывая балансность (обычно используется XLR или балансный TRS 6.35 мм (¼"), он же большой джек, которых в "игровых" звуковухах типа Creative Sound Blaster нет, а проф/полупроф быть непременно должны).
  • Акустическая система (активная, либо с отдельно стоящим усилителем). Компьютерные колонки среднего калибра (50+ Вт) тоже сгодятся, но для полного счастья (вам же нужно полное?) лучше иметь что-то получше. К сожалению, моё счастье тоже неполное, но этот недочёт я обязательно исправлю .
  • Минусовки, скаченные, например, с x-minus.me (там обычно всё есть), b-track.ru, muzmix.com или... vk.com (со словами "минус", "minus", "караоке", "karaoke", "instrumental"; надеюсь, о существовании браузерного плагина VkOpt, который поможет скачать аудио, вы знаете?) Есть ещё варианты, о которых я расскажу чуть позже
Шутить про хорошее настроение и компанию (при желании) я уж не буду – с этим, думаю, вы разберётесь сами. Акустические характеристики и отделку комнаты тоже опустим

Давай помягче!

С хардом мы более или менее разобрались, теперь перейдём к софту. Хм, а что, замечательного "проигрывателя Windows Media" недостаточно? Во-первых, нам нужно выводить наши поступающие в микрофон голосовые вибрации наружу (в колонки), чтобы радовать соседей. Но с этим многие аудиоинтерфейсы справляются и без софта; хотя я не знаю, что у вас за звуковуха. Во-вторых, чтобы придать голосу объёма (и почувствовать себя как минимум Фредди Меркьюри, требующим продолжение банкета шоу, или Энрико Карузо в кафедральном соборе – смотря кто вам ближе) необходимо наложить полтонны ревера, дилея подлиннее и тремоло.

Вариантов тут несколько, но я расскажу об одном (а вы можете поделиться своими в комментах... вы же поделитесь?) Для "придания объёма" и чтоб "просто баловаться" по полной я вообще хотел купить вокальный процессор вроде TC Helicon VoiceLive Play), но ради экономии 20 килорублей решил сперва поинтересоваться софтовыми вариантами реализации предоставляемых этим девайсом фич. И вот что я нашёл (вернее, подсказали):
  • JACK Audio Connection Kit (Windows, Linux, macOS; freeware). Википедия называет его "звуковым сервер-демоном" . По факту же это нечто вроде драйвера, предоставляющего API-интерфейс для соединения хардовых и софтовых устройств. С его помощью можно соединить вход и выход с минимальной задержкой. Но нам же нужны ещё спецэффекты! С помощью JACK'а их тоже можно "подрубить" где-то посередине, осталось их только где-то взять.
  • Carla (Windows, Linux, macOS; freeware). Хост аудиоплагинов. Нам он пригодится для подключения в цепь VST-плагинов.
  • VST-плагин для добавления вокальных эффектов. Например, iZotope Nectar (Windows, macOS(?); shareware). В общем-то, всего 200 баксов (ой, пардон, 199) и лицензия ваша! Но сначала его можно try-нуть!
  • AIMP (Windows; freeware). Аудиоплеер (для воспроизведения минусовок). Опционально. Нравится "проигрыватель Windows Media" – не вопрос, пользуйтесь. Если у вас не Windows – подберите удобный вам плеер сами.
  • KaraFun Player (Windows, macOS; freemium). Караоке-плеер. Тоже опционально. Воспроизводит файлы формата KFN, CDG (а также MP3, KAR и многие другие) – караоке-файлы, содержащие в себе минусовки формата MP3 и синхронизированные тексты (KFN – всё в одном файле, CDG – дополнение к MP3); их можно найти на торрентах, купить на сайтах вроде этого (не пользовался) и пр. Основной функционал программы бесплатен, но по подписке открывается доступ к официальной караоке-базе.

Что теперь со всем этим добром делать?

Покупки сделаны. Железяки соединены. Софт установлен. Минусовки скачены. Компьютер включен. Микрофон в руке. Рот открыт.
Стоп, стоп, стоп! Закройте рот и положите микрофон. Сначала нужно настроить софт. Повторяйте за мной.
  1. Запускаем JACK.

    • Нажимаем на кнопку "Setup". Проверяем драйвер и интерфейс (устройство). У меня на Windows выбран драйвер (Driver) "portaudio" (он идёт с JACK'ом в комплекте), интерфейс (Interface) – "ASIO::Focusrite USB ASIO" (у вас будет свой, но обязательно должно быть выбрано ASIO, иначе будут очень большие задержки, т.е. слышать себя вы будете не сразу, а после "небольшой" паузы; соседи будут думать, что у вас проблемы с чувством ритма, хотя дело совсем не в вас). Sample rate – пусть будет 48000 Гц (можете выбрать 96000, если руки чешутся), Frames/Period (кол-во семплов на цикл ввода-вывода аудио) я поставил на 32 (попробуйте так же, но если будут проблемы – потрескивания, – увеличьте этот параметр, остальное трогать не надо). Настройка кол-ва циклов на буфер (Periods/Buffer) мне недоступна (там стоит 2). Справа снизу на основании этих данных будет указана задержка (Latency); значение 1.33 миллисекунды меня вполне устраивает (задержки до 10 мс незаметны на слух (почти), но больше 20 мс уже создают дискомфорт). Галочка напротив Realtime у меня стоит (хотя я её отключал – всё работает, но хуже не будет). Остальные настройки нас не интересуют (а если интересуют, копайтесь сами на свой страх и риск или читайте мануалы). Нажимаем "OK" для сохранения настроек. Больше эти манипуляции нам не понадобятся, настройки автоматически подгрузятся при следующем запуске.


    • Нажимаем на "Start". Говорим в микрофон и... ничего не слышим. Может, нужно громче кричать, дуть, стучать ладонью? Прибавить громкость микрофона (чувствительность аудиовхода)! Не помогает. Наверное, мы не включили колонки! Нет, включили. Прибавим громкость на всю! Тишина... Jin X нас обманул! Столько денег и времени потрачено впустую! Расслабьтесь, никакого обмана. Мы пока ещё не соединили устройства друг с другом. Сначала верните громкость на прежнее место (а лучше сделайте ещё тише) и положите микрофон подальше от колонок, иначе после подключения ваш мозг взорвётся от обратной свистящей связи.

      Посмотрите на главное окно JACK'а, там есть кнопка "Connect". Если нажать на неё, откроется окно соединений; слева и справа вы увидите порты и клиентов (я буду называть их каналами) для ввода-вывода, которые можно соединять между собой. Если не видите, то либо не нажали на "Start", либо нужно просто раскрыть группу каналов. Группа "system" – это основные входы и выходы звуковой карты. Каждый канал (левый, правый и пр.) отображается отдельно. Если вы соедините (drag'n'drop) capture_1 сразу с playback_1 и с playback_2 (при условии, что микрофон воткнут в первый разъём звуковухи), то услышите себя в колонках. Нет смысла соединять capture_1 с playback_1, а capture_2 с playback_2, иначе вы услышите себя только в одной колонке, потому что у вас моно-источник звука (микрофон), и он воткнут в один разъём аудиокарты; соединяйте capture_1 с обоими аудиовыходами. Если вы снова себя не слышите, самое время кричать, дуть, стучать, включать колонки, прибавлять громкости и чувствительности... Ну что ж, побаловались и хватит. Отсоединяем (кнопкой "Disconnect All").


  2. Запускаем Carla (JACK должен быть включен – кнопка "Start").

    • В окне соединений JACK'а (кнопка "Connect") появится группа "Carla". Не появилась? Тогда жмите на кнопку "Configure Carla" на панели инструментов (или ищите такой пункт в меню "Settings"), затем переходите на вкладку "Engine" и в поле Audio driver выбирайте "JACK". В поле Process mode пусть будет "Patchbay". Перейдите заодно и на вкладку "Paths" и проверьте – имеется ли в списке путь к папке с вашем VST-плагином (iZotope Nectar или что вы там установили?) или к одной из её родительских папок (не забудьте выбрать "VST" в выпадающем списке над списком путей). Сохраняем настройки. Перезапускаем Carla.


    • Переходим к JACK'у, а конкретно к окну соединений (кнопка "Connect" – последний раз повторяю). Соединяем system/capture_1 сразу с 2-мя каналами: Carla/audio-in1 и Carla/audio-in2 (можно перетащить канал capture_1 сразу на группу Carla). Затем соединяем Carla/audio-out1 с system/playback_1, а Carla/audio-out2 – с system/playback_2. См. скриншот.


    • Возвращаемся к Carla. Обращаем внимание на центральное поле. Сверху есть 2 вкладки: "Rack" и "Patchbay". Выбираем "Rack" (в общем-то, она уже и так должна быть активна). Чуть выше жмём кнопку "Add Plugin". Выбираем нужный плагин, затем "Add Plugin". Если плагина нет, воспользуйтесь кнопкой "Refresh" и затем "Scan" (галочка напротив "VST" должна быть установлена). После добавления плагина в верхней части рабочего поля должна появиться rack-панель плагина. При желании можно добавлять сколько угодно плагинов.


      К настройке плагинов перейдём чуть позже, а пока нажмите на вкладку "Patchbay" и переместитесь (с помощью ползунков, средней кнопки мыши или карты в левом нижнем углу) к панелям с устройствами. Соединяем поканально "Audio Input" с "iZotope Nectar 2" (или какой плагин у вас установлен?), а "iZotope Nectar 2" – с "Audio Output". Т.к. в JACK на оба входа Carla/audio-in идёт system/capture_1, то мы можем использовать и левый (Left) и правый (Right) выводы "Audio Input", но я всё равно использую один левый (ниже расскажу почему; в общем-то, нетрудно догадаться, что присоединить один левый канал можно как в настройках соединений JACK, так и в Patchbay Carla, либо и там, и там – эффект будет один и тот же). Теперь вы снова должны услышать себя в колонках (надеюсь, вы не додумались положить микрофон рядом с динамиком?)


      Вернёмся ко вкладке "Rack" и настроим плагин. Для этого можно либо крутить ручки rack-панели плагина, либо нажать на шестерёнку, чтобы открыть его графический интерфейс. Что касается Nectar, то вариант с шестерёнкой, уверен, вам понравится больше. Здесь вы сможете выбрать уже готовый preset, либо настроить параметры самостоятельно (лично мне удобнее это делать в режиме "Advanced", переключиться на который можно кнопкой "Overview", расположенной внизу слева). Для регулировки общего (мастер) соотношения "Dry/Wet" (необработанного и обработанного звука), а также громкости ("Volume") воспользуйтесь соответствующими регулировками в правой части rack-панели плагина (картинка выше).


  3. Если вы не хотите испытывать радость настройки всей этой системы каждый раз, рекомендую сохранить конфигурацию с помощью кнопки "Save" на панели управления Carla. В следующий раз вам нужно будет лишь:
    • запустить JACK и нажать на "Start";
    • запустить Carla, нажать "Open", выбрать сохранённый файл и шлёпнуть "Открыть".
    • включить плеер ("AIMP", "KaraFun Player" или чудесный "проигрыватель Windows Media" ) и петь в своё удовольствие!

    Всё! Файл с расширением CARXP содержит настройки соединений JACK'а, настройки Carla: соединений Patchbay, все панели Rack (список добавленных плагинов) и настройки VST-плагинов.
    Разве это не здорово?!

А как же нюансы?

Нюансы есть, куда же без них? Расскажу о некоторых:
  • Нюанс номер раз. Если вы будете использовать несколько VST-плагинов, то соединять их можно как последовательно (т.е. Audio Input → Plugin1 → Plugin2 → Audio Output), так и параллельно (Audio Input → Plugin1 → Audio Output; Audio Input → Plugin2 → Audio Output). Разница в том, что при последовательном соединении отключение одного (любого) из плагинов (кнопочкой вкл/выкл на rack-панели) приведёт к обрыву всей цепи и отключению звука (голоса) с микрофона. При параллельном соединении такое будет только в том случае, если вы отключите ВСЕ плагины. Можно, конечно, соединить ещё и Audio Input → Audio Output напрямую, но тогда будет подмешиваться необработанный голос, громкость которого даже не получится отрегулировать отдельно. Кроме того, при последовательном соединении каждый следующий плагин будет получать не "сырой" голос, а обработанный предыдущим. При параллельном соединении каждый плагин будет обрабатывать "сырой" голос, а затем выводить его на микшер, при этом (АХТУНГ!) громкость будет выше, чем при последовательном соединении, т.к. звук будет суммироваться с выводов каждого плагина (при отключении отдельных плагинов громкость, соответственно, будет снижаться). Лично мне последовательное соединение кажется более логичным. А для отключения можно использовать функцию "Bypass", которая вызывается через меню по нажатию правой кнопкой мыши на rack-панели плагина (при этом ручка "Dry/Wet" будет выкручена максимально влево, и плагин будет просто пропускать звук дальше, не искажая его).

  • Нюанс номер два. По идее, можно обойтись вообще без JACK'а (WHAT??? ). Для этого в настройках Carla ("Configure Carla" → "Engine" → "Audio driver") нужно выбрать "ASIO". Но! Лично у меня в этом случае (как ни парадоксально) возникают артефакты (в частности, если петь/говорить близко к микрофону, внезапно возникает шум как при сильном перегрузе). Тем не менее, именно на такой всякий случай (если вдруг по какой-то причине мне понадобится использовать именно ASIO-драйвер в Carla) я и соединил только левый "Audio Input" с VST-плагином в Patchbay).

  • Нюанс номер три (от Капитана Очевидности, очень просил передать). Иногда у Carla бывают особые дни глюки (например, на плагин не поступает звук, хотя всё настроено правильно). Просто перезапустите её. Одну либо вместе с JACK'ом. И ваши волосы будут мягкими и шелковистыми всё должно встать на свои места.

Дополнение (добавлено 21.01.2019)
  • Если вы хотите подключить 2 микрофона (да ещё и петь в оба), делайте так:


    (оба system/capture_1 и system/capture_2 соединяются с обоими Carla/audio-in1 и Carla/audio-in2). В Carla ничего менять не надо (т.к. оба канала – левый и правый – содержат одно и то же).
    p.s. На самом деле, вариантов соединения тут много, так что просто сделайте так и не парьтесь. Помните только, что при смене кол-ва микрофонов (вернее, при загрузке нового файла с параметрами Carla) программу JACK лучше перезапустить (иначе старые соединения тоже останутся).

  • Просто напоминание: если будут потрескивания (или сильный треск), увеличьте значение параметра Frames/Period в настройках JACK и перезапустите его.

Теперь точно спою!

Как я уже говорил, это далеко не единственный способ организовать караоке дома, но на мой взгляд, способ довольно удобный. Настроив раз, можно быстро запустить и пользоваться во благо процветания отечественной (и не только) музыкальной культуры!
Радостного вам пения, мой вокальный друг! И побольше подпевающих (а не стучащих по батареям) фанатов за стенами
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 2
Комментарии
  1. Старый комментарий
    Аватар для mik-a-el
    Вешайтесь, соседи))
    Запись от mik-a-el размещена 29.10.2018 в 14:33 mik-a-el вне форума
  2. Старый комментарий
    Аватар для Jin X
    Добавил "дополнение" про подключение 2-х микрофонов
    Запись от Jin X размещена 21.01.2019 в 19:58 Jin X вне форума
 
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru