Чи є спосіб модулювати мій голос на льоту?


15

Мені потрібен спосіб модулювати свій голос на ходу (знижувати або підвищувати крок тощо, для конфіденційності) для використання в Mumble, TeamSpeak та інших подібних програмах. Чи можливо це зробити під Linux / Ubuntu?

Я знайшов пару можливих програм під Windows, і, якщо потрібно, я міг би запускати Mumble, TeamSpeak тощо під VirtualBox / Wine разом з модулятором, але я б вважав за краще використовувати Linux, хоча я не зміг знайти жодного рідного програми для Linux, які можуть це зробити під час мого швидкого пошуку в Google.

Відповіді:


23
  1. Встановіть необхідне програмне забезпечення:

    sudo apt-get install sox libsox-fmt-pulse pavucontrol
    
  2. Зробіть нульову раковину в pulseaudio:

    pactl load-module module-null-sink
    
  3. Почніть soxзапис із записуючого пристрою за замовчуванням (джерело за замовчуванням) та виведіть на нульову раковину:

    sox -t pulseaudio default -t pulseaudio null pitch -800
    

    (Якщо ви не хочете , щоб запис з джерела за замовчуванням, змініть вищенаведену команду відповідно) . У -800в наведеній вище команді є бажаним зміна тону, ви можете змінити це значення , як ви хочете, наприклад -300, +200, +500і т.д .. soxтакож є деякі інші "ефекти", крім зміни тону, які можна застосувати до аудіо, ви можете перевірити їх man sox.

  4. Запустіть програму зйомки (Skype, Teamspeak тощо).

  5. Старт pavucontrol.

  6. Поки ви захоплюєте програму, намагаєтеся її захопити, вона з’явиться pavucontrolна вкладці Запис. Змініть джерело запису із замовчуванням на Monitor of Null Output .

    налаштування pavucontrol

  7. Перевірте результати, це повинно працювати.

Примітки:

  1. Ви можете змусити pulseaudio завантажувати нульову раковину автоматично, якщо ви редагуєте /etc/pulse/default.paфайл і додаєте наступний рядок до кінця цього файлу:

    load-module module-null-sink
    
  2. Зміни, які ви вносите pavucontrol, запам'ятаються, тому наступного разу, коли ви запустите програму зйомки, вона автоматично спробує записати з нульового мийки. Якщо для вас це не в порядку, просто поверніть джерело до типового, pavucontrolколи вам потрібно.

  3. Якщо ви віддаєте перевагу термінальному способу: Ви можете встановити джерело запису для програми захоплення в терміналі (без використання pavucontrol), якщо PULSE_SOURCEправильно запустити програму зі встановленою змінною. Наприклад, щоб запустити скайп-запис із джерела монітора нульової раковини:

    PULSE_SOURCE=null.monitor skype
    
  4. Зміна висоти голосу не дає вам дуже гарної конфіденційності:

    • Якщо інший кінець знає вас, знає вам справжній голос, тоді вам доведеться багато змінити висоту, тому для іншого кінця буде очевидно, що ви змінили звук. Якщо він захоче, він може захопити ваш змінений голос і змінити рівень звучання. Або інший кінець може просто ігнорувати / відхиляти ваш дзвінок з зрозумілих причин.
    • Якщо інший кінець не знає вашого справжнього голосу, ну ... У цьому випадку реальної користі від зміни вашого голосу немає, оскільки вони навіть не знають справжнього.
    • Якщо ви намагаєтесь захистити себе від того, щоб хтось перехопив ваш голос, нападу чоловіка в середині тощо, то дуже ймовірно, що ці зловмисні хлопці знають цілком достатньо, щоб відновити ваш справжній звук майже з будь-якої модифікації, яку ви робите на ньому з такими простими програмними програмами.
    • Крім того, для всіх перерахованих вище випадків: Коли ви говорите, не тільки звук вашого голосу може визначити вас, але і те, як ви говорите, ваш акцент, слова та фрази, які ви використовуєте тощо.
    • Якщо ви хочете отримати більш безпечний спосіб голосового спілкування, ви можете скористатися текстовим мовним механізмом, щоб перетворити друк у голос. Це набагато більш безпечний спосіб. (Звичайно, це може бути неможливим, якщо неможливо набрати свої повідомлення, наприклад, у грі для багатьох гравців.)

Тим не менш, цей спосіб забезпечує кращу конфіденційність, ніж конфіденційність взагалі. І також може бути цікаво обдурити деяких друзів зміненим голосом.


будь-яка ідея про те, як я можу застосувати плагін LADSPA без використання sox? можливо, використовуючи ту саму нульову раковину ( askubuntu.com/questions/43950/… ). Мені не подобається думка про необхідність вмикати "запис" і передавати це.
braindamage

Це приголомшливо і саме те, що я шукав, дякую!
xamox

це також може бути використане для зміни кроку виходу за замовчуванням, а не лише для введення. павуконтроль справді потужний. дякую
phil294

2
на жаль, він також додає затримку, яка, здається, різко зростає з часом
phil294

@ phil294, я знайшов способи значно зменшити затримку. Наприклад, спробуйте: nice -n -8 sox --buffer 2048 -c 1 -r 48000 -t pulseaudio default -t pulseaudio null pitch -800. Поєднання нижчого niceзначення та -c(каналів), -r(вибірки) та --buffer(за замовчуванням - 8192 байти (!), Див. Тут ) творить чудеса. Кількість каналів та вибірки повинні ідеально відповідати вашому джерелу. (продовжується ...)
березня


1

Я також шукав подібну програму. Я думаю, я знайшов можливу відповідь: LV2 та його плагін VocProc

Я це знайшов через цю тему форумів Ubuntu , яка також може бути корисною для вас.

Також існують плагіни для Teamspeak, які дозволяють вам редагувати голос. Можуть бути інші плагіни для бурмотання, і я продовжую шукати.


@Oli Це LOA. Видаліть посилання, і нічого не залишиться.
Пілот6

1
@ Pilot6 Я абсолютно не згоден. Відірвіть посилання (і), і відповідь все одно вказує вам назву програми, яка робить те, що вам потрібно.
Олі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.