pub struct DuplexStreamEngine { /* private fields */ }Expand description
Incremental full-duplex engine — feed 24 kHz PCM, receive Moshi PCM chunks.
Implementations§
Source§impl DuplexStreamEngine
impl DuplexStreamEngine
pub fn from_session( session: MoshiSession, prompt: &str, run_cfg: &GenerationConfig, ) -> Result<DuplexStreamEngine, Error>
pub fn device(&self) -> Device
pub fn frame_samples(&self) -> usize
pub fn steps_done(&self) -> usize
Sourcepub fn feed_pcm(&mut self, pcm: &[f32]) -> Result<Vec<StreamStepOutput>, Error>
pub fn feed_pcm(&mut self, pcm: &[f32]) -> Result<Vec<StreamStepOutput>, Error>
Append PCM (mono f32 @ 24 kHz). Returns zero or more completed step outputs.
Sourcepub fn finish(&mut self) -> Result<Vec<StreamStepOutput>, Error>
pub fn finish(&mut self) -> Result<Vec<StreamStepOutput>, Error>
Pad tail, run remaining buffered audio, mark finished.
pub fn collected_text_tokens(&self) -> Vec<u32>
Auto Trait Implementations§
impl !Freeze for DuplexStreamEngine
impl !RefUnwindSafe for DuplexStreamEngine
impl !Sync for DuplexStreamEngine
impl !UnwindSafe for DuplexStreamEngine
impl Send for DuplexStreamEngine
impl Unpin for DuplexStreamEngine
impl UnsafeUnpin for DuplexStreamEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more