forked from Kahsolt/SmartBGM
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSTRUCTURE
45 lines (37 loc) · 1.49 KB
/
STRUCTURE
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
[Project Directory Structure]
SmartBGM\ # project root
doc/ # documents and propaganda
meta/ # meta info for .py code or .ui design
icon/ # static UI resources
music/ # static music library
test/ # test resources
out/ # result tmp folder
tmp/ # runtime tmp folder
DEPENDENCIES # dependencies of this project
LICENSE # developer license
STRUCTURE # show project folder structure
VERSION # light weight changelog
README # brief description for project
Form_MainEditor.py # (UI) Main Editor Form
Form_TagSelector.py # (UI) Tag Seletion Form
MusicDB.py # [DB: Pseudo-static]
Clipper.py # [Module]
Analyzer.py # [Module]
Matcher.py # [Module]
Remixer.py # [Module]
SmartBGM.py # laucher
run.bat # laucher shortcut for Windows OS
[Classical Program Workflow]
slicer = Slicer('path_to_video')
slicer.sample_rate = 1 # extract one frame per second
path_to_frame_slices_dir = slicer.slice()
analyzer = Analyzer('path_to_frame_slices_dir')
analyzer.post_processing = true # enable post processing filter
video_tags = analyzer.analyze()
matcher = Matcher(tags_video)
matcher.mode = 0 # if we have multiple selection algorithms
path_to_audio = matcher.match()
remixer = Remixer('path_to_video', 'path_to_audio')
remixer.timespan_video = [100, 300] # use whatever data struct suitable to indicate START POINT and LENGTH of the clip to insert to
remixer.timespan_audio = [500, 900]
path_to_outfile = remixer.remix()