You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

whisper_op.py 661 B

10 months ago
10 months ago
10 months ago
123456789101112131415161718192021222324
  1. """TODO: Add docstring."""
  2. import pyarrow as pa
  3. import whisper
  4. from dora import DoraStatus
  5. model = whisper.load_model("base")
  6. class Operator:
  7. """Transforming Speech to Text using OpenAI Whisper model."""
  8. def on_event(
  9. self,
  10. dora_event,
  11. send_output,
  12. ) -> DoraStatus:
  13. """TODO: Add docstring."""
  14. if dora_event["type"] == "INPUT":
  15. audio = dora_event["value"].to_numpy()
  16. audio = whisper.pad_or_trim(audio)
  17. result = model.transcribe(audio, language="en")
  18. send_output("text", pa.array([result["text"]]), dora_event["metadata"])
  19. return DoraStatus.CONTINUE