You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB

Rust SSIP Client

build status license Crates.io Version docs.rs

Speech Dispatcher SSIP client library in pure rust.

The API is synchronous by default.

A non-blocking API can be used with a low-level polling mechanism based on poll, or with mio.

  • Unix socket.
  • TCP socket.
  • Stop, cancel, pause and resume.
  • List, set voices.
  • Set rate, pitch, volume.
  • Notifications.
  • Message history.

Getting Started

To use the synchronous API or an asynchronous API compatible with low-level crates based on poll, use:

[dependencies]
ssip-client = "0.8"

For the asynchronous API, use:

[dependencies]
ssip-client = { version = "0.8", features = ["async-mio"] }

Example

use ssip_client::{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.