Skip to content

Commit

Permalink
Implemented generate_to_playback
Browse files Browse the repository at this point in the history
  • Loading branch information
BBC-Esq authored and jpc committed Mar 3, 2024
1 parent 8682683 commit 98e6c37
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
7 changes: 7 additions & 0 deletions whisperspeech/a2wav.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,10 @@ def decode_to_notebook(self, atoks):

audio = self.decode(atoks)
display(Audio(audio.cpu().numpy(), rate=24000))

def decode_to_playback(self, atoks):
import sounddevice as sd
audio = self.decode(atoks)
audio_np = audio.cpu().numpy().squeeze()
sd.play(audio_np, 24000)
sd.wait()
9 changes: 9 additions & 0 deletions whisperspeech/pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,12 @@ def generate_to_file(self, fname, text, speaker=None, lang='en', cps=15, step_ca

def generate_to_notebook(self, text, speaker=None, lang='en', cps=15, step_callback=None):
self.vocoder.decode_to_notebook(self.generate_atoks(text, speaker, lang=lang, cps=cps, step_callback=None))

def generate_to_playback(self, text, speaker=None, lang='en', cps=15, step_callback=None):
try:
import sounddevice as sd
except ImportError:
print("\033[93mThe 'sounddevice' library is required for direct text to playback functionality. Please install it using 'pip install sounddevice'.\033[0m")
return

self.vocoder.decode_to_playback(self.generate_atoks(text, speaker, lang=lang, cps=cps, step_callback=step_callback))

0 comments on commit 98e6c37

Please sign in to comment.