3v324v23 commited on
Commit
ccc27df
1 Parent(s): 84f213f
Files changed (1) hide show
  1. app.py +9 -4
app.py CHANGED
@@ -5,7 +5,7 @@ import cv2
5
 
6
  def BeatSwap(audiofile, pattern: str = 'test', scale:float = 1, shift:float = 0, caching:bool = True, variableBPM:bool = False):
7
  print()
8
- print(f'path = {audiofile}, pattern = "{pattern}", scale = {scale}, shift = {shift}, caching = {caching}, variable BPM = {variableBPM}', end=', ')
9
  if pattern == '' or pattern is None: pattern = 'test'
10
  if caching is not False: caching == True
11
  if variableBPM is not True: variableBPM == False
@@ -16,7 +16,8 @@ def BeatSwap(audiofile, pattern: str = 'test', scale:float = 1, shift:float = 0,
16
  shift=bm.utils._safer_eval(shift)
17
  except: shift = 0
18
  if scale <0: scale = -scale
19
- if scale < 0.01: scale = 0.01
 
20
  if audiofile is not None:
21
  try:
22
  song=bm.song(audio=audiofile,log=False)
@@ -27,16 +28,19 @@ def BeatSwap(audiofile, pattern: str = 'test', scale:float = 1, shift:float = 0,
27
  print(f'Audiofile is {audiofile}')
28
  return
29
  try:
30
- print(f'scale = {scale}, shift = {shift}, length = {len(song.audio[0])/song.sr}')
31
  if len(song.audio[0]) > (song.sr*1800):
32
  song.audio = np.array(song.audio, copy=False)
33
  song.audio = song.audio[:,:song.sr*1800]
34
  except Exception as e: print(f'Reducing audio size failed, why? {e}')
35
  lib = 'madmom.BeatDetectionProcessor' if variableBPM is False else 'madmom.BeatTrackingProcessor'
36
- song.path = song.path.split('.')[-2][:-8]+'.'+song.path.split('.')[-1]
 
 
37
  song.beatmap_generate(lib=lib, caching=caching)
38
  song.beatmap_shift(shift)
39
  song.beatmap_scale(scale)
 
40
  try:
41
  song.image_generate()
42
  image = bm.image.bw_to_colored(song.image)
@@ -47,6 +51,7 @@ def BeatSwap(audiofile, pattern: str = 'test', scale:float = 1, shift:float = 0,
47
  except Exception as e:
48
  print(f'Image generation failed: {e}')
49
  image = np.asarray([[0.5,-0.5],[-0.5,0.5]])
 
50
  song.beatswap(pattern=pattern, scale=1, shift=0)
51
  song.audio = (np.clip(np.asarray(song.audio), -1, 1) * 32766).astype(np.int16).T
52
  #song.write_audio(output=bm.outputfilename('',song.filename, suffix=' (beatswap)'))
 
5
 
6
  def BeatSwap(audiofile, pattern: str = 'test', scale:float = 1, shift:float = 0, caching:bool = True, variableBPM:bool = False):
7
  print()
8
+ print(f'path = {audiofile}, pattern = "{pattern}", scale = {scale}, shift = {shift}, caching = {caching}, variable BPM = {variableBPM}')
9
  if pattern == '' or pattern is None: pattern = 'test'
10
  if caching is not False: caching == True
11
  if variableBPM is not True: variableBPM == False
 
16
  shift=bm.utils._safer_eval(shift)
17
  except: shift = 0
18
  if scale <0: scale = -scale
19
+ if scale < 0.02: scale = 0.02
20
+ print('Loading auidofile...')
21
  if audiofile is not None:
22
  try:
23
  song=bm.song(audio=audiofile,log=False)
 
28
  print(f'Audiofile is {audiofile}')
29
  return
30
  try:
31
+ print(f'Scale = {scale}, shift = {shift}, length = {len(song.audio[0])/song.sr}')
32
  if len(song.audio[0]) > (song.sr*1800):
33
  song.audio = np.array(song.audio, copy=False)
34
  song.audio = song.audio[:,:song.sr*1800]
35
  except Exception as e: print(f'Reducing audio size failed, why? {e}')
36
  lib = 'madmom.BeatDetectionProcessor' if variableBPM is False else 'madmom.BeatTrackingProcessor'
37
+ song.path = song.path.split('.')[:-2][:-8]+'.'+song.path.split('.')[-1]
38
+ print(f'path: {song.path}')
39
+ print('Generating beatmap...')
40
  song.beatmap_generate(lib=lib, caching=caching)
41
  song.beatmap_shift(shift)
42
  song.beatmap_scale(scale)
43
+ print('Generating image...')
44
  try:
45
  song.image_generate()
46
  image = bm.image.bw_to_colored(song.image)
 
51
  except Exception as e:
52
  print(f'Image generation failed: {e}')
53
  image = np.asarray([[0.5,-0.5],[-0.5,0.5]])
54
+ print('Beatswapping...')
55
  song.beatswap(pattern=pattern, scale=1, shift=0)
56
  song.audio = (np.clip(np.asarray(song.audio), -1, 1) * 32766).astype(np.int16).T
57
  #song.write_audio(output=bm.outputfilename('',song.filename, suffix=' (beatswap)'))