Struct aquestalk_rs::AqDLL[][src]

pub struct AqDLL<'a> { /* fields omitted */ }

AquesTalk.dllのラッパー

基本的な流れとしてはAquesTalk.dllを読み込む→音声データを生成するというように使います Drop時にAquesTalk_FreeWave()が実行されるため、自分で実行する必要はありません

Examples

use testing::AqDLL;
use std::{fs::File, io::Write};

fn main() {
    let mut reimu = AqDLL::load("./aquestalk/f1/AquesTalk.dll").unwrap();
    let reimuvoice = reimu.synthe("ゆっくりしていってね", 100).unwrap();
    let mut file = File::create("./reimu.wav").unwrap();
    file.write_all(reimuvoice).unwrap();
}

Implementations

impl<'a> AqDLL<'a>[src]

pub fn load<P: AsRef<OsStr>>(filename: P) -> Result<Box<Self>, Box<dyn Error>>[src]

AquesTalk.dllを読み込むための関数です。引数にはAquesTalk.dllのパスを指定してください

pub fn synthe(
    &mut self,
    koe: &str,
    ispeed: i32
) -> Result<&mut [u8], Box<dyn Error>>
[src]

AquesTalk_Synthe_Utf8と同じです。第一引数は音声記号列、第二引数は発話速度を50-300で指定します 公式にはもう一つsize引数がありますが、これは内部で使ってるので指定する必要はありません

Trait Implementations

impl<'a> Drop for AqDLL<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for AqDLL<'a>

impl<'a> !Send for AqDLL<'a>

impl<'a> !Sync for AqDLL<'a>

impl<'a> Unpin for AqDLL<'a>

impl<'a> UnwindSafe for AqDLL<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.