2.7 KiB
2.7 KiB
tags
| tags | ||
|---|---|---|
|
SquareWave 📅🅕🅝
Documentation
- Class name:
SquareWave - Category:
FizzNodes 📅🅕🅝/WaveNodes - Output node:
False
The SquareWave node generates a square wave pattern based on specified parameters such as phase, amplitude, and translations. It's designed to create distinct, square-shaped oscillations for various applications in signal processing and waveform generation.
Input types
Required
phase- Defines the period of the square wave. A higher value results in a longer period between wave peaks.
- Comfy dtype:
FLOAT - Python dtype:
float
amplitude- Determines the height of the square wave peaks. A larger amplitude results in taller peaks.
- Comfy dtype:
FLOAT - Python dtype:
float
x_translation- Shifts the wave along the X-axis. This can be used to adjust the starting point of the wave.
- Comfy dtype:
FLOAT - Python dtype:
float
y_translation- Shifts the wave along the Y-axis, adjusting the baseline level of the wave.
- Comfy dtype:
FLOAT - Python dtype:
float
current_frame- Specifies the current frame or point in time for which the wave value is being calculated. This allows for dynamic wave generation over time.
- Comfy dtype:
INT - Python dtype:
int
Output types
float- Comfy dtype:
FLOAT - The primary output of the wave calculation, representing the wave's value at the current frame.
- Python dtype:
float
- Comfy dtype:
int- Comfy dtype:
INT - An integer representation of the wave's value at the current frame.
- Python dtype:
int
- Comfy dtype:
Usage tips
- Infra type:
CPU - Common nodes: unknown
Source code
class SquareWave:
@classmethod
def INPUT_TYPES(s):
return {"required": {"phase": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 9999.0, "step": 1.0}),
"amplitude": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 9999.0, "step": 0.1}),
"x_translation": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 9999.0, "step": 1.0}),
"y_translation": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 9999.0, "step": 0.05}),
"current_frame": ("INT", {"default": 1.0, "min": 0.0, "max": 9999.0, "step": 1.0}),
}}
RETURN_TYPES = ("FLOAT", "INT",)
FUNCTION = "Wave"
CATEGORY = "FizzNodes 📅🅕🅝/WaveNodes"
def Wave(self, phase, amplitude, x_translation, y_translation, current_frame):
output = (y_translation+(amplitude*0**0**(0-np.sin((np.pi*current_frame/phase-x_translation)))))
print(output)
return (output, int(output),)