File size: 1,247 Bytes
4123b95
 
 
 
 
 
 
 
 
 
ac37044
 
4123b95
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
"""Run the standalone public DuDE release."""
import argparse
import json
from pathlib import Path
from dude_tts import DuDE

if __name__ == '__main__':
    p = argparse.ArgumentParser(description=__doc__)
    p.add_argument('--model', default='penguinfish1688/duplexdataengine')
    p.add_argument('--xml', required=True, help='Path to a dialogue XML file')
    p.add_argument('--voice-a', default='voice_1', help='Speaker A reference audio path or included voice name')
    p.add_argument('--voice-b', default='voice_2', help='Speaker B reference audio path or included voice name')
    p.add_argument('--output', default='duplex.wav')
    p.add_argument('--seed', type=int, default=20260922)
    p.add_argument('--max-seconds', type=float, default=150.)
    p.add_argument('--device', default='cuda')
    args = p.parse_args()
    model = DuDE.from_pretrained(args.model, device=args.device)
    result = model.generate(Path(args.xml).read_text(), args.voice_a, args.voice_b,
                            seed=args.seed, max_seconds=args.max_seconds)
    result.save(args.output)
    print(json.dumps(dict(output=str(Path(args.output).resolve()), sample_rate=result.sample_rate,
                          eos=result.eos, frames=result.frames)))