#ai #tts #voice #api #api-bindings

fakeyou

Library to use FakeYou's AI TTS services

2 releases

0.1.1 May 18, 2023
0.1.0 May 18, 2023

#1179 in Audio

31 downloads per month

CC0 license

19KB
304 lines

fakeyou

crates.io fakeyou documentation

An easy, synchronous Rust library to access FakeYou's AI TTS services

This library is a personal project and has no association with storyteller.ai

Usage

The first step in using this API is to authenticate.
In these examples, we are using a model token which is already known to us.
These will take some time to finish, due to the API's queue

use fakeyou;

fn main() {
    let fake_you = fakeyou::authenticate("user_name", "password").unwrap();
    fake_you.generate_file_from_token("Hello!", "TM:mc2kebvfwr1p", "hello.wav").unwrap();
}

You may also stream the resulting audio directly to an audio playback library, such as rodio:

use std::io::Cursor;
use rodio::{Decoder, OutputStream, source::Source, Sink};
use fakeyou;

fn main() {
    // rodio setup
    let (_stream, stream_handle) = OutputStream::try_default().unwrap();
    let sink = Sink::try_new(&stream_handle).unwrap();

    // actual API use
    let fake_you = fakeyou::authenticate("user_name", "password").unwrap();
    let bytes = fake_you.generate_bytes_from_token("Hello!", "TM:mc2kebvfwr1p").unwrap();

    // play resulting audio
    let cursor = Cursor::new(bytes);
    let decoder = Decoder::new(cursor).unwrap();
    sink.append(decoder);
    sink.sleep_until_end();
}

License

CC0 1.0 Universal

Dependencies

~6–42MB
~616K SLoC