Розробка системи Speech-to-Speech (голосовий переклад в реальному часі)

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Розробка системи Speech-to-Speech (голосовий переклад в реальному часі)
Складний
від 1 тижня до 3 місяців
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Розробка системи Speech-to-Speech (голосовий переклад у реальному часі) Speech-to-Speech (STS) перекладає мову однією мовою в мову іншою в реальному часі, зберігаючи характеристики голосу мовця. Це нетривіальне інженерне завдання: потрібно мінімізувати наскрізну затримку всього pipeline за збереження якості. ### Архітектура STS-системи```

STT → Translation → TTS ↓ ↓ ↓ ~200мс ~100мс ~300мс Total: ~600–1000мс Компоненти: 1. **STT** — транскрибація джерела (Whisper streaming / Deepgram) 2. **MT** — машинний переклад (GPT-4o, DeepL API, NLLB) 3. **Voice Conversion** — перенесення характеристик голосу на синтезовану мову 4. **TTS** — синтез перекладеного тексту ##python import asyncio from openai import AsyncOpenAI

client = AsyncOpenAI()

async def speech_to_speech_pipeline( audio_chunk: bytes, source_lang: str, target_lang: str, speaker_voice: str = "alloy" ) -> bytes: # Этап 1: STT transcript_response = await client.audio.transcriptions.create( model="whisper-1", file=("audio.wav", audio_chunk, "audio/wav"), language=source_lang ) transcript = transcript_response.text

if not transcript.strip():
    return b""

# Этап 2: Перевод
translation_response = await client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": f"Переведи на {target_lang}. Только перевод, без пояснений."},
        {"role": "user", "content": transcript}
    ],
    temperature=0.1
)
translated = translation_response.choices[0].message.content

# Этап 3: TTS
tts_response = await client.audio.speech.create(
    model="tts-1",
    voice=speaker_voice,
    input=translated,
    response_format="pcm"
)
return tts_response.content

### Оптимізація затримки **Sentence-level streaming**: не чекаємо кінця всієї фрази, перекладаємо та синтезуємо пропозиціями:python async def streaming_sts(text_stream): buffer = "" async for word in text_stream: buffer += word # Переводим при обнаружении конца предложения if buffer.endswith((".", "!", "?")): yield await translate_and_synthesize(buffer) buffer = "" ### Збереження голосу мовця Для збереження характеристик голосу під час перекладу використовуємо voice conversion:python

Извлекаем speaker embedding из исходного аудио

Синтезируем перевод нейтральным голосом

Применяем voice conversion с embedding оригинала