10 breaking releases

0.19.0 Jun 8, 2025
0.17.0 Jun 3, 2025
0.15.0 Mar 20, 2025
0.14.0 Nov 20, 2024
0.10.0 Mar 22, 2023

#3 in #pitch

Download history 2/week @ 2025-10-24 9/week @ 2026-01-02

811 downloads per month
Used in 2 crates

MIT/Apache

190KB
4K SLoC

Rust SSIP Client

license Crates.io Version

Speech Dispatcher SSIP client library in pure rust.

  • Unix socket.
  • TCP socket.
  • Stop, cancel, pause and resume.
  • List, set voices.
  • Set rate, pitch, volume.
  • Notifications.
  • Message history.
  • tokio support.
  • async-io support.
  • separate protocol driving mechanism in the ssip crate.

Feature Flags

  • default: none.
  • dbus: add support to send these types over DBus via the zbus crate.
  • serde: add support to serialize/deserialize the types with serde.
  • async-io: add support for the smol/async-io runtime. This does not pull in an entire runtime, it only adds generic async integration points.
  • tokio: add support for the tokio runtime. This will pull in the tokio runtime along with support for its tokio::io::Async* traits.
  • async-mio: add support for the low-level mio polling mechanism.

Example

use ssip_client_async::{FifoBuilder, ClientName};
let mut client = fifo::Builder::new().build()?;
client
    .set_client_name(ClientName::new("joe", "hello"))?
    .check_client_name_set()?;
let msg_id = client.speak()?.send_line("hello")?.receive_message_id()?;
client.quit()?;

See other examples in the repository.

License

This software is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

Dependencies

~0–13MB
~125K SLoC