From 6fcc65115db6787bc4bfa4e0bbf916e2cf5d0465 Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Wed, 19 Apr 2023 14:02:09 -0700 Subject: [PATCH] add comments to the readme code --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 39192c9..d5470d6 100644 --- a/README.md +++ b/README.md @@ -56,21 +56,26 @@ import ( func main() { ctx := context.Background() + // load in an API key to create a client client := client.New(os.Getenv("XI_API_KEY")) + // fetch a list of voice IDs from elevenlabs ids, err := client.GetVoiceIDs(ctx) if err != nil { panic(err) } + // prepare a pipe for streaming audio directly to beep pipeReader, pipeWriter := io.Pipe() reader := bufio.NewReader(os.Stdin) text, _ := reader.ReadString('\n') go func() { + // stream audio from elevenlabs using the first voice we found err = client.TTSStream(ctx, pipeWriter, text, ids[0], types.SynthesisOptions{Stability: 0.75, SimilarityBoost: 0.75}) if err != nil { panic(err) } pipeWriter.Close() }() + // decode and prepare the streaming mp3 as it comes through streamer, format, err := mp3.Decode(pipeReader) if err != nil { log.Fatal(err) @@ -78,6 +83,7 @@ func main() { defer streamer.Close() speaker.Init(format.SampleRate, format.SampleRate.N(time.Second/10)) done := make(chan bool) + // play the audio speaker.Play(beep.Seq(streamer, beep.Callback(func() { done <- true })))