1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
# vaporwave generator 旺育栄
A vaporwave music + image + video (+art soon, I promise) generator bodged together using code from various sources. Runs on Python 3. VHSVideo option is really really slow (Seconds per frame is 7.)
```
usage: main.py [-h] [-M] [-P] [-V] [-v] [-i INPUT] [-o OUTPUT]
| V A P O R W A V E || G E N E R A T O R |
optional arguments:
-h, --help show this help message and exit
-M, --music generate v a p o r w a v e music
-P, --picture generate VHS Style image
-V, --video VHS Style Video
-v, --version show program version
-i INPUT, --input INPUT
-o OUTPUT, --output OUTPUT
Output for specifying output video
```
If the program gives an error for sox, try running `ulimit -n 999'`. You may also need to run `chmod +x get-beats`
## Demo
### M U S I C
Sample Album:
https://www.bandlab.com/programming_psychic/albums/844f21a0-fa65-ea11-a94c-0003ffd19c0f
### V H S I M A G E
#### Input
![](assets/in-vhs.jpg?raw=true "Input VHS")
#### Output
![](assets/out-vhs.jpg?raw=true "Output VHS")
### V H S V I D E O
See `in.mp4` and `out.mp4` in the `assets` folder
#### Input
![](assets/in.gif?raw=true "Input Video")
#### Output
![](assets/out.gif?raw=true "Output Video")
## Installation
This was tested on macOS Catalina ( so should work on almost all macOS versions).
Windows is unsupported at this time ( I need to find a way to use aubio's python module)
### Dependencies
#### Linux
```
sudo apt install ffmpeg ffprobe libavl1 sox
pip install -r requirements.txt
```
#### macOS
Make sure you have brew installed
```
brew install noah # I would have had to re-compile the executeable :(
brew install sox
pip install -r requirements.txt
```
## Usage
### M U S I C
#### YouTube URL
```
python3 main.py -M -i <YOUTUBE_URL>
```
#### Song Title
```
python3 main.py -M -i Song Title
```
### V H S I M A G E S
`python3 main.py -P -i "image.jpg"`
### V H S V I D E O
`python3 main.py -V -i "video.mp4" -o "output.mp4"`
## Bugs
This project is a result of bodging and therefore has tons of bugs which need to be ironed out. I need to swat some bugs in the VHSVideo file.
There might be a problem with the generated video not having audio, for that run the following
`ffmpeg -i video.mp4 -vn -acodec copy output-audio.aac`
`ffmpeg -i output.mp4 -i output-audio.aac -c copy output-with-audio.mp4`
## To-Do
- [ ] Move away from using os.system calls, and use Python modules instead ( Looking at you, Sox and aubio)
- [x] Clean the Code
- [ ] Add Artwork Generator
- [x] VHS Picture Styler ( Added in v1.5 )
- [x] Add Video Generator
- [x] Add Custom Date to VHS Styler
## Credits
@WJLiddy His repo `Macintech` forms the base code for the music generator
@felipecustodio Using his repo `virtualdreamsbot` YouTube DL code ( Hopefully I will be able to integrate this project as a Telegram Bot)
@Ragex04 His repo `VHS_BingImages` forms the base code for the VHS Image Styler
|