diff --git a/README.md b/README.md index 5171799..9fcf149 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,16 @@ This package provides custom nodes for ComfyUI to perform transcription tasks on isolated -Note: To text (Debug) is part of [ComfyUI-Manager](https://github.com/ltdrdata/ComfyUI-Manager), but you probably have that installed already. +Note: To text (Debug) is part of [Derfuu_ModdedNodes](https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes). ## Documentation -[See Docs](docs/README.md) +[Example Workflows](docs/workflows.md) + +[Node Info](docs/nodes.md) + +[Supported Transcription Models](docs/models.md) + ## Special Thanks diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 8452286..0000000 --- a/docs/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# ComfyUI Transcription Tools Docs - -[Nodes](nodes.md) - -[Supported Transcription Models](models.md) diff --git a/docs/workflows.md b/docs/workflows.md new file mode 100644 index 0000000..0e0d7ef --- /dev/null +++ b/docs/workflows.md @@ -0,0 +1,18 @@ +# Workflows + +## Single Transcribe + +Loads audio or video files from the `input/` folder. Saves the transcription to the `output/transcriptions` folder. + +[single_transcribe.json](../workflows/single_transcribe.json) + +isolated + + +## Batch Transcribe + +Loads audio and video files from the selected folder. Folders may be selected relative to the `input/` or the system root. Saves the transcriptions to the `output/transcriptions` folder. + +[batch_transcribe.json](../workflows/batch_transcribe.json) + +isolated diff --git a/workflows/batch_transcribe.jpg b/workflows/batch_transcribe.jpg new file mode 100644 index 0000000..eaf1d27 Binary files /dev/null and b/workflows/batch_transcribe.jpg differ diff --git a/workflows/batch_transcribe.json b/workflows/batch_transcribe.json new file mode 100644 index 0000000..5bada32 --- /dev/null +++ b/workflows/batch_transcribe.json @@ -0,0 +1,252 @@ +{ + "last_node_id": 9, + "last_link_id": 7, + "nodes": [ + { + "id": 1, + "type": "TT-LoadWhisperModel", + "pos": [ + 100, + 100 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "pipeline", + "type": "TRANSCRIPTION_PIPELINE", + "links": [ + 4 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "TT-LoadWhisperModel" + }, + "widgets_values": [ + "openai/whisper-large-v3", + "en" + ] + }, + { + "id": 6, + "type": "TT-WhisperTranscriptionBatch", + "pos": [ + 475, + 100 + ], + "size": { + "0": 315, + "1": 198 + }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "pipeline", + "type": "TRANSCRIPTION_PIPELINE", + "link": 4 + }, + { + "name": "wav_bytes_batch", + "type": "WAV_BYTES_BATCH", + "link": 5 + } + ], + "properties": { + "Node name for S&R": "TT-WhisperTranscriptionBatch" + }, + "widgets_values": [ + true, + true, + true, + "demo_", + "", + true + ] + }, + { + "id": 7, + "type": "TT-LoadBatch", + "pos": [ + 100, + 225 + ], + "size": { + "0": 315, + "1": 170 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "wav_bytes_batch", + "type": "WAV_BYTES_BATCH", + "links": [ + 5 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "count", + "type": "INT", + "links": [ + 6 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "filenames", + "type": "LIST[STRING]", + "links": [ + 7 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "TT-LoadBatch" + }, + "widgets_values": [ + "input", + "", + "", + "" + ] + }, + { + "id": 8, + "type": "To text (Debug)", + "pos": [ + 700, + 350 + ], + "size": { + "0": 216.59999084472656, + "1": 96 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "ANY", + "type": "*", + "link": 6 + } + ], + "outputs": [ + { + "name": "SAME AS INPUT", + "type": "*", + "links": null, + "shape": 3 + }, + { + "name": "STRING", + "type": "STRING", + "links": null, + "shape": 6 + } + ], + "properties": { + "Node name for S&R": "To text (Debug)" + }, + "widgets_values": [ + "1" + ] + }, + { + "id": 9, + "type": "To text (Debug)", + "pos": [ + 475, + 350 + ], + "size": { + "0": 216.59999084472656, + "1": 96 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "ANY", + "type": "*", + "link": 7 + } + ], + "outputs": [ + { + "name": "SAME AS INPUT", + "type": "*", + "links": null, + "shape": 3 + }, + { + "name": "STRING", + "type": "STRING", + "links": null, + "shape": 6 + } + ], + "properties": { + "Node name for S&R": "To text (Debug)" + }, + "widgets_values": [ + "['bho_2014_1120_ImmigrationSpeech.mp4']" + ] + } + ], + "links": [ + [ + 4, + 1, + 0, + 6, + 0, + "TRANSCRIPTION_PIPELINE" + ], + [ + 5, + 7, + 0, + 6, + 1, + "WAV_BYTES_BATCH" + ], + [ + 6, + 7, + 1, + 8, + 0, + "*" + ], + [ + 7, + 7, + 2, + 9, + 0, + "*" + ] + ], + "groups": [], + "config": {}, + "extra": {}, + "version": 0.4 +} diff --git a/workflows/single_transcribe.jpg b/workflows/single_transcribe.jpg new file mode 100644 index 0000000..a6611cd Binary files /dev/null and b/workflows/single_transcribe.jpg differ diff --git a/workflows/single_transcribe.json b/workflows/single_transcribe.json new file mode 100644 index 0000000..7deafef --- /dev/null +++ b/workflows/single_transcribe.json @@ -0,0 +1,231 @@ +{ + "last_node_id": 5, + "last_link_id": 3, + "nodes": [ + { + "id": 1, + "type": "TT-LoadWhisperModel", + "pos": [ + 100, + 100 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "pipeline", + "type": "TRANSCRIPTION_PIPELINE", + "links": [ + 1 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "TT-LoadWhisperModel" + }, + "widgets_values": [ + "openai/whisper-large-v3", + "en" + ] + }, + { + "id": 3, + "type": "TT-WhisperTranscription", + "pos": [ + 475, + 100 + ], + "size": { + "0": 315, + "1": 174 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "pipeline", + "type": "TRANSCRIPTION_PIPELINE", + "link": 1 + }, + { + "name": "wav_bytes", + "type": "WAV_BYTES", + "link": 2 + } + ], + "outputs": [ + { + "name": "transcription", + "type": "STRING", + "links": [ + 3 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "chunks", + "type": "STRING", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "TT-WhisperTranscription" + }, + "widgets_values": [ + true, + false, + false, + "transcription", + true + ] + }, + { + "id": 4, + "type": "To text (Debug)", + "pos": [ + 825, + 100 + ], + "size": { + "0": 216.59999084472656, + "1": 96 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "ANY", + "type": "*", + "link": 3 + } + ], + "outputs": [ + { + "name": "SAME AS INPUT", + "type": "*", + "links": null, + "shape": 3 + }, + { + "name": "STRING", + "type": "STRING", + "links": null, + "shape": 6 + } + ], + "properties": { + "Node name for S&R": "To text (Debug)" + }, + "widgets_values": [ + "" + ] + }, + { + "id": 5, + "type": "TT-LoadAudio", + "pos": [ + 100, + 225 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "wav_bytes", + "type": "WAV_BYTES", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "TT-LoadAudio" + }, + "widgets_values": [ + null + ] + }, + { + "id": 2, + "type": "TT-LoadVideoAudio", + "pos": [ + 100, + 325 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 2, + "mode": 0, + "outputs": [ + { + "name": "wav_bytes", + "type": "WAV_BYTES", + "links": [ + 2 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "TT-LoadVideoAudio" + }, + "widgets_values": [ + "", + { + "hidden": false, + "paused": false, + "params": {} + } + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 3, + 0, + "TRANSCRIPTION_PIPELINE" + ], + [ + 2, + 2, + 0, + 3, + 1, + "WAV_BYTES" + ], + [ + 3, + 3, + 0, + 4, + 0, + "*" + ] + ], + "groups": [], + "config": {}, + "extra": {}, + "version": 0.4 +}