An open API service indexing awesome lists of open source software.

https://github.com/rhdunn/comfyui-audio-processing

A collection of nodes for working with audio data.
https://github.com/rhdunn/comfyui-audio-processing

audio audio-analysis audio-visualizer comfyui-nodes spectrogram

Last synced: 2 days ago
JSON representation

A collection of nodes for working with audio data.

Awesome Lists containing this project

README

        

# comfyui-audio-plugin
> A collection of nodes for working with audio data.

- [Audio Waveforms](#audio-waveforms)
- [Spectrograms](#spectrograms)
- [Complex-Valued Spectrograms](#complex-valued-spectrograms)
- [Real-Valued Spectrograms](#real-valued-spectrograms)
- [Filter Banks](#filter-banks)
- [Linear-scale Spectrograms](#linear-scale-spectrograms)
- [Mel-scale Spectrograms](#mel-scale-spectrograms)
- [License](#license)

> [!NOTE]
>
> This plugin is compatible with the ComfyUI audio nodes.

## Audio Waveforms

| Name | Description |
|----------------------|-------------------------------------------------------------------------------------|
| Load Audio From Path | Same as "Load Audio" but loads from a local path instead of an uploaded audio file. |
| Plot Waveform | Plots the waveform of an `AUDIO` object. |

[![Plotting an audio waveform](workflows/waveform/plot-waveform.png)](workflows/waveform/plot-waveform.json)

## Spectrograms

| Name | Description |
|---------------------|--------------------------------------------------------------------------------|
| Spectrogram | Computes the spectrogram of a given `AUDIO` object. |
| Inverse Spectrogram | Converts a complex-valued spectrogram to `AUDIO`. |
| Griffin Lim | Converts a real-valued spectrogram to `AUDIO` using the Griffin-Lim algorithm. |
| Plot Spectrogram | Plots the spectrogram of a `SPECT` object. |

A spectrogram (`SPECT`) can be one of three types:
1. `complex` – a complex number valued spectrogram;
2. `magnitude` – a real valued spectrogram that is the absolute value of the `complex` spectrogram (power 1);
3. `power` – a real valued spectrogram that is the square of the `magnitude` spectrogram (power 2);

### Complex-Valued Spectrograms

[![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 |
|-----------------------|-----------------------------------------------------|
| Linear Filter Bank | Create a linear filter bank. |
| Mel-scale Filter Bank | Create a mel-scale filter bank. |
| Apply Filter Bank | Apply the specified filter bank to the spectrogram. |
| Plot Filter Bank | Plots the `FILTER_BANK` object. |

### Linear-scale Spectrograms

[![Generating and plotting linear-scaled spectrograms](workflows/filter%20bank/linear-scale-spectrogram.png)](workflows/filter%20bank/linear-scale-spectrogram.json)

### Mel-scale Spectrograms

[![Generating and plotting mel-scaled spectrograms](workflows/filter%20bank/mel-scale-spectrogram.png)](workflows/filter%20bank/mel-scale-spectrogram.json)

## License
Copyright (C) 2024 Reece H. Dunn

SPDX-License-Identifier: [GPL-3](LICENSE)