{"id":13825078,"url":"https://github.com/rnnh/vaporiser","last_synced_at":"2025-07-08T21:31:03.888Z","repository":{"id":43489664,"uuid":"263039220","full_name":"rnnh/vaporiser","owner":"rnnh","description":"🎵 Creates a vaporwave (slowed, with reverb) remix of a given MP3 file, with the option of playing over a looped GIF as a video.","archived":false,"fork":false,"pushed_at":"2024-01-22T22:08:39.000Z","size":72,"stargazers_count":45,"open_issues_count":2,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-02-12T16:21:47.960Z","etag":null,"topics":["audio","audio-processing","gif","mp3","music","python","python3","remix","reverb","sox","vaporwave","video","video-production"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rnnh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"rnn_h"}},"created_at":"2020-05-11T12:43:02.000Z","updated_at":"2024-08-04T09:03:09.946Z","dependencies_parsed_at":"2023-01-28T14:32:00.951Z","dependency_job_id":"a6bcefac-4afc-4851-b23f-61972ed98f16","html_url":"https://github.com/rnnh/vaporiser","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/rnnh/vaporiser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnnh%2Fvaporiser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnnh%2Fvaporiser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnnh%2Fvaporiser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnnh%2Fvaporiser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rnnh","download_url":"https://codeload.github.com/rnnh/vaporiser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnnh%2Fvaporiser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264352637,"owners_count":23594937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","audio-processing","gif","mp3","music","python","python3","remix","reverb","sox","vaporwave","video","video-production"],"created_at":"2024-08-04T09:01:14.433Z","updated_at":"2025-07-08T21:31:03.585Z","avatar_url":"https://github.com/rnnh.png","language":"Python","funding_links":["https://ko-fi.com/rnn_h","https://ko-fi.com/rnn_h'"],"categories":["Python"],"sub_categories":[],"readme":"![vaporiser](assets/logo.svg)\n![GitHub repo size](https://img.shields.io/github/repo-size/rnnh/vaporiser)\n![GitHub licence](https://img.shields.io/github/license/rnnh/vaporiser)\n![Code style: Black](https://img.shields.io/badge/code%20style-black-black)\n[![Test Python Environment](https://github.com/rnnh/vaporiser/actions/workflows/test-venv.yml/badge.svg)](https://github.com/rnnh/vaporiser/actions/workflows/test-venv.yml)\n\n\u003ca href='https://ko-fi.com/rnn_h' target='_blank'\u003e\u003cimg height='30' style='border:0px;height:30px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' /\u003e\n\n[ｖａｐｏｒｉｓｅｒ](https://github.com/rnnh/vaporiser) is a Python script that creates a vaporwave (slowed, with reverb) remix of a given MP3 file, with the option of playing over a looped GIF as a video.\nIt applies audio effects to an input MP3 file, and writes the result to a new MP3 file.\nIf a GIF is given in the command, an MP4 video file of the GIF on repeat for the duration of the remix is also created.\nVaporiser can apply the following audio effects:\n\n- Speed shift\n- Pitch shift\n- Reverb\n- Lowpass filter\n- Bass boost\n- Gain adjustment\n- Out Of Phase Stereo (karaoke) effect\n- Phaser effect\n- Tremolo effect\n- Compand\n\nSee [usage](#usage) for details of available effects.\n\n# Contents\n\n- [System requirements](#system-requirements)\n- [Setup instructions](#setup-instructions)\n- [Usage](#usage)\n\n# System requirements\n\n## Required software\n\n- [Python](https://www.python.org/) 3.10 or higher\n- Python modules in [requirements.txt](requirements.txt)\n- [Sound eXchange (SoX)](http://sox.sourceforge.net/)\n- [libsox-fmt-mp3 for SoX MP3 support](https://pkgs.org/download/libsox-fmt-mp3)\n- A UNIX operating system (Linux or macOS)\n\n## Using vaporiser on Windows\n\nThis project is written to be used through a UNIX (Linux or Mac with macOS Mojave or later) operating system (OS).\nIf you are using Windows, you can use this project on a Linux OS (e.g. [Ubuntu](https://ubuntu.com/)) through either:\n\n- [Windows Subsytem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/about)\n- [A virtual machine](https://ubuntu.com/tutorials/how-to-run-ubuntu-desktop-on-a-virtual-machine-using-virtualbox)\n\n## Installing SoX\n\nSoX and libson-fmt-mp3 can be installed with the following commands:\n\n```bash\n$ sudo apt install sox\n$ sudo apt-get install libsox-fmt-mp3\n```\n\n## Installing Python 3.10 and venv on Ubuntu\n\n```bash\n$ sudo apt install python3.10\n$ sudo apt-get install python3.10-venv\n```\n\n# Setup instructions\n\n## Clone the repo\n\n```bash\n$ git clone https://github.com/rnnh/vaporiser.git\n$ cd vaporiser/\n```\n\n## Create a virtual environment\n\n```bash\n/vaporiser$ python3.10 -m venv env\n/vaporiser$ source env/bin/activate\n```\n\n## Install required packages\n\n```bash\n(env) /vaporiser$ pip install --upgrade pip\n(env) /vaporiser$ pip install -r requirements.txt\n```\n\n## Optional: Make script executable\n\nMaking the script executable will allow it to be called from the command line using `$ ./vaporiser.py` instead of `$ python vaporiser.py` when the virtual environment is active.\n\n```bash\n(env) $ chmod +x vaporiser.py\n```\n\n# Usage\n\n## Example\n\nVaporiser can be used to create a remix of the file `audio_file.mp3` with the following command:\n\n```bash\n$ python vaporiser.py --audio audio_file.mp3\n```\n\nThe remixed audio will be written to the file `audio_file_vaporised.mp3`.\nBy default, `_vaporised` is added to the end of the output filenames, unless an output filename is specified using the `--output` argument.\n\n## Help text\n\n```bash\n$ python vaporiser.py --help\n```\n\n```\nusage: vaporiser.py [-h] [-o OUTPUT_NAME] -a AUDIO_INPUT [-s SPEED_RATIO]\n                    [-p PITCH_SHIFT] [-l LOWPASS_CUTOFF] [-b BASS_BOOST]\n                    [-ga GAIN_DB] [-op] [-ph] [-tr] [-co] [-nr] [-g GIF_FILE]\n                    [-sb]\n\nCreates a vaporwave (slowed, with reverb) remix of a given MP3 file, with\nmultiple audio effects available, and the option of playing over a looped GIF\nas a video.\n\noptions:\n  -h, --help            show this help message and exit\n  -o OUTPUT_NAME, --output OUTPUT_NAME\n                        Name of output file(s), instead of audio file name\n                        with the addition of '_vaporised'. (default: None)\n\nrequired arguments:\n  -a AUDIO_INPUT, --audio AUDIO_INPUT\n                        Input audio file to vaporise (.mp3) (default: None)\n\naudio arguments:\n  these arguments control audio effects that will be applied by default\n\n  -s SPEED_RATIO, --speed SPEED_RATIO\n                        Ratio of new playback speed to old speed. (default:\n                        0.75)\n  -p PITCH_SHIFT, --pitch PITCH_SHIFT\n                        Pitch shift (100ths of a semitone). (default: -75)\n  -l LOWPASS_CUTOFF, --lowpass LOWPASS_CUTOFF\n                        Cutoff for lowpass filter (Hz). (default: 3500)\n\nextra audio arguments:\n  these arguments control extra, optional audio effects\n\n  -b BASS_BOOST, --bass BASS_BOOST\n                        Add a bass boost effect (e.g. --bass 3). (default:\n                        None)\n  -ga GAIN_DB, --gain GAIN_DB\n                        Applies gain (dB). (default: None)\n  -op, --oops           Applies Out Of Phase Stereo effect. This is sometimes\n                        known as the ‘karaoke’ effect as it often has the\n                        effect of removing most or all of the vocals from a\n                        recording. (default: False)\n  -ph, --phaser         Enable phaser effect. (default: False)\n  -tr, --tremolo        Enable tremolo effect. (default: False)\n  -co, --compand        Enable compand, which compresses the dynamic range of\n                        the audio. (default: False)\n  -nr, --noreverb       Disables reverb. (default: False)\n\nvideo arguments:\n  optional arguments, result in an MP4 video output in addition to the MP3\n  audio\n\n  -g GIF_FILE, --gif GIF_FILE\n                        Input GIF file to loop. Without a GIF, only an MP3 is\n                        created. With a GIF, an MP4 video is also created.\n                        (default: None)\n  -sb, --sobel          Applies a Sobel filter to video output. (default:\n                        False)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frnnh%2Fvaporiser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frnnh%2Fvaporiser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frnnh%2Fvaporiser/lists"}