diff options
| author | tassaron | 2026-01-13 22:38:51 -0500 |
|---|---|---|
| committer | tassaron | 2026-01-13 22:38:51 -0500 |
| commit | dbf431ff72a133aa8c197f0c4a7fb54a7a483244 (patch) | |
| tree | 95da7dffe18f2d34d48167f557637f10c322babb | |
| parent | 50f5a76603a3f97f2c6f6a1d3cefea88ed3497aa (diff) | |
update readme: recommend pipx and uv + change headers
| -rw-r--r-- | README.md | 53 |
1 files changed, 34 insertions, 19 deletions
| @@ -6,29 +6,44 @@ This is a little GUI tool which creates an audio visualization video from an inp | |||
| 6 | 6 | ||
| 7 | The program works on **Linux**, **macOS**, and **Windows**. If you encounter problems running it or have other bug reports or features that you wish to see implemented, please fork the project and submit a pull request and/or file an [issue](https://github.com/djfun/audio-visualizer-python/issues) on this project. | 7 | The program works on **Linux**, **macOS**, and **Windows**. If you encounter problems running it or have other bug reports or features that you wish to see implemented, please fork the project and submit a pull request and/or file an [issue](https://github.com/djfun/audio-visualizer-python/issues) on this project. |
| 8 | 8 | ||
| 9 | # Screenshots & Videos | 9 | ## Screenshots & Videos |
| 10 | 10 | ||
| 11 | [<img title="AVP running on Windows" alt="Screenshot of program on Windows" src="screenshot.png" width="707">](/screenshot.png?raw=true) | 11 | [<img title="AVP running on Windows" alt="Screenshot of program on Windows" src="screenshot.png" width="707">](/screenshot.png?raw=true) |
| 12 | 12 | ||
| 13 | ## A video created by this app | 13 | ### A video created by this app |
| 14 | 14 | ||
| 15 | - **[YouTube: A day in spring](https://www.youtube.com/watch?v=-M3jR1NuJHM)** 🎥 | 15 | - **[YouTube: A day in spring](https://www.youtube.com/watch?v=-M3jR1NuJHM)** 🎥 |
| 16 | 16 | ||
| 17 | ## Video demonstration of the app features | 17 | ### Video demonstration of the app features |
| 18 | 18 | ||
| 19 | - [YouTube: Audio Visualizer Python v2.0.0 demonstration](https://www.youtube.com/watch?v=EVt2ckQs1Yg) 🎥 | 19 | - [YouTube: Audio Visualizer Python v2.0.0 demonstration](https://www.youtube.com/watch?v=EVt2ckQs1Yg) 🎥 |
| 20 | 20 | ||
| 21 | # Installation | 21 | ## Installation on Linux |
| 22 | 22 | ||
| 23 | ## Installation on Ubuntu 24.04 | 23 | ### System dependencies |
| 24 | 24 | ||
| 25 | - Install system dependencies: `sudo apt install ffmpeg` | 25 | - Install FFmpeg: |
| 26 | - On Ubuntu: `sudo apt install ffmpeg` | ||
| 27 | - On Arch: `sudo pacman -S ffmpeg` | ||
| 28 | |||
| 29 | ### Using pipx | ||
| 30 | |||
| 31 | - **This is a good method if you just want to use the program** | ||
| 32 | - Install `pipx` tool if you don't have it: | ||
| 33 | - On Ubuntu: `sudo apt install python-pipx` | ||
| 34 | - On Arch: `sudo pacman -S python-pipx` | ||
| 35 | - Install this program: `pipx install git+https://github.com/djfun/audio-visualizer-python` | ||
| 36 | - Run this program with `avp` or `python -m avp` from terminal | ||
| 37 | |||
| 38 | ### Using a Python virtual environment | ||
| 39 | |||
| 40 | - **This is a good method if you want to edit the code** | ||
| 26 | - Make a virtual environment: `python -m venv env` | 41 | - Make a virtual environment: `python -m venv env` |
| 27 | - Activate it: `source env/bin/activate` | 42 | - Activate it: `source env/bin/activate` |
| 28 | - Install Python dependencies: `pip install uv` | 43 | - Install uv: `pip install uv` |
| 29 | - Install this program: `uv sync` in this directory | 44 | - Install this program by running `uv sync` in this directory |
| 30 | - Run the program with `python -m avp` from terminal | 45 | - Run program with `avp` or `python -m avp` or `uv run avp` |
| 31 | - Optional: Unit tests can be run with `uv run pytest` | 46 | - Optional: Tests can be run with `uv run pytest` |
| 32 | 47 | ||
| 33 | ## Installation on Windows | 48 | ## Installation on Windows |
| 34 | 49 | ||
| @@ -38,14 +53,14 @@ The program works on **Linux**, **macOS**, and **Windows**. If you encounter pro | |||
| 38 | - Download and install [FFmpeg](https://www.ffmpeg.org/download.html). Use the GPL-licensed static builds. | 53 | - Download and install [FFmpeg](https://www.ffmpeg.org/download.html). Use the GPL-licensed static builds. |
| 39 | - Add FFmpeg to the system PATH as well (program will then work anywhere) | 54 | - Add FFmpeg to the system PATH as well (program will then work anywhere) |
| 40 | - Alternatively, copy ffmpeg.exe into the folder that you want to run the program within | 55 | - Alternatively, copy ffmpeg.exe into the folder that you want to run the program within |
| 41 | - Open command prompt, `cd` into the repo directory, and run: `pip install pyqt6 pillow numpy .` | 56 | - Open command prompt, `cd` into the repo directory, and run: `pip install .` |
| 42 | - Now run `avp` or `python -m avp` from a command prompt window to start the app | 57 | - Now run `avp` or `python -m avp` from a command prompt window to start the app |
| 43 | 58 | ||
| 44 | ## Installation on macOS | 59 | ## Installation on macOS |
| 45 | 60 | ||
| 46 | - We need help writing instructions for macOS, but the program should work in theory. | 61 | - We need help writing instructions for macOS, but the program should work in theory. |
| 47 | 62 | ||
| 48 | # [Keyboard Shortcuts](https://github.com/djfun/audio-visualizer-python/wiki/Keyboard-Shortcuts) | 63 | ## [Keyboard Shortcuts](https://github.com/djfun/audio-visualizer-python/wiki/Keyboard-Shortcuts) |
| 49 | 64 | ||
| 50 | | Key Combo | Effect | | 65 | | Key Combo | Effect | |
| 51 | | ------------------------ | --------------------------------------------- | | 66 | | ------------------------ | --------------------------------------------- | |
| @@ -67,19 +82,19 @@ The program works on **Linux**, **macOS**, and **Windows**. If you encounter pro | |||
| 67 | | Ctrl+Shift+U | Open Undo History | | 82 | | Ctrl+Shift+U | Open Undo History | |
| 68 | | Ctrl+Shift+F | Show FFmpeg Command | | 83 | | Ctrl+Shift+F | Show FFmpeg Command | |
| 69 | 84 | ||
| 70 | # Commandline Mode | 85 | ## Using commandline interface |
| 71 | 86 | ||
| 72 | Projects can be created with the GUI then loaded from the commandline for easy automation of video production. Some components have commandline options for extra customization, and you can save "presets" with settings to load if the commandline option doesn't exist. | 87 | Projects can be created with the GUI then loaded from the commandline for easy automation of video production. Some components have commandline options for extra customization, and you can save "presets" with settings to load if the commandline option doesn't exist. |
| 73 | 88 | ||
| 74 | ## Example/test command | 89 | ### Example command |
| 75 | 90 | ||
| 76 | - Create a video with a grey "classic visualizer", background image, and text: | 91 | - Create a video with a grey "classic visualizer", background image, and text: |
| 77 | - `avp -c 0 image path=src/tests/data/test.jpg -c 1 classic color=180,180,180 -c 2 text "title=Episode 371" -i src/tests/data/test.ogg -o output.mp4` | 92 | - `avp -c 0 image path=src/tests/data/test.jpg -c 1 classic color=180,180,180 -c 2 text "title=Episode 371" -i src/tests/data/test.ogg -o output.mp4` |
| 78 | - [See more about commandline mode in the wiki!](https://github.com/djfun/audio-visualizer-python/wiki/Commandline-Mode) | 93 | - [See more about commandline mode in the wiki!](https://github.com/djfun/audio-visualizer-python/wiki/Commandline-Mode) |
| 79 | 94 | ||
| 80 | # Developer Information | 95 | ## Developer Information |
| 81 | 96 | ||
| 82 | ## Known Working Versions of Dependencies | 97 | ### Dependencies |
| 83 | 98 | ||
| 84 | - Python 3.13 | 99 | - Python 3.13 |
| 85 | - FFmpeg 4.4.1 - 8.0.1 | 100 | - FFmpeg 4.4.1 - 8.0.1 |
| @@ -87,16 +102,16 @@ Projects can be created with the GUI then loaded from the commandline for easy a | |||
| 87 | - Pillow 12.1.0 | 102 | - Pillow 12.1.0 |
| 88 | - NumPy 2.4.1 | 103 | - NumPy 2.4.1 |
| 89 | 104 | ||
| 90 | ## Getting Faster Export Times | 105 | ### Getting Faster Export Times |
| 91 | 106 | ||
| 92 | - [Pillow-SIMD](https://github.com/uploadcare/pillow-simd) may be used as a drop-in replacement for Pillow if you desire faster video export times, but it must be compiled from source. For help installing dependencies to compile Pillow-SIMD, see the [Pillow installation guide](https://pillow.readthedocs.io/en/stable/installation/building-from-source.html). | 107 | - [Pillow-SIMD](https://github.com/uploadcare/pillow-simd) may be used as a drop-in replacement for Pillow if you desire faster video export times, but it must be compiled from source. For help installing dependencies to compile Pillow-SIMD, see the [Pillow installation guide](https://pillow.readthedocs.io/en/stable/installation/building-from-source.html). |
| 93 | 108 | ||
| 94 | ## Developing a New Component | 109 | ### Developing a New Component |
| 95 | 110 | ||
| 96 | - Information for developing a component is in our wiki: [How a Component Works](https://github.com/djfun/audio-visualizer-python/wiki/How-a-Component-Works) | 111 | - Information for developing a component is in our wiki: [How a Component Works](https://github.com/djfun/audio-visualizer-python/wiki/How-a-Component-Works) |
| 97 | - File an issue on GitHub if you need help fitting your visualizer into our component system; we would be happy to collaborate | 112 | - File an issue on GitHub if you need help fitting your visualizer into our component system; we would be happy to collaborate |
| 98 | 113 | ||
| 99 | # License | 114 | ## License |
| 100 | 115 | ||
| 101 | Source code of audio-visualizer-python is licensed under the MIT license. | 116 | Source code of audio-visualizer-python is licensed under the MIT license. |
| 102 | 117 | ||
