diff --git a/README.md b/README.md index 18fdc90..e38fbd3 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ - [Audio Waveforms](#audio-waveforms) - [Spectrograms](#spectrograms) - [Complex-Valued Spectrograms](#complex-valued-spectrograms) + - [Real-Valued Spectrograms](#real-valued-spectrograms) - [Filter Banks](#filter-banks) - [License](#license) @@ -38,6 +39,10 @@ A spectrogram (`SPECT`) can be one of three types: [![Generating, plotting, and inverting a complex-valued spectrogram](workflows/spectrogram/complex-valued-spectrogram.png)](workflows/spectrogram/complex-valued-spectrogram.json) +### Real-Valued Spectrograms + +[![Generating, plotting, and inverting a real-valued spectrogram](workflows/spectrogram/real-valued-spectrogram.png)](workflows/spectrogram/real-valued-spectrogram.json) + ## Filter Banks | Name | Description | diff --git a/workflows/spectrogram/real-valued-spectrogram.json b/workflows/spectrogram/real-valued-spectrogram.json new file mode 100644 index 0000000..06b3f34 --- /dev/null +++ b/workflows/spectrogram/real-valued-spectrogram.json @@ -0,0 +1,555 @@ +{ + "last_node_id": 18, + "last_link_id": 24, + "nodes": [ + { + "id": 1, + "type": "LoadAudio", + "pos": [ + 737, + 502 + ], + "size": { + "0": 315, + "1": 124 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 1, + 3 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadAudio" + }, + "widgets_values": [ + null, + "" + ] + }, + { + "id": 2, + "type": "ComfyAudio.Spectrogram", + "pos": [ + 1198, + 502 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 1 + } + ], + "outputs": [ + { + "name": "SPECT", + "type": "SPECT", + "links": [ + 16, + 22 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ComfyAudio.Spectrogram" + }, + "widgets_values": [ + "power", + 400, + -1, + -1 + ] + }, + { + "id": 3, + "type": "PreviewAudio", + "pos": [ + 1201, + 731 + ], + "size": { + "0": 315, + "1": 76 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 4 + } + ], + "properties": { + "Node name for S&R": "PreviewAudio" + }, + "widgets_values": [ + null + ] + }, + { + "id": 4, + "type": "Reroute", + "pos": [ + 1074, + 731 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 3 + } + ], + "outputs": [ + { + "name": "", + "type": "AUDIO", + "links": [ + 4, + 5 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 5, + "type": "ComfyAudio.PlotWaveform", + "pos": [ + 1201, + 851 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 5 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 6 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ComfyAudio.PlotWaveform" + }, + "widgets_values": [ + "Waveform", + "Time (s)", + "Amplitude", + true + ] + }, + { + "id": 6, + "type": "PreviewImage", + "pos": [ + 1537, + 729 + ], + "size": { + "0": 409, + "1": 327 + }, + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 6 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 8, + "type": "PreviewAudio", + "pos": [ + 2443, + 731 + ], + "size": { + "0": 315, + "1": 76 + }, + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 23 + } + ], + "properties": { + "Node name for S&R": "PreviewAudio" + }, + "widgets_values": [ + null + ] + }, + { + "id": 10, + "type": "ComfyAudio.PlotWaveform", + "pos": [ + 2442, + 919 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 24 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 12 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ComfyAudio.PlotWaveform" + }, + "widgets_values": [ + "Waveform", + "Time (s)", + "Amplitude", + true + ] + }, + { + "id": 12, + "type": "PreviewImage", + "pos": [ + 1997, + 730 + ], + "size": { + "0": 409, + "1": 327 + }, + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 12 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 15, + "type": "ComfyAudio.PlotSpectrogram", + "pos": [ + 1198, + 304 + ], + "size": { + "0": 315, + "1": 154 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "spectrogram", + "type": "SPECT", + "link": 16 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 19 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ComfyAudio.PlotSpectrogram" + }, + "widgets_values": [ + "power", + "Spectrogram", + "Time (s)", + "Frequency (Hz)", + false + ] + }, + { + "id": 17, + "type": "PreviewImage", + "pos": [ + 1532, + 304 + ], + "size": { + "0": 409, + "1": 327 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 19 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 18, + "type": "ComfyAudio.GriffinLim", + "pos": [ + 2083, + 492 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "spectrogram", + "type": "SPECT", + "link": 22 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 23, + 24 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ComfyAudio.GriffinLim" + }, + "widgets_values": [ + 32, + 0.99 + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 2, + 0, + "AUDIO" + ], + [ + 3, + 1, + 0, + 4, + 0, + "*" + ], + [ + 4, + 4, + 0, + 3, + 0, + "AUDIO" + ], + [ + 5, + 4, + 0, + 5, + 0, + "AUDIO" + ], + [ + 6, + 5, + 0, + 6, + 0, + "IMAGE" + ], + [ + 12, + 10, + 0, + 12, + 0, + "IMAGE" + ], + [ + 16, + 2, + 0, + 15, + 0, + "SPECT" + ], + [ + 19, + 15, + 0, + 17, + 0, + "IMAGE" + ], + [ + 22, + 2, + 0, + 18, + 0, + "SPECT" + ], + [ + 23, + 18, + 0, + 8, + 0, + "AUDIO" + ], + [ + 24, + 18, + 0, + 10, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "title": "Original Audio", + "bounding": [ + 1191, + 655, + 765, + 411 + ], + "color": "#3f789e", + "font_size": 24 + }, + { + "title": "Reconstructed Audio from Spectrogram", + "bounding": [ + 1987, + 656, + 781, + 411 + ], + "color": "#3f789e", + "font_size": 24 + }, + { + "title": "Real-Valued Spectrogram", + "bounding": [ + 1188, + 230, + 763, + 412 + ], + "color": "#3f789e", + "font_size": 24 + } + ], + "config": {}, + "extra": { + "ds": { + "scale": 0.7513148009015777, + "offset": [ + -287.2675454545451, + 286.19709090909066 + ] + } + }, + "version": 0.4 +} \ No newline at end of file diff --git a/workflows/spectrogram/real-valued-spectrogram.png b/workflows/spectrogram/real-valued-spectrogram.png new file mode 100644 index 0000000..975f946 Binary files /dev/null and b/workflows/spectrogram/real-valued-spectrogram.png differ