Как сделать, чтобы Microsoft Teams использовал виртуальный микрофон

Вопрос или проблема

Моя цель – изменить свой голос определенным образом и перенаправить его в MS Teams.

Мне удалось направить свой голос с микрофона на наушниках на виртуальный микрофон с названием wh40k следующим образом: parec -d $PHYSICAL_MIC | sox $FILTERS | pacat -d $VIRTUAL_MIC.

В деталях, вот мой код:

VIRTUAL_MIC="wh40k"
# Название микрофона наушников, полученное с помощью pactl list
PHYSICAL_MIC="alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink"

# Проверка наличия необходимого программного обеспечения: завершение, если что-то отсутствует
for CMD in parec sox pacat; do
  if ! command -v "$CMD" &>/dev/null; then
    echo "Ошибка: $CMD не найдено.."
    exit 1
  fi
done

cleanup() {
  echo "Удаление виртуального микрофона $VIRTUAL_MIC..."
  pactl unload-module "$MODULE_ID"
  exit 0
}

if ! pactl list sinks short | grep -q "$VIRTUAL_MIC"; then
  echo "Создание виртуального микрофона '$VIRTUAL_MIC'..."
  MODULE_ID=$(pactl load-module module-null-sink \
    sink_name=$VIRTUAL_MIC \
    sink_properties=device.description="$VIRTUAL_MIC")
  if [[ -z "$MODULE_ID" ]]; then
    echo "Ошибка: не удалось создать виртуальный микрофон '$VIRTUAL_MIC'."
    exit 1
  fi
else
  echo "Виртуальный микрофон '$VIRTUAL_MIC' уже существует."
fi

trap cleanup INT TERM

echo -e "\nНастроенные выходы:"
pactl list sinks short

echo -e "\nНастроенные источники (монитор):"
pactl list sources short

echo -e "\nНастройка аудиопотока для '$VIRTUAL_MIC'..."

# $PITCH и другие фильтры ниже - переменные такие как "pitch -750"
parec -d "$PHYSICAL_MIC" --raw --format=s16le --rate=44100 --channels=1 | \
    sox -t raw -r 44100 -e signed -b 16 -c 1 - -t raw - \
        $PITCH $OVERDRIVE $GAIN $REVERB $EQUALIZER $BASS $TREBLE $CHORUS $ECHO | \
            pacat --raw --device="$VIRTUAL_MIC".monitor

Я могу подтвердить, что parec | sox работает, так как я проверил это с parec | sox | pacat, и фильтры sox были применены правильно.

Сейчас я не могу использовать виртуальный микрофон wh40k в MS Teams: когда я выбираю MS Teams > Настройки > Устройства > Микрофон: Monitor of wh40k, я не слышу свой голос во время тестового звонка в Teams.

Есть идеи, как я могу это исправить?

Мои версии:

  • MS Teams 1.5.00.23861 (64-бит)
  • Linux Mint 21 Kernel
  • 6.8.0-40-generic
  • pipewire 1.2.7

Ответ или решение

Чтобы изменить голос и направить его в Microsoft Teams с использованием виртуального микрофона, следует выполнить ряд действий, основанных на использовании Linux и PipeWire. В вашей проблеме указаны все необходимые шаги для создания и настройки виртуального микрофона, но при этом возникли сложности с его использованием в MS Teams. Рассмотрим возможные решения и способы устранения возникших трудностей.

Шаги по настройке виртуального микрофона

  1. Проверка установленного программного обеспечения: Убедитесь, что все необходимые инструменты, такие как parec, sox и pacat, установлены и корректно работают.

  2. Создание виртуального микрофона:

    • Путем использования pactl создается модуль module-null-sink, который выступает в роли виртуального микрофона. Он именуется как wh40k.
    • Если модуль уже существует, его повторное создание не требуется.
  3. Настройка аудиопотока:

    • Поток аудио с физического микрофона перенаправляется через parec на обработку фильтрами sox, затем результат направляется в выход pacat, который подсоединён к виртуальному микрофону wh40k.
  4. Тестирование: Использование команды parec | sox | pacat подтверждает корректную работу фильтров.

Проблемы и их возможные решения

Если вы не слышите свой голос в тестовом вызове MS Teams:

  • Проверьте конфигурацию PulseAudio: Убедитесь, что виртуальные и физические устройства корректно отображаются в списках источников и выходов.

  • Правильный выбор устройства в MS Teams: Иногда может потребоваться несколько переключений между разными устройствами ввода, чтобы MS Teams корректно распознал виртуальный микрофон.

  • Проверка уровня громкости: Проверьте, не установлен ли нулевой уровень громкости для виртуального микрофона в настройках звуковой системы.

  • Логи PulseAudio/ PipeWire: Посмотрите в системные логи для идентификации возможных ошибок, связанных с PipeWire или модулем, который вы создали.

  • Проблемы с PipeWire: Вспомните о возможных несовместимостях или известных багах в используемой версии PipeWire. Могут потребоваться обновления или конкретные патчи для вашей версии Linux Mint.

Предложения по улучшению

  • Обновите команды: Вместо использования pacat, попробуйте программы аналогичные для PipeWire, например pw-cat, если ваша система поддерживает PipeWire. Это может улучшить совместимость и функциональность.

  • Используйте GUI-инструменты: Попробуйте установить и использовать графические интерфейсы для упрощения управления виртуальными устройствами и потоками, такие как pavucontrol.

  • Обновление MS Teams и системных пакетов: Важные обновления программ могут обеспечить улучшенную поддержку виртуальных микрофонов.

Проблема включает в себя плотную интеграцию со множеством технологий и компонентов системы, поэтому важно тестировать каждую составляющую в отдельности для получения стабильного результата. Если вышеуказанные решения не помогли, возможно, стоит обратиться к сообществам или форумам, таким как Stack Overflow или тематические сообщества Linux Mint, для получения более специфических советов и исправлений.

Оцените материал
Добавить комментарий

Капча загружается...