Przejdź do treści
Nowość: Node SDK dialpress. Routuj SIP jak w Express i postaw agenta na dowolnym połączeniu.Zacznij
DialPress
DialPress
Media Streams

Audio na żywo z każdego połączenia, w Twoim kodzie

Otwórz audio połączenia i odbieraj głos rozmówcy na bieżąco. Odtwarzaj audio w czasie rzeczywistym. Buduj potoki mowy, boty i analitykę bez utrzymywania serwera mediów.

Bot głosowy AIbot.js
const dialpress = require('dialpress') const bot = dialpress() bot.invite('/ai/:name', async (req, res) => { await res.answer() const media = await res.media({ sampleRate: 16000 }) media.on('audio', (pcm) => stt.write(pcm)) // caller voice llm.on('reply', async (t) => media.play(await tts(t))) vad.on('speech', () => media.clear()) // barge-in res.on('dtmf', (d) => d === '0' && res.handoff('/internal/0', { summary: llm.summary() })) }) bot.connect({ address: 'agi.dialpress.ai', pathPrefixes: ['/ai'] })

W skrócie

Dwukierunkowe

Odczytuj audio rozmówcy i odtwarzaj swoje w tym samym strumieniu.

Surowe

16-bitowe ramki PCM, gotowe do rozpoznawania mowy.

Z obsługą przerywania

Wyczyść audio w kolejce, gdy tylko rozmówca przerwie botowi.

Otwórz

Node SDK dla aplikacji na bramie, WebSockety dla dowolnego języka.

Jedno wywołanie otwiera audio

W SDK dialpress res.media() zwraca strumień audio połączenia. Przekaż PCM rozmówcy do rozpoznawania mowy, zapisz z powrotem swoją syntezę mowy i wywołaj clear(), by obsłużyć wtrącenia. Znaczniki mówią, kiedy klip skończył się odtwarzać.

Bot głosowy AIbot.js
const dialpress = require('dialpress') const bot = dialpress() bot.invite('/ai/:name', async (req, res) => { await res.answer() const media = await res.media({ sampleRate: 16000 }) media.on('audio', (pcm) => stt.write(pcm)) // caller voice llm.on('reply', async (t) => media.play(await tts(t))) vad.on('speech', () => media.clear()) // barge-in res.on('dtmf', (d) => d === '0' && res.handoff('/internal/0', { summary: llm.summary() })) }) bot.connect({ address: 'agi.dialpress.ai', pathPrefixes: ['/ai'] })
DialPress voice waveform on ink

Albo strumieniuj do dowolnej usługi

Strumienie mediów przez WebSocket wysyłają audio połączenia do Twojej usługi. DialPress może też połączyć się z Twoją usługą z podpisanym handshake’iem, więc audio otrzymuje tylko Twój stos.

Co zespoły na tym budują

01

Boty głosowe

Rozpoznawanie mowy, LLM i synteza mowy w pętli, ze zmianą tur pod Twoją kontrolą.

02

Transkrypcja na żywo

Transkrybuj połączenia na bieżąco i pokazuj je osobie, która prowadzi rozmowę.

03

Analityka w czasie rzeczywistym

Wychwytuj słowa kluczowe, sentyment lub frazy wymagane przepisami, gdy połączenie jeszcze trwa.

04

Nagrywanie

Rozgałęziaj połączenia do rejestratora przez SIPREC, z pauzą i wznowieniem w newralgicznych momentach.

Częste pytania

W jakim formacie dostaję audio?

16-bitowe PCM w obie strony.

Jakich języków mogę używać?

SDK jest dla Node.js i TypeScript. Strumienie WebSocket działają z dowolnego języka.

Czy potrzebuję własnego serwera mediów?

Nie. Brama zakotwicza media i dostarcza strumień do Twojego kodu.

Jak obsłużyć przerywanie?

Wywołaj clear() na strumieniu. Audio w kolejce od razu się zatrzymuje, a rozmówca zostaje usłyszany.

Usłysz swoje pierwsze połączenie w kodzie.

npm install dialpress i otwórz res.media() przy następnym połączeniu.