tag:blogger.com,1999:blog-42788748156324931812024-03-13T15:00:42.501-07:00TechnoGems<i>Hobbyist blog about all things software. Any correspondence of this blog's name to names of individuals, organizations, companies, products or other blogs is pure coincidence.</i>shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.comBlogger57125tag:blogger.com,1999:blog-4278874815632493181.post-69543601587846453522022-12-26T07:12:00.000-08:002022-12-26T07:12:24.547-08:00Fancy text clips and text animations with camala and moviepyProblem?
When making videos, sometimes you want to add some text animations. And since not everyone has access to commercial tools like After Effects, it would be nice if a free alternative existed.
Meet Camala
Camala stands for caption markup language.
You describe text animations in a toml specification, and let the system synthesize high-quality text video clips from it.
Example
More shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-65503463377451180792021-11-07T03:14:00.002-08:002021-11-07T03:25:45.371-08:00Driving the GODOT game engine with OSC messages - part 2Using a thread instead of a busy loopAs a quick follow-up to part I, where I basically used a while (1) { ... } loop which tends to make the CPU run at 100% (unless you use the OS.set_low_processor_usage_mode which is not portable across platforms, and which may actually cause the rest of your game/sketch to run badly, here's an alternative that parses the OSC messages whenever a timer shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-21208276331124649422020-02-24T16:03:00.007-08:002022-02-18T05:50:08.487-08:00Driving the GODOT game engine with OSC messages
Problem?
Note: I've tested this code with a very recent version of GODOT compiled from source code. Your mileage may vary.
In interactive art installations, an often used protocol to communicate between computer processes is the open sound control (OSC) protocol. Despite the name "sound" in OSC, the protocol is actually completely general purpose. In my opinion a game engine like the godot shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-58884112398925190632020-01-02T16:05:00.001-08:002020-01-11T04:47:29.593-08:00Making an arpeggiator in supercollider with patterns<!DOCTYPE html>
Problem
Given some notes as input, generate a pattern making use of those notes. When the input changes, the generated pattern should also change. Most keyboards and synthesizers provide simple arpeggiators, but we'll be using supercollider which allows for generating the most complex patterns imaginable including generation of chords, polyphony, introducingshiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-50972465838212769392019-05-26T01:16:00.000-07:002019-05-26T01:19:59.023-07:00Jan De Cock: Laissez Faire - Laissez Passer
Jan Who?
Jan De Cock is a Belgian artist. After exhibiting in the Tate Modern (2005), he became the first living Belgian artist to have received a solo exhibition in the New York MoMA (2008). In 2012 he also presented his work in the Staatliche Kunsthalle Baden-Baden. Jan De Cock is the founder of the "Brussel's Art Institute", an organization shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-2306358411943918722019-05-26T00:56:00.003-07:002019-07-18T22:45:50.715-07:00Walsh-Hadamart transformations in supercollider
Problem
Practically the whole world is using Fourier Transforms to decompose sounds into sums of sine waves. The Fourier transform then can be edited, and transformed back to the time domain to hear the effects of the editing. One question that naturally arises is if perhaps ways exist to decompose sounds as sums of something other than sine waves.
Approach
Well, as it turns out there are shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-50523746153823283332018-07-22T04:06:00.000-07:002018-07-23T10:27:45.033-07:00Using the midi tuning specification (MTS) standard in supercollider
Problem?
I have a hardware synthesizer Dave Smith Instruments Rev2 ( (aka DSI Rev2)with support for MTS (=midi tuning specification) and I'm intrigued by its possibilities. How can I reprogram my synth's frequencies from supercollider? In a next post I may or may not (depending on how fast I can solve some annoying bugs :) ) explain how to download scala tunings and keyboard mappings shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-62238276360397150892018-05-11T14:34:00.000-07:002018-05-17T16:00:43.514-07:00Panola: a supercollider PAttern NOtation LAnguage
Problem?
In supercollider, one of the best ways to schedule notes over time is by using the pattern system. The pattern system is very flexible but the flexibility can make it a bit hard to use.
In a typical pattern specification, also known as a Pbind, every dimension to your sound event is independent from every other event. This is just a fancy way of saying that you need to specifyshiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-28335724575564433602018-01-13T03:23:00.001-08:002018-01-22T06:41:15.516-08:00Baking sound in supercollider
Problem?
I want to synthesize gorgeous pad sounds in supercollider. This is possible using additive and/or subtractive synthesis, but it takes a lot of CPU power.
Approach
't Is the season to be bakin' fa-la-la-la-laaaaa la-la-la-laaaaa. How about we pre-render the sound into a wavetable and then loop the generated wave table? This moves most of the work to startup time. In the blender 3d shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-67316333019138993802017-08-19T02:03:00.001-07:002017-08-19T02:08:50.525-07:00Audio transitions in supercollider
Problem?
In the domain of images and videos, programs like powerpoint and video editors provide a wide range of "transitions". If you think of powerpoint, e.g., you can switch from one slide to the next directly ("cut"), or you can gradually fade out the first one and fade-in the second one, or you can push in, push out, wipe according to a shape, split, reveal, random bars, shape, uncover, shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-31096763012981602212017-08-12T15:26:00.000-07:002017-08-13T01:44:50.282-07:00 Scoring a movie with supercollider, blender, python and osc - part II: keyframing and animation curves
Problem?
In the previous part of this tutorial, I described a way to insert markers on blender's timeline, and to use blender's python scripting abilities to convert these markers into OSC messages which then can be interpreted in supercollider to perform commands (e.g. start and stop patterns or sound effects). This approach works very well for sending discrete commands: things like start shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com1tag:blogger.com,1999:blog-4278874815632493181.post-30064166979544362482017-08-12T02:30:00.000-07:002017-08-12T15:20:18.482-07:00Scoring a movie with supercollider, blender, python and osc.
Problem?
I want to score a movie with a generative supercollider score (that is, insert supercollider patterns and sound effects, ...). How do I sync the sound to what happens in the video? What if I want to last-minute edit the video? Can I automatically resync parts of my audio to the edited video without having to manually edit start and stop times of patterns and sound effects in my shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-11298204387261990542017-08-09T04:18:00.001-07:002017-08-09T08:20:55.488-07:00Automating squiggles in supercollider part II
Problem?
In part I of this explanation we used mathematics to create beautiful squiggles. While this gives ultimate control over the scribbles (in terms of accuracy and repeatability of the squiggles), sometimes you just want to do something simpler (quick'n dirty) or something more creative (too much work to spell out in math formulas).
Approach?
You can simply draw a squiggle with the shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-58299466547816835462017-08-08T01:03:00.001-07:002017-08-09T14:21:42.054-07:00Automating squiggles in supercollider
Problem?
Supercollider makes it easy to vary parameter values by squiggling the mouse using the UGens MouseX and MouseY. Sometimes I play with these to find that the squiggling itself produces nice results, but then the thought of having to spell out all these x and y values manually makes me sigh. This made me think about how to automate squiggling - not by sending some mouse commands to the shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-49408673644539235842017-07-22T04:59:00.002-07:002017-08-08T01:49:47.083-07:00Expremigen: expressive midi generation
Problem?
A lot of text-based midi specification languages exist, but those I know of suffer from one of the following drawbacks:
either the syntax is very low-level as in SKINI, which basically translates all midi events into text. This is great for round-tripping between midi and text, but it's not great for writing and interpreting "manually".
or the syntax makes it easy for specifying shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-76958303158422761502017-05-02T23:15:00.001-07:002017-05-19T06:36:37.106-07:00Mask driven vector animations with python
What?
Mask images have many applications. In photo editing, masks e.g. are used to succinctly subscribe where to clip images, or to define regions where an image should be transparant. In video editing, masks are used to describe so-called wiping (fancy transitions from one image to the next). In 3d programs, there's a kind of 3d equivalent of masks, sometimes called dynamic paint, to describe shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-14735314494517473552017-05-01T01:53:00.003-07:002017-05-01T01:54:46.313-07:00Tweened vector animations in python part II
What?
This is a continuation of part I on creating vector animations with python. In recent days, the library has seen the addition of many new features:
animations along paths defined by symbolic parametric equations
animations along Bezier curves defined by control points (any order)
animations defined by equations in polar coordinates
composing animations into sequential and parallelshiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-53165500701099488622017-04-23T13:47:00.002-07:002017-04-24T01:54:56.044-07:00Tweened vector animations with python
What?
In this blog post I'll show how to create tweened vector animations with python. People who arrive here probably ought to look at Zulko's excellent blog post first to find the excellent gizeh library, written on top of cairo, that allows for generating vector graphics animations in python. And then there's also Zulko's wonderful moviepy library that allows saving these animations to shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-56325908714864055912016-03-12T01:42:00.001-08:002016-03-12T01:42:23.943-08:00Virtualbox on arch linux kernel 4.4.5
Since my last upgrade to latest packages of arch linux including kernel 4.4.5 I had trouble starting virtualbox.<![CDATA[
class TestClass(object):
pass
]]>
<![CDATA[
father(jan).
]]>
[user@xxxxx ~]$ sudo /sbin/rcvboxdrv setup Unloading modules: Loading modules: modprobe: ERROR: could not insert 'vboxnetadp': Exec format shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com1tag:blogger.com,1999:blog-4278874815632493181.post-31052423449095645952015-08-21T01:16:00.000-07:002015-08-21T01:16:28.928-07:00Microsoft Random Limitation Rant
Welcome in 2015, the era of Multi-GHz Clocks, Multi-GB RAM, PetaByte storage and... 260 character path names.
Once again I was bitten by yet a random path length limitation on a win 7 64-bit platform with visual studio 2013. Of course I am aware that longer path lengths are supported on current windows platforms, provided you do some "\\?\" hocus pocus but Microsoft basically admits it's shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-27589561015816146792014-08-11T16:39:00.001-07:002014-08-11T16:39:17.372-07:00Why did flash player stop working in chromium on Debian?Adobe flash is evil right? Yet many sites insist on using it (who knows for what evil purpose?!) and it's annoying the heck out of me if they keep throwing warnings about a missing flash player.
Well, here's a clue: somehow I missed the news that chrome/chromium now uses a google maintained version of flash player which you can install using
apt-get install pepperflashplugin-nonfreeshiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-28158048802384486132014-06-08T00:59:00.000-07:002014-06-08T00:59:06.241-07:00problems encountered while switching to systemd
Computer stopped booting
After the latest dist-upgrade in debian SID my system refused to boot.
After seemingly doing nothing for a while my computer would just drop into an emergency root console.
In the mean time everything is up and running again, and here's what I had to do to
make it boot again:
After reading many bug reports and forum entries about NFS mounts in fstab causing a shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-44814725077420443162014-03-09T13:02:00.000-07:002014-03-09T13:03:19.675-07:00Getting rid of "What's hot and recommended" in your google plus stream1. go tohttps://plus.google.com/[google.com]
2. click the explore link on the top of the page
3. click the "what's hot" link in the "Explore google+" blue thingy that appears
4. click the cogwheel in the red "What's hot and recommended" thingy that appears
5. uncheck "show posts in home stream"
shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com3tag:blogger.com,1999:blog-4278874815632493181.post-48435751560731693992013-09-22T10:42:00.001-07:002013-09-22T10:46:10.828-07:00Musings on the disaster-formerly-known-as-worldwide-market-leader Microsoft"Steve Ballmer" is an anagram of "Ever smell bat?" and "Tremble, Slave!". Just sayin'...
(also see this older post) shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0tag:blogger.com,1999:blog-4278874815632493181.post-83284429774055751832013-08-02T00:49:00.002-07:002013-08-02T12:52:45.117-07:00can Pyjamas rise from its ashes?As a quick follow-up to my article about pyjamas being hijacked, there's an interesting blog article (in French) pointing out the existence of a new incarnation of the original Pyjamas project set up by Luke Leighton at http://pyj.be. According to that blog article this new initiative was sparked by Goffi, the author of the blog article.
Given that the hijacked project, while it has seen some shiihshttp://www.blogger.com/profile/01738225085577318818noreply@blogger.com0