ElevenLabsTTS
1.0.0
Envoltura liviana para la API de texto a voz de Elevenlabs.
Agregue el paquete como dependencia a su archivo pubspec.yaml .
Se requiere un paquete de audio. Recomiendo AudioPlayers o Just_audio.
Inicializar ElevenLabs:
Future < void > main () async {
WidgetsFlutterBinding . ensureInitialized ();
// Initialize ElevenLabs
await ElevenLabs . init (apiKey : 'your-api-key' );
runApp ( const MyApp ());
} File file = await ElevenLabs .instance. create (
// Required
// Your Input
text : text,
// Optional
// The Voice Id for the Voice.
// See: https://api.elevenlabs.io/v1/voices
voiceId : "ErXwobaYiN019PkySvjV" ,
// Optional
// Creates a cached audio file which can then be called by name.
fileName : "Hello World" ,
// Optional
// Higher stability ensures consistency but may result in monotony, therefore
// for longer text, it is recommended to decrease stability.
stability : 1.0 ,
// Optional
// Boosting voice clarity and target speaker similarity is achieved by high
// enhancement; however, very high values can produce artifacts, so it's
// essential to find the optimal setting.
similarityBoost : 1.0 ,
); final voices = await ElevenLabs .instance. listVoices ();
for ( var i in voices) {
print (
'Voice Name: ${ i . name }, Voice ID: ${ i . voiceId }, Category: ${ i . category }' );
} final voices = await ElevenLabs .instance. listHistory ();
for ( var i in voices) {
print (
'Item Id: ${ i . historyItemId }, Voice ID: ${ i . voiceId }, Voice Name: ${ i . voiceName }, Text: ${ i . text },' );
} final file = await ElevenLabs .instance. createHistoryAudioId (
// Required
// History Item Id
itemId : "your-history-item-id" ,
// Optional
// Creates a cached audio file which can then be called by name
fileName : "your-file-name" ,
);Ver ejemplo para más detalles.
AVISO: Este paquete se creó inicialmente para ser utilizado internamente, ya que tal el desarrollo está alineado ante todo con los requisitos internos.