/ Модель

Характеристики

Параметры
403 млн
Лицензия
MIT
Архитектура
wav2vec2 · dense
Опубликована
8 фев 2024

phonemizer-wav2vec2-ctc-french

Распознавание речиАудио → текст7 профессий

Модель на базе wav2vec2 распознаёт французскую речь и преобразует аудио в текст.

136скачиваний за 30 дней0лайковвеса обновлены28 июн 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

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

Публичные оценки

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

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

bofenghuang/phonemizer-wav2vec2-ctc-french — модель распознавания французской речи, построенная на архитектуре wav2vec2 с выходной CTC-головой. В метаданных указано 402,7 млн параметров; модель опубликована в формате safetensors и использует аудио на входе.

Модель предназначена для преобразования аудиозаписей на французском языке в текст. В карточке указан датасет Mozilla Common Voice 13.0. Лицензия — MIT. README содержит только краткое указание на инференс аудио и не описывает подробности качества или ограничения.

Сценарии применения

  • транскрибация французской речи
  • распознавание французской речи в аудиозаписях
  • создание текстовых расшифровок французских аудиоданных

Ограничения

Карточка не приводит оценок качества и не описывает ограничения распознавания.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Wav2vec2-CTC-based French Phonemizer

Usage

Infer audio

import soundfile as sf
import torch
from transformers import AutoModelForCTC, AutoProcessor, pipeline

device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

# Load model
model_name_or_path = "bofenghuang/phonemizer-wav2vec2-ctc-french"
processor = AutoProcessor.from_pretrained(model_name_or_path)
model_sample_rate = processor.feature_extractor.sampling_rate
model = AutoModelForCTC.from_pretrained(model_name_or_path, torch_dtype=torch_dtype)
model.to(device)

# Init pipeline
pipe = pipeline(
    "automatic-speech-recognition",
    model=model,
    feature_extractor=processor.feature_extractor,
    tokenizer=processor.tokenizer,
    torch_dtype=torch_dtype,
    device=device,
)

# Example audio
audio_file_path = "/path/to/example/wav/file"

# Infer with pipeline
result = pipe(audio_file_path)
print(result["text"])

# Infer w/ lower-level api
waveform, sample_rate = sf.read(audio_file_path, start=0, frames=-1, dtype="float32", always_2d=False)

input_dict = processor(waveform, sampling_rate=model_sample_rate, return_tensors="pt")

with torch.inference_mode():
    input_values = input_dict.input_values.to(device, dtype=torch_dtype)
    logits = model(input_values).logits

predicted_ids = torch.argmax(logits, dim=-1)
predicted_text = processor.batch_decode(predicted_ids)[0]
print(predicted_text)

Phonemes were generated using the following code snippet:

# !pip install phonemizer
from phonemizer.backend import EspeakBackend
from phonemizer.separator import Separator

# initialize the espeak backend for French
backend = EspeakBackend("fr-fr", language_switch="remove-flags")

# separate phones by a space and ignoring words boundaries
separator = Separator(phone=None, word=" ", syllable="")

def phonemize_text_phonemizer(s):
    return backend.phonemize([s], separator=separator, strip=True, njobs=1)[0]

input_str = "ce modèle est utilisé pour identifier les phonèmes dans l'audio entrant"
print(phonemize_text_phonemizer(input_str))
# 'sə modɛl ɛt ytilize puʁ idɑ̃tifje le fonɛm dɑ̃ lodjo ɑ̃tʁɑ̃'

Acknowledgement

Inspired by Cnam-LMSSC/wav2vec2-french-phonemizer

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
Wav2Vec2ForCTC
Ревизия весов
1cdb121

0 моделей