Baichuan-Audio: сквозная аудиомодель, поддерживающая голосовое взаимодействие в реальном времени

Общее введение

Baichuan-Audio - это проект с открытым исходным кодом, разработанный Baichuan Intelligence (baichuan-inc) и размещенный на GitHub, ориентированный на технологию сквозного голосового взаимодействия. Проект предоставляет полный фреймворк для обработки звука, который может преобразовывать входную речь в дискретные аудиотокены, а затем генерировать соответствующий текст и аудиовыход с помощью большой модели для достижения высококачественного диалога в реальном времени. Поддержка китайского и английского языков, применимых к необходимости понимания речи и генерации сцены, таких как интеллектуальные помощники, голосовые чат-роботы и так далее. Кроме того, в рамках проекта открыты исходники Baichuan-Audio-Base, базовой модели, и OpenAudio-Bench, бенчмарка, чтобы предоставить разработчикам мощную поддержку для исследований и разработок. Проект следует лицензии Apache 2.0, которая подходит для академических исследований и коммерческих приложений на определенных условиях.

Baichuan-Audio:支持实时语音交互的端到端音频模型

 

Список функций

  • тегирование речи в аудио: Входная речь преобразуется в дискретные звуковые лексемы с помощью Baichuan-Audio Tokenizer, который поддерживает частоту кадров 12,5 Гц для обеспечения сохранения информации.
  • голосовое взаимодействие в реальном времени: В сочетании с Audio LLM он поддерживает двуязычные разговоры на английском и китайском языках, генерируя высококачественные голосовые и текстовые ответы.
  • Поколение аудио: Генерируйте высокоточные спектрограммы и волновые формы Mel из аудиомаркеров с помощью Flow-matching Audio Decoder.
  • модель для открытого исходного кода (вычислительная техника): Предоставляется базовая модель Baichuan-Audio-Base, не требующая настройки, и разработчики могут настраивать ее в соответствии со своими потребностями.
  • Бенчмарки: Включает OpenAudio-Bench, инструмент для оценки понимания и создания аудио, содержащий 2701 точку данных.
  • мультимодальная поддержка: Поддержка смешанного ввода текста и звука для плавного переключения между модальностями.

 

Использование помощи

Процесс установки

Чтобы использовать Baichuan-Audio локально, необходимо установить среду разработки и загрузить соответствующие файлы модели. Ниже описаны подробные шаги по установке:

  1. Подготовка к защите окружающей среды
    • Убедитесь, что в вашей системе установлены Python 3.12 и Conda.
    • Создайте и активируйте виртуальную среду:
      conda create -n baichuan_audio python=3.12
      conda activate baichuan_audio
      
    • Установите необходимые библиотеки зависимостей:
      pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu124
      pip install -r requirements.txt
      pip install accelerate flash_attn==2.6.3 speechbrain==1.0.0 deepspeed==0.14.4
      
    • Установите системные инструменты:
      apt install llvm ffmpeg
      
  2. Скачать модели
    • Клонируйте код из репозитория GitHub (https://github.com/baichuan-inc/Baichuan-Audio):
      git clone https://github.com/baichuan-inc/Baichuan-Audio.git
      cd Baichuan-Audio
      
    • модификации web_demo/constants.py попал в точку MODEL_PATHЭто путь к локальной модели (вам нужно загрузить ее вручную или, например, использовать Hugging Face для получения весов модели). baichuan-inc/Baichuan-Audio).
  3. Запустите демонстрационную версию
    • Запустите демонстрацию распознавания речи:
      cd web_demo
      python base_asr_demo.py
      
    • Запустите демонстрацию синтеза речи:
      python base_tts_demo.py
      
    • Начните многораундовый диалог "Демо":
      python s2s_gradio_demo_cosy_multiturn.py
      

Функции Поток операций

1. токенизация речи в аудио (Baichuan-Audio Tokenizer)

  • Функциональное описание: Преобразует входящие речевые файлы или микрофонный ввод в дискретные звуковые лексемы для последующей обработки.
  • процедура::
    1. Подготовьте аудиофайл (поддерживается формат WAV) или подключите микрофонное устройство.
    2. бег base_asr_demo.py После этого интерфейс предложит загрузить звук или включить микрофон.
    3. Система автоматически вызывает Шепот Large Encoder извлекает особенности и генерирует аудио лексемы с помощью 8 слоев RVQ (квантование остаточного вектора).
    4. Выходные данные можно просмотреть на консоли в виде последовательности дискретных маркеров.
  • предостережение: Убедитесь, что звук чистый, а фоновый шум низкий, чтобы повысить точность распознавания.

2. голосовое взаимодействие в реальном времени (Audio LLM)

  • Функциональное описание: Позволяет пользователям вести диалог с моделью в реальном времени на английском и китайском языках с помощью голосового или текстового ввода.
  • процедура::
    1. быть в движении s2s_gradio_demo_cosy_multiturn.pyДля этого откройте интерфейс Gradio.
    2. Нажмите кнопку "Запись", чтобы начать голосовой ввод (например, "Пожалуйста, скажите мне сегодняшнюю погоду на китайском языке").
    3. Система преобразует речь в теги, а Audio LLM генерирует текстовые и речевые ответы.
    4. Ответ одновременно отображается в виде текста и звучит через динамики.
  • Использование по назначению::
    • Ввод смешанного модального контента, например, набрать текст "Привет", а затем сказать голосом "Пожалуйста, продолжайте на английском".
    • Система позволяет переключать модальности с помощью специальных маркеров, чтобы диалог был связным.

3. генерация аудио (Flow-matching Audio Decoder)

  • Функциональное описание: Генерируйте высококачественную речь на основе текстовых или аудиоданных.
  • процедура::
    1. быть в движении base_tts_demo.pyВойдите в интерфейс преобразования текста в речь.
    2. Введите что-нибудь в текстовое поле (например, "Привет, сегодня пятница").
    3. Нажав кнопку "Generate", система преобразует текст в звуковые лексемы, а затем генерирует спектрограмму Mel с помощью декодера согласования потоков.
    4. С помощью встроенного вокодера преобразуйте спектрограмму в WAV-файл для автоматического воспроизведения или загрузки.
  • Дополнительные возможности: Поддержка регулировки скорости и высоты тона речи, конкретные параметры могут быть изменены в коде.

4. использование бенчмарков (OpenAudio-Bench)

  • Функциональное описание: Оценка способности моделей к восприятию и генерации звука.
  • процедура::
    1. Загрузите набор данных OpenAudio-Bench (находится в репозитории GitHub).
    2. Запустите сценарий оценки локально (его нужно написать самостоятельно или обратиться к документации репозитория).
    3. Введите тестовое аудио или текст, чтобы получить оценки работы модели по 5 наборам суб-оценок.
  • сценарий примененияРазработчики могут использовать его для сравнения производительности различных моделей и оптимизации стратегий обучения.

предостережение

  • требования к оборудованию: Рекомендуется использовать графические процессоры с поддержкой CUDA (например, карты NVIDIA), так как процессор может работать медленнее.
  • зависимость от сетиДля загрузки весов модели для первого запуска требуется доступ в Интернет, в дальнейшем возможно использование в автономном режиме.
  • коммерческое использование: Он должен соответствовать протоколу Apache 2.0 и подтвердить, что количество ежедневных активных пользователей (DAU) составляет менее 1 миллиона.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...