Diffusion-based text-to-audio (TTA) generation has made substantial progress, leveraging Latent Diffusion Model (LDM) to produce high-quality, diverse and instruction-relevant audios. However, beyond generation, the task of audio editing remains equally important but has received comparatively little attention. Audio editing tasks face two primary challenges: executing precise edits and preserving the unedited sections. While workflows based on LDMs have effectively addressed these challenges in the field of image processing, similar approaches have been scarcely applied to audio editing. In this paper, we introduce AudioEditor, a training-free audio editing framework built on the pretrained diffusion-based TTA model. AudioEditor incorporates Null-text Inversion and EOT-Suppression methods, enabling the model to preserve original audio features while executing accurate edits. Comprehensive objective and subjective experiments validate the effectiveness of AudioEditor in delivering high-quality audio edits.
Clone the repository:
git clone https://github.com/YuuhangJia/AudioEditor.git
cd AudioEditor
Install the required dependencies:
pip install -r requirements.txt
Set up additional environment variables or configurations (if any):
export YOUR_ENV_VAR=your_value
We will release the code for the main methods proposed in our paper after its acceptance immediately!
To run the deletion on an audio with a simple example, use the following command:
python main.py --prompt "After a gunshot, there was a burst of dog barking" \
--audio_path "audio_examples/input_audios/After a gunshot, there was a burst of dog barking.wav" \
--token_indices "[[10,11]]" \
--alpha "[1.,]" --cross_retain_steps "[.2,]"
To run the Replacement on an audio with a simple example, use the following command:
python main.py --prompt "After a thunder, there was a burst of dog barking" \
--audio_path "audio_examples/input_audios/After a gunshot, there was a burst of dog barking.wav" \
--token_indices "[[3]]" \
--alpha "[-0.001,]" --cross_retain_steps "[.2,]"
python main.py --prompt "A woman is giving a speech amid applause" \
--audio_path "audio_examples/input_audios/A woman is giving a speech.wav" \
--token_indices "[[7,8]]" \
--alpha "[-0.001,]" --cross_retain_steps "[.2,]"
| Edit_Models | Edit_Type | Overall Quality | Similarity with (Regenerated_wavs) | Similarity with (Original_wavs) | |||||
| Clapβ | IS β | FD β | FAD β | KL β | FD β | FAD β | KL β | ||
| Original_wavs | add | 51.4% | 5.64 | 44.71 | 5.28 | 1.78 | - | - | - |
| delete | 51.5% | 4.26 | 51.82 | 6.16 | 1.85 | - | - | - | |
| replace | 41.6% | 4.41 | 69.92 | 7.88 | 4.56 | - | - | - | |
| Average | 48.2% | 4.77 | 55.48 | 6.45 | 2.73 | - | - | - | |
| Regenerated_wavs | add | 59.7% | 5.96 | - | - | - | 44.71 | 5.28 | 1.36 |
| delete | 59.1% | 4.47 | - | - | - | 51.82 | 6.16 | 2.39 | |
| replace | 58.9% | 5.13 | - | - | - | 69.92 | 7.88 | 4.09 | |
| Average | 59.2% | 5.19 | - | - | - | 55.48 | 6.45 | 2.61 | |
| SDEdit(baseline) | add | 58.4% | 6.36 | 27.89 | 2.74 | 0.79 | 36.74 | 3.08 | 1.08 |
| delete | 53.3% | 5.31 | 55.12 | 6.65 | 1.78 | 40.43 | 6.95 | 0.88 | |
| replace | 58.6% | 4.99 | 29.76 | 3.24 | 0.80 | 55.21 | 7.00 | 3.40 | |
| Average | 56.8% | 5.55 | 37.59 | 4.21* | 1.12* | 44.13* | 5.68* | 1.79 | |
| AudioEditor(ours) | add | 59.4% | 6.16 | 27.83 | 2.41 | 0.85 | 40.00 | 3.52 | 1.27 |
| delete | 54.1% | 4.75 | 52.56 | 5.02 | 1.54 | 37.16 | 4.91 | 1.05 | |
| replace | 58.1% | 5.14 | 28.80 | 3.34 | 0.79 | 59.46 | 7.52 | 3.73 | |
| Average | 57.6%* | 5.19* | 37.63* | 3.27 | 1.07 | 43.48 | 4.95 | 1.93* | |
Should you have any questions, please contact 2120240729@mail.nankai.edu.cn
Coming soon.
The code in this repository is licensed under the MIT License for academic and other non-commercial uses.
This code is based on the P2P, Null-text , SuppressEOT and Auffusion repositories.
7 commits
Python
99.2%
Diffusion-based text-to-audio (TTA) generation has made substantial progress, leveraging Latent Diffusion Model (LDM) to produce high-quality, diverse and instruction-relevant audios. However, beyond generation, the task of audio editing remains equally important but has received comparatively little attention. Audio editing tasks face two primary challenges: executing precise edits and preserving the unedited sections. While workflows based on LDMs have effectively addressed these challenges in the field of image processing, similar approaches have been scarcely applied to audio editing. In this paper, we introduce AudioEditor, a training-free audio editing framework built on the pretrained diffusion-based TTA model. AudioEditor incorporates Null-text Inversion and EOT-Suppression methods, enabling the model to preserve original audio features while executing accurate edits. Comprehensive objective and subjective experiments validate the effectiveness of AudioEditor in delivering high-quality audio edits.
Clone the repository:
git clone https://github.com/YuuhangJia/AudioEditor.git
cd AudioEditor
Install the required dependencies:
pip install -r requirements.txt
Set up additional environment variables or configurations (if any):
export YOUR_ENV_VAR=your_value
We will release the code for the main methods proposed in our paper after its acceptance immediately!
To run the deletion on an audio with a simple example, use the following command:
python main.py --prompt "After a gunshot, there was a burst of dog barking" \
--audio_path "audio_examples/input_audios/After a gunshot, there was a burst of dog barking.wav" \
--token_indices "[[10,11]]" \
--alpha "[1.,]" --cross_retain_steps "[.2,]"
To run the Replacement on an audio with a simple example, use the following command:
python main.py --prompt "After a thunder, there was a burst of dog barking" \
--audio_path "audio_examples/input_audios/After a gunshot, there was a burst of dog barking.wav" \
--token_indices "[[3]]" \
--alpha "[-0.001,]" --cross_retain_steps "[.2,]"
python main.py --prompt "A woman is giving a speech amid applause" \
--audio_path "audio_examples/input_audios/A woman is giving a speech.wav" \
--token_indices "[[7,8]]" \
--alpha "[-0.001,]" --cross_retain_steps "[.2,]"
| Edit_Models | Edit_Type | Overall Quality | Similarity with (Regenerated_wavs) | Similarity with (Original_wavs) | |||||
| Clapβ | IS β | FD β | FAD β | KL β | FD β | FAD β | KL β | ||
| Original_wavs | add | 51.4% | 5.64 | 44.71 | 5.28 | 1.78 | - | - | - |
| delete | 51.5% | 4.26 | 51.82 | 6.16 | 1.85 | - | - | - | |
| replace | 41.6% | 4.41 | 69.92 | 7.88 | 4.56 | - | - | - | |
| Average | 48.2% | 4.77 | 55.48 | 6.45 | 2.73 | - | - | - | |
| Regenerated_wavs | add | 59.7% | 5.96 | - | - | - | 44.71 | 5.28 | 1.36 |
| delete | 59.1% | 4.47 | - | - | - | 51.82 | 6.16 | 2.39 | |
| replace | 58.9% | 5.13 | - | - | - | 69.92 | 7.88 | 4.09 | |
| Average | 59.2% | 5.19 | - | - | - | 55.48 | 6.45 | 2.61 | |
| SDEdit(baseline) | add | 58.4% | 6.36 | 27.89 | 2.74 | 0.79 | 36.74 | 3.08 | 1.08 |
| delete | 53.3% | 5.31 | 55.12 | 6.65 | 1.78 | 40.43 | 6.95 | 0.88 | |
| replace | 58.6% | 4.99 | 29.76 | 3.24 | 0.80 | 55.21 | 7.00 | 3.40 | |
| Average | 56.8% | 5.55 | 37.59 | 4.21* | 1.12* | 44.13* | 5.68* | 1.79 | |
| AudioEditor(ours) | add | 59.4% | 6.16 | 27.83 | 2.41 | 0.85 | 40.00 | 3.52 | 1.27 |
| delete | 54.1% | 4.75 | 52.56 | 5.02 | 1.54 | 37.16 | 4.91 | 1.05 | |
| replace | 58.1% | 5.14 | 28.80 | 3.34 | 0.79 | 59.46 | 7.52 | 3.73 | |
| Average | 57.6%* | 5.19* | 37.63* | 3.27 | 1.07 | 43.48 | 4.95 | 1.93* | |
Should you have any questions, please contact 2120240729@mail.nankai.edu.cn
Coming soon.
The code in this repository is licensed under the MIT License for academic and other non-commercial uses.
This code is based on the P2P, Null-text , SuppressEOT and Auffusion repositories.
7 commits
Python
99.2%