Skip to main content

SttStream

Struct SttStream 

Source
pub struct SttStream { /* private fields */ }
Expand description

A streaming STT session for real-time audio transcription.

This struct maintains an active WebSocket connection to the STT service and provides methods to send audio data and receive transcription results.

Implementations§

Source§

impl SttStream

Source

pub fn split(self) -> (SttStreamSender, SttStreamReceiver)

Source

pub async fn new(setup: Setup, client: &Client) -> Result<Self>

Creates a new STT streaming session.

This establishes a WebSocket connection to the STT service, sends the setup configuration, and waits for the server’s Ready response.

§Arguments
  • setup - Configuration for the STT session (model name, audio format)
  • client - The Gradium client to use for the connection
§Returns

A new SttStream ready to accept audio data

§Errors

Returns an error if:

  • The WebSocket connection fails
  • The server responds with an error
  • The server sends an unexpected response
Source

pub async fn send_eos(&mut self) -> Result<()>

Signals the end of the audio stream.

This tells the server that no more audio will be sent, allowing it to finalize the transcription and send any remaining results.

§Errors

Returns an error if the message cannot be sent

Source

pub async fn send_audio(&mut self, audio: Vec<u8>) -> Result<()>

Sends audio data to the server for transcription.

Audio should be sent in chunks matching the format and sample rate specified in the Setup configuration.

§Arguments
  • data - Raw audio bytes to transcribe
§Errors

Returns an error if the message cannot be sent

Source

pub async fn send_audio_base64(&mut self, audio_b64: String) -> Result<()>

Source

pub async fn next_message(&mut self) -> Result<Option<Response>>

Receives the next message from the server.

This method waits for and returns transcription results, VAD updates, or other server responses.

§Returns
  • Ok(Some(response)) - A response from the server
  • Ok(None) - The stream has ended (EndOfStream received or connection closed)
  • Err(_) - An error occurred or the server sent an error response
§Errors

Returns an error if:

  • The connection is closed unexpectedly
  • The server sends an error response
  • Message deserialization fails
Source

pub fn sample_rate(&self) -> u32

Returns the audio sample rate in Hz.

Source

pub fn frame_size(&self) -> u32

Returns the audio frame size in samples.

Source

pub fn text_stream_names(&self) -> &[String]

Returns the names of available text streams.

Source

pub fn request_id(&self) -> &str

Returns the request ID for this session.

Trait Implementations§

Source§

impl Debug for SttStream

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,