#client #set #events #parser

ssip-client

Client API for Speech Dispatcher

13 releases (7 breaking)

0.9.0 Aug 27, 2023
0.8.3 Jul 30, 2023
0.8.1 Apr 18, 2022
0.6.0 Mar 25, 2022
Download history 38/week @ 2023-08-12 31/week @ 2023-08-26 2/week @ 2023-09-02 12/week @ 2023-09-09 16/week @ 2023-09-16 2/week @ 2023-09-23 3/week @ 2023-09-30 4/week @ 2023-10-21 25/week @ 2023-10-28 3/week @ 2023-11-04 15/week @ 2023-11-11 2/week @ 2023-11-18 30/week @ 2023-11-25

53 downloads per month

MIT/Apache

87KB
2K SLoC

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.

Dependencies

~0.5–8.5MB
~66K SLoC