Update audio_nodes.py
This commit is contained in:
+81
-22
@@ -1,5 +1,5 @@
|
||||
from .audio_utils import simple_signal_operations
|
||||
#from typing import Callable
|
||||
from typing import Callable
|
||||
|
||||
import numpy as np
|
||||
import librosa
|
||||
@@ -7,60 +7,119 @@ import librosa
|
||||
CATEGORY = "AudioReactive"
|
||||
|
||||
|
||||
# class SimpleSignalOperation:
|
||||
# CATEGORY=CATEGORY
|
||||
# RETURN_TYPES=("SIGNAL",)
|
||||
# FUNCTION = "main"
|
||||
class SimpleSignalOperation:
|
||||
CATEGORY=CATEGORY
|
||||
RETURN_TYPES=("SIGNAL",)
|
||||
FUNCTION = "main"
|
||||
|
||||
# f: Callable = None # lazy abstract method
|
||||
f: Callable = None # lazy abstract method
|
||||
|
||||
# @classmethod
|
||||
# def INPUT_TYPES(cls):
|
||||
# outv = {
|
||||
# "required": {
|
||||
# "signal": ("SIGNAL",{}),
|
||||
# }
|
||||
# }
|
||||
# return outv
|
||||
@classmethod
|
||||
def INPUT_TYPES(cls):
|
||||
outv = {
|
||||
"required": {
|
||||
"signal": ("SIGNAL",{}),
|
||||
}
|
||||
}
|
||||
return outv
|
||||
|
||||
# def main(self, signal, **kargs):
|
||||
# y, sr = signal.get("y"), signal.get("sr")
|
||||
# y, sr = self.f(y, sr)
|
||||
# return {"y":y, "sr":sr)
|
||||
def main(self, signal, **kargs):
|
||||
y, sr = signal.get("y"), signal.get("sr")
|
||||
y, sr = self.f(y, sr)
|
||||
return {"y":y, "sr":sr}
|
||||
|
||||
|
||||
# simple_signal_operations = {
|
||||
# 'raw': lambda y, sr: y,
|
||||
# ##########
|
||||
# 'rms': lambda y, sr: normalize(librosa.feature.rms(y=y).ravel(), sr),
|
||||
|
||||
|
||||
|
||||
# 'novelty': librosa.onset.onset_strength,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
|
||||
|
||||
# 'predominant_pulse': librosa.beat.plp,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'bandpass': bandpass,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'harmonic': lambda y, sr: librosa.effects.harmonic(y=y),
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'percussive': lambda y, sr: librosa.effects.percussive(y=y),
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
# ##########
|
||||
# 'pow2': lambda y, sr: y**2,
|
||||
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'stretch': stretch,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'sqrt': sqrt,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'smoosh': smoosh,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'pow':_pow,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
# #################
|
||||
|
||||
# 'smooth': smooth,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'sustain': sustain,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
# # #########
|
||||
|
||||
# 'normalize': normalize,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'abs': lambda y, sr: np.abs(np.abs(y)),
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'threshold': threshold,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'clamp': clamp,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'modulo': modulo,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
# 'quantize':quantize,
|
||||
class OpNovelty:
|
||||
f = simple_signal_operations['rms']
|
||||
# }
|
||||
|
||||
|
||||
# can i just metaclass this?
|
||||
#class OpRms(SimpleSignalOperation):
|
||||
class OpRms:
|
||||
class OpRms(SimpleSignalOperation):
|
||||
# 'rms': lambda y, sr: normalize(librosa.feature.rms(y=y).ravel(), sr),
|
||||
#class OpRms:
|
||||
f = simple_signal_operations['rms']
|
||||
|
||||
|
||||
#class SimpleSignalOperation:
|
||||
CATEGORY=CATEGORY
|
||||
RETURN_TYPES=("SIGNAL",)
|
||||
|
||||
Reference in New Issue
Block a user