This commit is contained in:
Luca Conte 2023-11-08 11:19:38 +01:00
commit e9343cb327
4 changed files with 114 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
venv

103
AudioToDeforumKeyframes.py Normal file
View file

@ -0,0 +1,103 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Beat tracking example
# Appunti: buono per un video u po' psichedelico ci va:
# <lora:bb3l15:1> an abstract circuit board design with orange yellow green and purple squares over red background in the style of bb3l15
# su modello colorful_v30 (https://civitai.com/images/3024879?modelVersionId=188803&prioritizedUserIds=913950&period=AllTime&sort=Most+Reactions&limit=20 )
# <lora:Ink_scenery:1> black background, sketch jungle scenery, path, dense su sd 1.5
# Wilson <lora:Ink_scenery:1> black background, sketch jungle setting
import os
import numpy as np
import librosa
import math
from scipy.interpolate import interp1d
import matplotlib.pyplot as plt
def f(t):
return 1.0025+0.002*np.sin(1.25*3.14*t/30)
#return x ** 2
strength_min = 0.4
strength_max = 0.6
# Assuming that into "generated" directoruy U've already create "project_name" subfolder
#audio_input_file = '/home/lalo/data/studio_grafica/deforum/wilson_r1_mm_sample.wav'
#audio_input_file = '/home/lalo/data/studio_suono/spx/231104_001_m01.wav'
#audio_input_file = '/home/lalo/data/studio_grafica/deforum/eucrasy_r1_sample.wav'
#audio_input_file = '/home/lalo/data/studio_grafica/deforum/eucrasy_r1.wav'
#audio_input_file = '/home/lalo/data/studio_suono/231014_002_mastered_r2_clip.WAV'
audio_input_file = 'C:/Users/LucaConte/Music/lc_music/wilson_r1_mm.wav'
# Store the sampling rate as `sr`
fps = 24
flength = 22050//fps
#audio frame size is 22050/30=735
y, sr = librosa.load(audio_input_file)
rms = librosa.feature.rms(y=y, frame_length=flength, hop_length=flength)
#rms = librosa.feature.rms(y=y, frame_length=735, hop_length=735)
cent = librosa.feature.spectral_centroid(y=y, sr=sr,n_fft=flength, hop_length=flength)
duration = int(math.ceil(librosa.get_duration(y=y, sr=sr)))
frames = duration * fps
print("RMS SIZE: " + str(len(rms[0])))
print("CEN SIZE: " + str(len(cent[0])))
print("TOTAL FRAMES: " + str(frames))
# sr.len /22050 = duration
# rms.len * 30 = duration
# rms[i] mi da la potenza media del frame iesimo
m = interp1d([rms.min(), rms.max()], [strength_min, strength_max])
c = interp1d([cent.min(), cent.max()], [-0.5, 0.5])
print("Cent min/max: " + str(cent.min()) + "/" + str(cent.max()))
print("Audio duration in secs: " + str(duration))
# Creating the sctipt file (the real unique aoutput of this script)
try:
for frame in range(len(rms[0])):
print(str(frame) + ":(" + str(1-m(rms[0][frame])) + "),", end="")
print("")
print("---------------")
print("")
for frame in range(rms.size):
print(str(frame) + ":(" + str(cent[0][frame]) + "),", end="")
except:
print(exception)
x = np.array(range(200))
#x = np.array(range(len(cent[0])))
y = np.array(cent[0])
plt.hist(cent[0], color = 'blue', edgecolor = 'black',
bins = int(cent.max()/100))
plt.show()
x = np.linspace(1, 4000, 4000)
y = f(x)
plt.plot(x, y)
plt.show()

10
appunti.md Normal file
View file

@ -0,0 +1,10 @@
Per giungla:
p: (vktr), lowres, impressive rainforest, ((mist)), strong rain, film grain
np: ((bad hands)), text, missing finger, extra digits, fewer digits, ((mutated hands and fingers)), (poorly drawn face), ((deformed face)), extra face, (double head), (extra head), ((extra feet)), logo, (cropped), worst quality, low quality, normal quality, jpeg, humpbacked, ((jpeg artifacts)),(((typography)))
model: vmazGENESIS
seed:
PEr stelle:
seed: 79545309

0
requirements.txt Normal file
View file