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)

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

pfg ★★★★★
()

И наконец, при помощи вокодера.

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

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

Думаешь, я программист? 😃 Хорошо, так что этим плагином-то делать?
Вы все ж знатоки тут, и тут даже программировать не надо, лишь понять, как его использовать

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

Спасибо. Короче, я к чему: если преобразование обратимое, менты тебя крутят в минус три погибели в один присест. Если необратимое, но достаточно очевидное и беспотерьное — могут повторить и устроить опознание. Буквы из газеток тоже надо с умом резать.

t184256 ★★★★★
()
Ответ на: удаленный комментарий

товарищъ вовседырызнающий ананист, зажги нам про подробности :)
набор амплитуд останется, так что собранный из них результат будет неплохо совпадать с АЧХ говоримых буковок, а вот идентификация голоса будет, да - каша-кашей :) шо сопственно и требуетца.

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

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

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

ну и ещё амплитудная модуляция размером окна:

# большой размер окна, ~1 сек (максимальный для ffmpeg - 131072)
ffplay -af afftfilt=real="'hypot(re,im)'":imag=0:overlap=1:win_size=48000 audio.flac

# маленький размер окна, ~25е-3 сек
ffplay -af afftfilt=real="'hypot(re,im)'":imag=0:overlap=1:win_size=1200 audio.flac

https://ffmpeg.org/ffmpeg-filters.html#afftfilt

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

Ну что вы тут все городите, вам же говорят - реалтаймовый, риал-таймовый!

Иначе как вы себе представляете разговор с собеседником?

И - офлайновый, иначе какая тут в Красну Армию анонимизация?

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

попробуй у витьюберов поспрашивать, они должны знать.

Ничего там не понял. Кто такие «витьюберы» вообще? Лучше по английски этот диковинный термин

chukcha ★★★★★
() автор топика

Эх, там всё сложнее. Кроме того что голос определяется после всех ваших искажений (обратные тоже есть как бы), ещё и по содержимому можно узнавать конкретного персонажа (гуглить в сторону определения авторства текстов). Так что тебе 3 нейронки надо. Первая речь в текст, вторая перефразированием текста занимается, третья озвучкой. На то чтоб оно в реальном времени работало, ну я хз честно, не получится с перефразированием, буфер надо или чтоб целиком ии говорил.

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

Об этом в самом начале я и написал:

2) «Паровозик» из программы, которая превращает голос в текст, и затем синтезатором текста в голос.

Только перефразирование мне не нужно, это лишнее.

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

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

Генерация голоса (комментарий)

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

baja

купи себе нвидию, затем построй схему из stt (whisper) в tts (тут на выбор от tortoise-tts до чего угодно)

Насчет подобных неофициальных возможностей Нвидий в курсе.
Только самостоятелно построить stt и tts, конечно, не смогу. Готовые решения есть?
Рассмотрел бы их с пребольшим интересом! 😁

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

foxy_ant

Посмотри, может прикрутить аудиоэффекты к сигналу с микрофонного входа будет проще: https://youtu.be/JtMSLkolITE?si=ie6xwsso3Kx4elbi

Вау, как интересно! 😁 И голос вроде как синтезированный, но качественный. А что это вообще такое? По аглицки не понял...

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

А что это вообще такое? По аглицки не понял…

«это» - это что? на видео, как раз пример, чего ты хочешь, только вместо вокодера он воткнул плагины реверб и де-эссер

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

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

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

baja

купи себе нвидию, затем построй схему из stt (whisper) в tts (тут на выбор от tortoise-tts до чего угодно)

Вот эта технология мне жутко понравилась! 👍
Она уж точно гарантирует невзламываемость вклада голоса!

Готов даже купить недорогую Нвидию, только что потом с ней делать?
Надо же готовое решение...

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

Я надеюсь, что использование вокодера гарантирует необратимость распознавания голоса - я ошибаюсь?

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

Чудненько! Налету, т.е. риалтайм - это то, что надо!
Только опять-таки, как в этом способе насчет необратимости распознавания голоса - гарантируется?

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

насчет необратимости распознавания голоса - гарантируется?

Вот здесь ничего не скажу. Вокодер, конечно, явно лучше программных фильтров. Если для Вас нераспознаваемость - главная задача, то придется самому писать обвязку между вокодером, который Вы нашли и ALSA (JACK, PipeWire, PulseAudio).

foxy_ant ★★
()
Ответ на: комментарий от quantum-troll

Сколько всего нового и интересного узнал в этой теме, всем большое спасибо! 👍
Поэтому тема продолжается 😃

Нейронки, говорите? А что оно такое, с чем его едят?
Наверное, это онлайн нейронки, у которых есть свое API, или можно смастерить свою на коленках, к примеру, на той же Нвидии?

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

Поленился сходить по Вашим ссылкам, извините. Мне это не нужно, пожалуйста подробнее напишите для топикстартера как Вы видите решение вопроса.

«Ей-богу» - это совсем не ко мне.

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

да, это всё по большей части к ТС относится

ибо, на его утверждение

программных вокодеров практически нет, нашелся только один

я привёл пруф-опровержение, но он его упорно игнорирует

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

Ну конечно газификация луж на лоре это более полезное занятие, чем разработка онтопика,

Класс! Ваша шутка товарищу майору мне очень понравилась! 😂

chukcha ★★★★★
() автор топика