hydra sketch log 4

played more with p5 generation, this time looking at more fft bins than i normally do (usually just hit the lowest bin because it’s the most obviously correlative, but this viz shows very clear correlates to all bins) // Fft ersatz 3d timeseries // p5 canvas recursion: p5 x hydra @errorbesque p.remove() p = new P5(); // setup cnv=p.createCanvas(400,400); oldCnv=p.createGraphics(p.width,p.height); p.noFill(); // reset p.background(0); v0y=p.height/2; v0y2=p.height/2; p.draw = () => { if ((a.fft[0]<0.4 && p.frameCount%5!=0)) return; oldCnv.image(cnv,0,0,p.width,p.height); oldCnv.loadPixels(); p.imageMode(p.CENTER) p.angleMode(p.DEGREES) p.push() p.translate(p.width/2, p.height/2); p.image(oldCnv,-12,p.sin(p.frameCount)*2,400,400); p.pop() a0=a.fft[0]+a.fft[1]; p.stroke(255,0,255,200); di=50 p.strokeWeight(2) if(p.random(-1,1)>0) p.blendMode(p.ADD) p.ellipse(p.width/2,p.height/2,di*a.fft[1]/2,di*a.fft[0]*2+2); p.stroke(255,255,0,200) v0y+=p.random(-2,2); p.ellipse(p.width/2+10,v0y+p.sin(p.frameCount/10),di*a.fft[1],di*a.fft[0]*2+2); p.stroke(0,255,255,200) v0y2+=p.random(-2,2); p.ellipse(p.width/2-10,v0y2+p.sin(p.frameCount/10),di*a.fft[1],di*a.fft[0]*2+2); p.blendMode(p.BLEND) } s0.init({src:p.canvas})src(s0).out(o0) src(o0) .scrollX(.05) .blend(src(o0).pixelate(1000,2).modulate(src(o2).scale(.999)), ()=>a.fft[2]/3).hue([0.32].smooth().fast(.1)).out(o1) src(o1) .scrollX(-.1) .scale(1.15) .modulate(src(o2).scale(1.01) .pixelate(1000,1000),0.0) .out(o2)render(o2)a.show()a.setSmooth(.4)

hydra + p5 for AV Club SF's "Club Code" (vascularization)

Basic canvas repetition with fft-responsivity First time using P5 in hydra. Importing packages was slightly challenging at first, mainly because I didn’t understand the js prototype importing order at first (:x). Got p5play imported and started using box2d with some particle behavior/generation mediated by the audio. ...

stablediffusion with my own illustrations

i’ve been extremely entertained using stablediffusion lately. it seems extremely for fast prototyping of compositional ideas that can then be refined by hand – and given some images of significance, the morphs between them are addictive to watch. using deforum via stable diffusion webui, sourced with my own illustrations, looking forward to using the outputs from this pipeline as seeded inputs for live visuals { "W": 512, "H": 512, "tiling": false, "restore_faces": false, "seed": 3008211226, "sampler": "DPM2 Karras", "seed_resize_from_w": 0, "seed_resize_from_h": 0, "steps": 25, "ddim_eta": 0.0, "save_settings": true, "save_sample_per_step": false, "batch_name": "Deforum_20230424230240", "seed_behavior": "schedule", "seed_iter_N": 2, "use_init": false, "strength_0_no_init": false, "strength": 0.7, "init_image": null, "use_mask": false, "use_alpha_as_mask": false, "invert_mask": false, "overlay_mask": true, "mask_file": "https://deforum.github.io/a1/M1.jpg", "mask_contrast_adjust": 1.0, "mask_brightness_adjust": 1.0, "mask_overlay_blur": 4, "fill": 1, "full_res_mask": true, "full_res_mask_padding": 4, "reroll_blank_frames": "reroll", "reroll_patience": 10.0, "precision": "autocast", "timestring": "20230424230240", "prompts": { "0": "beautiful, small breasts, short curly hair, young overhead view illustration of a naked girl with rabbit ears surrounded by periwinkle flowers --neg sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands,", "40": "beautiful, small breasts, short curly hair, young red illustration of a cyborg girl android in a red tutu facing left, wearing a carnival mask, red pink abstract shapes grid --neg sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands,", "45": "beautiful, small breasts, short curly hair, young red illustration of a ballerina facing left, wearing a carnival mask, red pink abstract shapes grid --neg sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands,", "80": "beautiful, small breasts, short curly hair, young gouache drawing of a black empty field with a transparent woman blindfolded wearing a skirt with her hair on fire and her hands laying in her lap, with blue and red veins coming out of her skirt --neg sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands,", "85": "beautiful, small breasts, short curly hair, young line drawing of a blindfolded woman with her hair on fire, with blue and red veins coming out of her skirt --neg sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands,", "120": "beautiful, small breasts, short curly hair, young illustration of a naked woman wearing bunny ears kissing another woman wearing rabbit ears, kneeling in a pool of blood --neg sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands,", "160": "beautiful, small breasts, short curly hair, young glitchy illustration of a woman lying on her arched back in a pool of blood, shooting a colorful prismatic light spectrum out of her head --neg sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands,", "200": "beautiful, small breasts, short curly hair, young a naked woman hurtling through space inside of a big comet trail --neg sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands,", "240": "beautiful, small breasts, short curly hair, young top-down woman wearing bunny ears lying on a forest floor surrounded by flowers --neg sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands," }, "positive_prompts": "beautiful, small breasts, short curly hair, young", "negative_prompts": "sketch by bad-artist, cropped, no face, signature, disfigured, deformed, poorly drawn, low quality eyes, border, comic, lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, watermark, username, blurry, artist name, extra hands,", "outdir": "/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/img2img-images/Deforum_20230424230240", "animation_mode": "2D", "max_frames": 261, "border": "wrap", "angle": "0:(.7)", "zoom": "0:(1.0025+0.002*sin(1.25*3.14*t/30))", "translation_x": "0:(0)", "translation_y": "0:(0.01)", "translation_z": "0:(1.75)", "transform_center_x": "0:(0.5)", "transform_center_y": "0:(0.5)", "rotation_3d_x": "0:(0)", "rotation_3d_y": "0:(0)", "rotation_3d_z": "0:(0)", "enable_perspective_flip": false, "perspective_flip_theta": "0:(0)", "perspective_flip_phi": "0:(0)", "perspective_flip_gamma": "0:(0)", "perspective_flip_fv": "0:(53)", "noise_schedule": "0: (0.065)", "strength_schedule": "0:(.55)", "contrast_schedule": "0: (1.0)", "cfg_scale_schedule": "0: (10)", "pix2pix_img_cfg_scale_schedule": "0:(1.5)", "enable_subseed_scheduling": false, "subseed_schedule": "0:(1)", "subseed_strength_schedule": "0:(0)", "enable_steps_scheduling": false, "steps_schedule": "0: (25)", "fov_schedule": "0: (70)", "aspect_ratio_schedule": "0: (1)", "aspect_ratio_use_old_formula": false, "near_schedule": "0: (200)", "far_schedule": "0: (10000)", "seed_schedule": "0:(s), 1:(-1), \"max_f-2\":(-1), \"max_f-1\":(s)", "enable_sampler_scheduling": false, "sampler_schedule": "0: (\"Euler a\")", "mask_schedule": "0: (\"{video_mask}\")", "use_noise_mask": false, "noise_mask_schedule": "0: (\"{video_mask}\")", "enable_checkpoint_scheduling": false, "checkpoint_schedule": "0: (\"model1.ckpt\"), 100: (\"model2.safetensors\")", "enable_clipskip_scheduling": false, "clipskip_schedule": "0: (2)", "enable_noise_multiplier_scheduling": true, "noise_multiplier_schedule": "0: (1.05)", "kernel_schedule": "0: (5)", "sigma_schedule": "0: (1.0)", "amount_schedule": "0: (0.1)", "threshold_schedule": "0: (0.0)", "color_coherence": "LAB", "color_coherence_image_path": "", "color_coherence_video_every_N_frames": 1.0, "color_force_grayscale": false, "diffusion_cadence": 2, "optical_flow_cadence": "None", "cadence_flow_factor_schedule": "0: (1)", "optical_flow_redo_generation": "None", "redo_flow_factor_schedule": "0: (1)", "diffusion_redo": "0", "noise_type": "uniform", "perlin_octaves": 4, "perlin_persistence": 0.5, "use_depth_warping": true, "use_zoe_depth": false, "midas_weight": 0.2, "padding_mode": "border", "sampling_mode": "bicubic", "save_depth_maps": false, "video_init_path": "/Users/rng/Downloads/mylesropetensiontrim.mp4", "extract_nth_frame": 1, "extract_from_frame": 0, "extract_to_frame": -1, "overwrite_extracted_frames": false, "use_mask_video": false, "video_mask_path": "", "resume_from_timestring": false, "resume_timestring": "20230424222907", "hybrid_generate_inputframes": false, "hybrid_generate_human_masks": "None", "hybrid_use_first_frame_as_init_image": true, "hybrid_motion": "None", "hybrid_motion_use_prev_img": false, "hybrid_flow_method": "RAFT", "hybrid_composite": "None", "hybrid_use_init_image": false, "hybrid_comp_mask_type": "None", "hybrid_comp_mask_inverse": false, "hybrid_comp_mask_equalize": "None", "hybrid_comp_mask_auto_contrast": false, "hybrid_comp_save_extra_frames": false, "hybrid_comp_alpha_schedule": "0:(0.5)", "hybrid_flow_factor_schedule": "0:(1)", "hybrid_comp_mask_blend_alpha_schedule": "0:(0.5)", "hybrid_comp_mask_contrast_schedule": "0:(1)", "hybrid_comp_mask_auto_contrast_cutoff_high_schedule": "0:(100)", "hybrid_comp_mask_auto_contrast_cutoff_low_schedule": "0:(0)", "parseq_manifest": "", "parseq_use_deltas": true, "use_looper": true, "init_images": "{\n \"0\": \"/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/extras-images/f-eostre2.png\",\n \"40\": \"/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/extras-images/f-femme.png\",\n \"45\": \"/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/extras-images/f-femme2.png\",\n \"80\": \"/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/extras-images/f-samhain.png\",\n \"85\": \"/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/extras-images/f-samhain2.png\",\n \"120\": \"/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/extras-images/f-eostre1.png\",\n \"160\": \"/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/extras-images/f-sausage.png\",\n \"200\": \"/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/extras-images/f-reentry.png\",\n \"240\": \"/Users/rng/Documents/_code/ai/stable-diffusion-webui/outputs/extras-images/f-eostre2.png\"\n}", "image_strength_schedule": "0:(.8), 40:(.8)", "blendFactorMax": "0:(0.35)", "blendFactorSlope": "0:(0.25)", "tweening_frames_schedule": "0:(10)", "color_correction_factor": "0:(0.075)", "skip_video_creation": false, "fps": 20, "make_gif": false, "delete_imgs": false, "add_soundtrack": "None", "soundtrack_path": "https://deforum.github.io/a1/A1.mp3", "r_upscale_video": false, "r_upscale_model": "realesr-animevideov3", "r_upscale_factor": "x2", "r_upscale_keep_imgs": false, "store_frames_in_ram": false, "frame_interpolation_engine": "None", "frame_interpolation_x_amount": 2, "frame_interpolation_slow_mo_enabled": false, "frame_interpolation_slow_mo_amount": 2, "frame_interpolation_keep_imgs": false, "sd_model_name": "v1-5-pruned-emaonly.safetensors", "sd_model_hash": "d7049739", "deforum_git_commit_id": "4c0fdccc (Tue Apr 18 12:53:24 2023)" }

eostre set design

most of the hard work here was done by L. who implemented the extremely well-engineered lights and our rigger J. who set up the tree rigging, but i refined some alternatives with a 3d scan of the site and advised on what dimensions i thought would feel good for the dancers. (note to self: the physical-bottleneck “trap” of the front of the dj booth is not to be repeated!) ...

algorave kickback hydra set at syzygy

performed with dan gorelick at syzygy. really loved working with dan on our concept where we started from nearly blank screens (i started with only one function describing an fft spectrum and worked my way up from there), and was also glad i was able to integrate some realtime analog camera work of dan playing live cello. dan taught me how to do midi interface integration into hydra so that for a future set (when i’m more prepared!) i can control features with sliders. ...

faited x errorbesque hydra set at third harvest

As of this writing, imo this is the best hydra set i’ve ever done. mapped to a rollup door behind the dj booth i don’t have a recording since this was a last-minute idea (about an hour before, f. asked me to do visuals), but i followed my constraints well (monochrome, minimal, all visuals would be derived from the fft spectrum, an emphasis on linearity), showed restraint in letting ideas play out rather than shift too jarringly, clearly demonstrated the idea to the audience, and felt embodied enough with the music that i really enjoyed myself. i was really happy with the result. ...

hexcode algorave

i was one of the photographers for avclubsf’s event hexcode algorave. i was warned the light would be low, but the ever-changing light levels with very variable intensity were among the hardest conditions i’ve ever encountered. tried to rally and got some helpful advice from jason, and just continued to attempt to get the performers emoting as best i could. got good feedback on the set even if i was frustrated by a few of them being blurry… learned that maybe i should have turned up ISO earlier on even though i’ve never really gone over 1200 ISO in studio. ...

hydra at hexcode algorave by avclubsf

https://www.youtube.com/watch?v=IhKkNg-P3EU fun chiptuney set with live guitar by Nobel Yoo. i was going for more minimal, line-oriented visuals (but added some colors and pixel art cause halloween and chiptune). midway through (maybe at 12:00) you can see me wipe the codebase and i start from scratch! :x the second half was thus totally improvised and it still ended up looking surprisingly cool.

hydra sketch log 1

starting to record brief hydra sketches and concepts from first principles, since usually i’ve altered or edited other people’s sketches, or relied a lot upon editing camera output of the performer. for my upcoming gray area performance i’m trying to channel some minimalism inspired by audioreactlab (difficult when colors and complex textures are foundational functions in hydra). how to do this in hydra when the elements never seem that distinct from each other? i’m playing with shapes for a start, but it seems like if i want to individually vary these, they’ll need to be in p5, or something more explicit. ...

hydra sketch log 2

using this implementation of oscilloscope and learned about currying functions in js @_@! truly the most “visualizer” sketch i’ve ever done. would be nice to get some specific emphasis on certain frequencies next time (bass, etc). pretty happy with how directed the gaze is on this strong shape, and i think the fft reactivity is just right (engaging but not spastic) // contour oscilloscope y = (q=5) => { // oscilloscope implementation by ojack a.setBins(q) x = shape(2,.15) for(i=0;i<q;i++) { x = x.modulateScrollY(osc(1+i*10), ((i) => () => a.fft[i])(i)) } return x } y(5).out() src(o0).repeat(1,[1,15].fast(.1)).out(o1) src(o1).modulate(noise(2,.1)).pixelate(7,2000).out(o2) src(o2).color(1,0,1).add(src(o2).scrollY(.1).color(0,1,0)).out(o3) render(o3) a.setScale(10) a.setSmooth(.9) a.setCutoff(0) ...