Skip to content

Commit

Permalink
Speech to text example
Browse files Browse the repository at this point in the history
  • Loading branch information
haixuanTao committed Aug 16, 2024
1 parent 6caa739 commit 449cf8a
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
1 change: 1 addition & 0 deletions examples/speech-to-text/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.pt
41 changes: 41 additions & 0 deletions examples/speech-to-text/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Python Dataflow Example

This examples shows how to create and connect dora nodes in Python.

## Overview

The [`dataflow.yml`](./dataflow.yml) defines a simple dataflow graph with the following three nodes:

- a webcam node, that connects to your webcam and feed the dataflow with webcam frame as jpeg compressed bytearray.
- a window plotting node, that will retrieve the webcam image and plot it.

The same dataflow is implemented for a `dynamic-node` in [`dataflow_dynamic.yml`](./dataflow_dynamic.yml). It contains
the same nodes as the previous dataflow, but the plot node is a dynamic node. See the next section for more
information on how to start such a dataflow.

## Getting started

After installing Rust, `dora-cli` and `Python >3.11`, you will need to **activate** (or create and **activate**) a
[Python virtual environment](https://docs.python.org/3/library/venv.html).
Then, you will need to install the dependencies:

```bash
cd examples/python-dataflow
dora build ./dataflow.yml (or dora build ./dataflow_dynamic.yml)
```

It will install the required dependencies for the Python nodes.

Then you can run the dataflow:

```bash
dora up
dora start ./dataflow.yml (or dora start ./dataflow_dynamic.yml)
```

**Note**: if you're running the dynamic dataflow, you will need to start manually the ultralytics-yolo node:

```bash
# activate your virtual environment in another terminal
python opencv-plot --name plot
```
20 changes: 20 additions & 0 deletions examples/speech-to-text/dataflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
nodes:
- id: dora-microphone
build: pip install -e ../../node-hub/dora-microphone
path: dora-microphone
outputs:
- audio

- id: dora-distil-whisper
build: pip install -e ../../node-hub/dora-distil-whisper
path: dora-distil-whisper
inputs:
input: dora-microphone/audio
outputs:
- text

- id: terminal-print
build: cargo build -p terminal-print
path: dynamic
inputs:
text: dora-distil-whisper/text

0 comments on commit 449cf8a

Please sign in to comment.