Dvoice

SDK Foydalanishi

DVoice TTS SDK’dan yagona va oqim uchastkalari uchun foydalanish usullari, kelajakda STT qo‘llab-quvvatlashi rejalashtirilgan.

SDK Foydalanishi

DVoice TTS SDK TTS API bilan integratsiyani soddalashtiradi, yagona audio yaratish va real vaqtli oqim translyatsiyasi uchun usullarni taqdim etadi. Hozirda SDK faqat TTS uchastkalarini qo‘llab-quvvatlaydi, kelajakdagi yangilanishlarda nutqni matnga (STT) aylantirish funksiyasini qo‘shish rejalashtirilgan. SDK Node.js va Python uchun mavjud.

O'rnatish

Node.js

SDK’ni npm orqali o‘rnating:

npm install dvoice-tts

Python

SDK’ni pip orqali o‘rnating:

pip install dvoice-tts

Ishga Tushirish

SDK autentifikatsiya uchun API tokenini talab qiladi, uni Autentifikatsiya bo‘limidan olish mumkin.

Node.js

const { TTS } = require("dvoice-tts");

const client = new TTS({ token: "<your-token>" });

Python

from dvoice_tts import TTS

client = TTS(token='<your-token>')

Usullar

single Usuli

Matnni HTTP POST so‘rovi orqali yagona audio fayliga aylantiradi.

Parametrlar

MaydonTurTavsifMajburiy
textstringNutqqa aylantirish uchun matnHa
modelstringOvoz modeli (masalan, "Iroda")Ha
formatstringAudio formati (masalan, "mp3")Ha

Qaytaradi

  • Promise<Buffer>: Audio ma’lumotlari Buffer sifatida.

Misol (Node.js)

const { TTS } = require("dvoice-tts");

const client = new TTS({ token: "<your-token>" });

async function generateSingleAudio() {
  try {
    const audioBuffer = await client.single({
      text: "Haq olinur, berilmas",
      model: "Iroda",
      format: "mp3",
    });
    require("fs").writeFileSync("output.mp3", audioBuffer);
    console.log("Audio output.mp3 ga saqlandi");
  } catch (error) {
    console.error("Xatolik:", error.message);
  }
}

generateSingleAudio();

Misol (Python)

from dvoice_tts import TTS

client = TTS(token='<your-token>')

try:
    audio_data = client.single(
        text='Haq olinur, berilmas',
        model='Iroda',
        format='mp3'
    )
    with open('output.mp3', 'wb') as f:
        f.write(audio_data)
    print('Audio output.mp3 ga saqlandi')
except Exception as e:
    print('Xatolik:', str(e))

stream Usuli

WebSocket orqali real vaqt rejimida audio’ni oqim sifatida yuboradi, past kechikishli ilovalar uchun mos.

Parametrlar

MaydonTurTavsifMajburiy
textstringNutqqa aylantirish uchun matnHa
modelstringOvoz modeli (masalan, "Iroda")Ha
formatstringAudio formati (masalan, "mp3")Ha

Qayta Qo‘ng‘iroq

  • err: Error | null: Agar oqim muvaffaqiyatsiz bo‘lsa, xatolik.
  • chunk: Buffer | null: Audio bo‘lagi yoki oqim tugagan taqdirda null.
  • close: () => void: WebSocket ulanishini yopish funksiyasi.

Misol (Node.js)

const { TTS } = require("dvoice-tts");
const fs = require("fs");

const client = new TTS({ token: "<your-token>" });

client.stream(
  {
    text: "Haq olinur, berilmas",
    model: "Iroda",
    format: "mp3",
  },
  (err, chunk, close) => {
    if (err) {
      console.error("Xatolik:", err.message);
      close();
      return;
    }
    if (chunk) {
      console.log("Qabul qilingan audio bo‘lagi:", chunk.length, "bayt");
      fs.appendFileSync("output.mp3", chunk);
    } else {
      console.log("Oqim tugadi");
      close();
    }
  }
);

Misol (Python)

from dvoice_tts import TTS

client = TTS(token='<your-token>')

def handle_stream(err, chunk, close):
    if err:
        print('Xatolik:', err)
        close()
        return
    if chunk:
        print(f'Qabul qilingan audio bo‘lagi: {len(chunk)} bayt')
        with open('output.mp3', 'ab') as f:
            f.write(chunk)
    else:
        print('Oqim tugadi')
        close()

client.stream(
    text='Haq olinur, berilmas',
    model='Iroda',
    format='mp3',
    callback=handle_stream
)

Eslatmalar

  • single usuli xavfsiz ulanishlar uchun HTTPS agentini talab qiladi (SDK’da avtomatik boshqariladi).
  • stream usuli WebSocket (ws://oyqiz.airi.uz/stream) dan foydalanadi, text, model va format uchun so‘rov parametrlarini ishlatadi.
  • Ikkala usul uchun to‘lov matn uzunligiga asoslanadi.
  • Kelajakdagi yangilanishlar STT qo‘llab-quvvatlashini o‘z ichiga oladi, SDK imkoniyatlarini kengaytiradi.

403 Forbidden xatolaridan qochish uchun API tokeningizni haqiqiy va xavfsiz saqlang.