Skip to content

Nick088Official/versatile_audio_super_resolution

 
 

Repository files navigation

AudioSR: Versatile Audio Super-resolution at Scale

arXiv githubio Replicate

Pass your audio in, AudioSR will make it high fidelity!

Work on all types of audio (e.g., music, speech, dog, raining, ...) & all sampling rates.

Share your thoughts/samples/issues in our discord channel: https://discord.gg/HWeBsJryaf

Image Description

Locally

Gradio (WEB UI) Demo

To run the Gradio demo locally:

  1. Install dependencies: pip install -r requirements.txt
  2. Run the app: python app.py
  3. Open the URL displayed to view the demo

Commandline (NO UI) Usage

Installation

# Optional
conda create -n audiosr python=3.9; conda activate audiosr
# Install AudioLDM (NO UI ONLY)
pip3 install audiosr
# or (NO UI ONLY)
pip3 install git+https://github.com/Nick088Official/versatile_audio_super_resolution.git
# For using also the Gradio Web UI do:
git clone https://github.com/Nick088Official/versatile_audio_super_resolution.git

Usage

Process a list of files. The result will be saved at ./output by default.

audiosr -il batch.lst

Process a single audio file.

audiosr -i example/music.wav

Full usage instruction

> audiosr -h

> usage: audiosr [-h] -i INPUT_AUDIO_FILE [-il INPUT_FILE_LIST] [-s SAVE_PATH] [--model_name {basic,speech}] [-d DEVICE] [--ddim_steps DDIM_STEPS] [-gs GUIDANCE_SCALE] [--seed SEED]

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT_AUDIO_FILE, --input_audio_file INPUT_AUDIO_FILE
                        Input audio file for audio super resolution
  -il INPUT_FILE_LIST, --input_file_list INPUT_FILE_LIST
                        A file that contains all audio files that need to perform audio super resolution
  -s SAVE_PATH, --save_path SAVE_PATH
                        The path to save model output
  --model_name {basic,speech}
                        The checkpoint you gonna use
  -d DEVICE, --device DEVICE
                        The device for computation. If not specified, the script will automatically choose the device based on your environment.
  --ddim_steps DDIM_STEPS
                        The sampling step for DDIM
  -gs GUIDANCE_SCALE, --guidance_scale GUIDANCE_SCALE
                        Guidance scale (Large => better quality and relavancy to text; Small => better diversity)
  --seed SEED           Change this value (any integer number) will lead to a different generation result, also if you set it to 0, it will use a random one.
  --suffix SUFFIX       Suffix for the output file

If you'd desire to use a random seed, you can add $(python -c "import random; print(random.randint(1, 2**32-1))") to the --seed argument, like: --seed $(python -c "import random; print(random.randint(1, 2**32-1))")

Online

Google Colabs

  • NO UI Open In Colab

Hugging Face Space

Hugging Face Space🤗

Kaggle

  • UI (WORK IN PROGRESS)
  • NO UI (WORK IN PROGRESS)

Change Log

  • 2024-07-02: Added NO UI Google Colab & Set Random seed when input seed value is 0 (not to the package, written ways in the readme, and added it to the online ports and gradio demo).
  • 2024-05-10: Added Gradio Demo.
  • 2023-09-24: Add replicate demo (@nateraw); Fix error on windows, librosa warning etc (@ORI-Muchim).
  • 2023-09-16: Fix DC shift issue. Fix duration padding bug. Update default DDIM steps to 50.

TODO

"Buy Me A Coffee"

  • Optimize the inference speed.

Cite our work

If you find this repo useful, please consider citing:

@article{liu2023audiosr,
  title={{AudioSR}: Versatile Audio Super-resolution at Scale},
  author={Liu, Haohe and Chen, Ke and Tian, Qiao and Wang, Wenwu and Plumbley, Mark D},
  journal={arXiv preprint arXiv:2309.07314},
  year={2023}
}

About

Versatile audio super resolution (any -> 48kHz) with AudioSR.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.6%
  • Jupyter Notebook 2.4%