LINUX.ORG.RU

Вокодер для анонимизации.

 changevoice, vocoder,


0

1

Голоса, разумеется. Понадобилось, чтобы поговорить, например, с вами, но так, чтобы вы не узнали во мне, например, Азирова 😂
Погулил на нашем сайте и в сети. Программулинок всяких для изменения голоса, или имитирующих чужие голоса, полным полно, в основном под мастдайку.
Но насколько понял, это несерьезные поделки, из них восстановить оригинальный голос возможно, иногда даже простым изменением тона.

В итоге понял, что есть только 3 «невзламываемых» варианта -

1) На основе синтезаторов голоса из текста, как офлайновых, так и онлайновых, например -
_https://apihost.ru/voice , _https://cpa.rip/services/texttospeech/
В онлайновых синтезаторах качество голоса весьма высокое, но для нормального ведения разговора нужно уметь очень быстро набирать текст на клаве, так что увы, это не real-time.

2) «Паровозик» из программы, которая превращает голос в текст, и затем синтезатором текста в голос.
Но увы, качественных распознавателей голоса на горизонте не наблюдается. Пробовал распознавать при помощи Skype - просто мрак...

3) И наконец, при помощи вокодера. С ним, казалось бы, порядок - он генерирует измененный звук прямо с микрофона, так что с real-time порядок, вспомогательных программ не требуется.
Но и тут есть проблема - программных вокодеров практически нет, нашелся только один - lv2vocoder -


Плагин вокодера LV2

Возможно, вы не знаете, что такое вокодер, но я уверен, что вы слышали раньше. Вокодеры часто используются, чтобы добавить эффект «робота» с вокалом в музыке. Счастливые роботы используют Linux и LV2!

Этот плагин для вокодера имеет 2 аудиовхода и 1 выход. Первый вход - это «формантный» сигнал, которым обычно является чей-то голос. Второй входной сигнал - это «несущий» сигнал, который представляет собой своего рода непрерывный синтезаторный звук. «Несущий» сигнал модулируется до «Форманты».

Имеется несколько портов управления. Первый - это «Количество диапазонов », то есть количество используемых частотных диапазонов (текущий максимум равен 16). Остальные элементы управления устанавливают уровень для каждого отдельного диапазона и должны иметь значение от 0.0 до 1.0. Полосы с нижними номерами имеют меньшую частоту. Полосы с более высокими номерами имеют большую частоту.


Интересно бы поюзать этот плагин, только гугл не дает никаких подсказок, как его вообще использовать. Надеюсь на знатоков 😃

★★★★★

Последнее исправление: chukcha (всего исправлений: 6)
Ответ на: комментарий от anonymous

А я пока презентую вам новую находку - TAL-Vocoder

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

Кто в теме, подсобите, плиз, с quick start!

chukcha ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Ну как, как - когда ни одна из готовых сборок от криворуких нормально не заработала, пришлось таки компилять, чего терпеть не могу.
А компилять было не на чем, кроме Малинки-3, на ней и компильнул на Raspbian.
Еще надо было добавит уйму пакетов, все описано на Гитхабе.

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

В итоге самосборная Carla запустилась.
Но еще не заработала, пришлось долго подбирать эти грёбаные пульсы, пайпваре, джеки и прочую фигню.
Уже не помню, чего я там с ними нагородил, но в итоге, когда соединил вход с выходом, услышал свой голос с микрофона! 👍
Хотя да, сначала ничего не услышал. Оказалось, что звук от микрофона едва слышен, надо дополнительно подкрутить усиление.

Это уже была половина успеха. Звук, правда, был некачественный, не такой, как слушаешь Ютуб, наверное причина в особенностях реализации Карлы.

Добавил плагины Calf и соорудил схему с Calf Vocoder имени CrX, только без Firefox.
Имена входа и выхода тоже были другие, условные, этот вопрос уже, наверное, к Raspbian.

Но и это еще не все! Звук от микрофона запаздывал аж на .... 12 секунд! 😲
Хотя если только запустить Карлу с этой схемой, звук запаздывает на пол-секунды, но стоит только шевельнуть какие-то настройки Calf Vocoder, звук тут же начинает запаздывать.
Вот вам и Малинка...

Но и это тоже еще не все! Оказалось. что звук по такой схеме ужасающий - какое-то неразборчивое мерзкое бубнение.
Понятно, что это из-за неправильной вокодерной схемы CrX, в которой на входы Sidechain подается тот же звук, что и на аудиовходы.

А по науке надо подавать на них какой-то синхросигнал - какой? И где его взять?



kott, я доступно объяснил? 😜

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 4)
Ответ на: комментарий от chukcha

звук запаздывает на пол-секунды

Полсекунды — это никуда не годится. Ставь Jack, запускай его и плагин с рилтайм приоритетом и задержка будет порядка единиц миллисекунд. Возможно.

В qjackctl есть интерфейс, похожий на Карлу, чтобы «соединять проводки». Но чтобы плагин появился в интерфейсе, его сперва надо запустить с Джеком в качестве хоста. Некоторые плагины «из коробки» имеют поддержку Jack, для других же нужна обёртка вроде jalv (для LV2-плагинов).

А по науке надо подавать на них какой-то синхросигнал - какой? И где его взять?

Соединять надо вот так: https://0x0.st/XHye.png Для несущей можно выбрать, например, белый шум или какой-то насыщенный гармониками музыкальный источник. Такой сигнал тоже откуда-то надо брать, из другого плагина или синтезатора. Белый шум можно сгенерировать через sox:

AUDIODEV=jack play -t alsa -n synth noise
anonymous
()
Ответ на: комментарий от anonymous

Да ставил уже джек и всякую всячину, и звук или не работает, или работает, как описано.
Ясно, что на Малинке далеко не уедешь, и это печально.

Ща попробую все это установить на виртуалке.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от anonymous

VirtualBox установил, а вот расширение VirtualBox_Extension_Pack ну никак не устанавливается, с ним часто возникают проблемы.

Пока оставил возню с ним и переключился на компиляцию Карлы.
Но и тут возникла проблема - если в Rapsbian компиляция завершилась успешно, то в Debian возникает ошибка:

$ make
make: cc: Нет такого файла или каталога
make[1]: вход в каталог «/home/user/Carla/source/backend/engine»
make[1]: cc: Нет такого файла или каталога
Compiling CarlaEngine.cpp
make[1]: g++: Нет такого файла или каталога
make[1]: *** [Makefile:151: ../../../build/backend/Release/CarlaEngine.cpp.o] Ошибка 127
make[1]: выход из каталога «/home/user/Carla/source/backend/engine»
make: *** [Makefile:106: /home/user/Carla/build/modules/Release/carla_engine.a] Ошибка 2
make, cmake и gettext установлены, хрен его знает, что ему еще надо.
Поэтому и ненавижу компиляцию! 😡

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Да хоть TSV - как с ним работать-то?

почитай инструкцию хоть раз, что ли

но на всякий случай - там бинарник только x86_64
старая, но опенсорсная версия есть здесь https://github.com/DISTRHO/DISTRHO-Ports

kott ★★★★★
()
Ответ на: комментарий от kott

Здесь написано, что нет какого-то файла или каталога, а какого - хз.
Что такое g++ - без малейшего понятия.
Я и так уже установил make, cmake, так что, еще что-то надо??

chukcha ★★★★★
() автор топика
Ответ на: комментарий от kott

Идиотское название приложения - g, да еще 2 плюса.
Что, нельзя было нормальное человеческое название дать??
Пороть надо розгами этих извращенцев-сишников! 😡

За то, что не выучили уроки дядюшки Никлауса Вирта и не поняли, что самые лучше языки в мире - это Pascal, Modula, Ada и им подобные.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

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

Попробовал для make ключик -s , чтобы не видеть эту хрень - ни фига не помог.

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

Почему сишники до сих до такого не додумались?
Вернее, тут и думать не надо, просто повторить этот подход и все!

chukcha ★★★★★
() автор топика
Ответ на: комментарий от kott

Короче, скомпилял. На виртуалке теперь Карла запускается моментально.
Звук микрофона по bypass проходит, слышно, так что приступаю к экскрементам

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

Файрфокс, негодник, по--прежнему не появляется...

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

вот на хрена во время компиляции по экрану непрерывно бежит подробная хрень

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

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Хм. А что, разве нельзя выполнить компиляцию до конца молча, а потом выложить итоги этих предупреждений в нормальном человеческом виде?
Все ведь равно это скоростное кино бесполезно для восприятия человека.
И заранее предупреждать смысла нет, когда такое случится, тогда пусть и сообщит.

Да, и как добиться молчаливой компиляции, почему ключик -s не работает?

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 2)
Ответ на: комментарий от vbcnthfkmnth123

Смотреть в реальном времени удобнее.

Смотреть на что - как с большой скоростью проносятся строки? Это да! 😄

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

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от anonymous

anonymous
Наверное, не заметил поэтому еще раз тебе тот же вопрос:

Дружище, ты часом тут ничего не попутал?
Может все-таки нужно Микрофон подавать на In, а Синхро на sidechain?


И откуда ты откопал модуль White Noise?
У себя такого не нахожу

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Дружище, ты часом тут ничего не попутал? Может все-таки нужно Микрофон подавать на In, а Синхро на sidechain?

Нет. Несущая идёт на In, а модулирующий сигнал на Sidechain. В Calf Vocoder названия портов не очевидны, к сожалению.

И откуда ты откопал модуль White Noise?

Пример через play я показывал. Так можно звук из любой программы в Jack направить. Хотя для этого есть более каноничные способы. А ещё у меня есть LV2-плагин, который называется Test Signal из пакета x42, в нём есть генератор шума. И в пакете плагинов LSP есть Noise Generator; эти плагины могут работать с Джеком напрямую, кстати.

anonymous
()
Ответ на: комментарий от anonymous

Несущая идёт на In, а модулирующий сигнал на Sidechain.

Ок, тогда что ты понимаешь под несущей и модулирующим сигналом?
Я понимаю под несущей вспомогательный сигнал (к примеру, твой белый шум), а под модулирующим сигналом основной сигнал (например, с микрофона).

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

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Я понимаю под несущей вспомогательный сигнал (к примеру, твой белый шум), а под модулирующим сигналом основной сигнал (например, с микрофона).

Да, я понимаю также.

где бы почитать про грамотные приемы работы с вокодером?

На Ютубе? Вот первое попавшееся видео, вроде нормально теория разжёвана.

anonymous
()
Ответ на: комментарий от chukcha

Возвращаемся к нашим баранам :=)

А я пока презентую вам новую находку - TAL-Vocoder

Значит, это VST плагин. Внутри 3 его вариации - VST-3, VST-2 и CLAP.

От VST-3 Clara сегфолится.
От VST-2 Clara запускается, но как настроить этот TAL-Vocoder, непонятно, метод для Calf Vocoder для него не срабатывает, звука нет.
CLAP для Клары, похоже, неизвестен.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Сейчас установлена PulseAudio, которая дает большую задержку звука.
Что лучше для Клары - PipeWire или JACK?

И как бы правильно настроить лучший из них, чтобы снова не наломать дров?

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Что лучше для Клары - PipeWire или JACK?

Не знаю. Говорят, что в PW задержка маленькая, но я не проверял.

VST плагин

Попробуй через какой-нибудь DAW запустить, типа Ardour или Reaper.

anonymous
()
Ответ на: комментарий от th3m3

Можно заюзать SunVox.

А он чем-то лучше Клары? Которая меня уже изрядно утомила, потому что уже который день не могу найти для нее плагины Белого Шума или чего-то подобного в качестве несущей, для Вокодера.
Облазил предложенные здесь ссылки, но ничего подобного не нахожу.

Во-вторых, Клара - это хост, ориентированный в основном для музыкантов, и для них там много чего есть, включая MIDI.

И наоборот для меня, пытающегося соорудить ChangeVoice на основе Вокодера или на чему-то другом, так в ней практически нет такого, даже генератора белого шума.

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

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

В последнее время мне уже кажется, что Клара или ей подобные софты для музыкантов в плане получения ChangeVoice - тупиковое направление, нужна специализированная софтина.
Но-что такие не попадаются 😥

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

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

Тоже имеет место быть.

anonymous
()
Ответ на: комментарий от anonymous

Мы все в каждый момент времени можем действовать с некоторой окраской эмоций, под воздействием воли или наоборот слабости.

Это всё равно мы.

А субличности - это уже к психологу.

anonymous
()
Ответ на: комментарий от anonymous

Аппаратные, профессиональные - да, рассматривал. Но они в виде чумудана и стоимость соответствующая.

А изменения голоса в акустическом канале в век электроники и софта это несерьезное, к тому же не гибкое решение.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Ну тогда гуглинг, изучение документации тебе в помощь.

Можешь, конечно, опять написать в итоге, что эти проекты плохие и авторы не сделали так, как тебе нужно.

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

Варианты решений есть и не все они в программной плоскости.

anonymous
()