Names 1.0 is a parametric language generator. With some application it can be used to produce names for fiction. Otherwise, it's just a weird toy.
Many years ago I released a dodgy bit of C++ that produced a text file containing randomly generated sentences arranged into verses. I decided to update this as one of my first projects with the Win32 SDK.
Lyrics 2.0 improves on the previous version by adding optional metering and rhyme to generated verse. It's still short of perfect, a few grammatical conventions were overlooked, the rhyming scheme only takes into account the last two vowels, and it doesn't recognise when it's used the same word in a rhyming pair.
What it does do is allow you to indicate the number of lines, syllables in each line, and customise the rhyming scheme. It uses a list of almost 9,000 polite english words.
And now.. a taste of its wares!
vaguest between the powerful pouches
to your roamer it's wise rider shouted
purified chargers for those unbrowned thoughts
flying sunnily from that white outlaw
feast over there from that delicious height
you were going to live during a type
you with that air haven't often been ranked
your present below it's unsweet tree spanks
from sired defenses within those voices
to her unwise monarch I was pointing
purely design those feats between those lairs
our ocean without a medal won't stare
around a mouth an attack has shifted
for the meteor you must be spinning
you will be ruminating with the scene
concluded quietly of the harmonies
they with that known valley were erupting
it's slain, unwoken cheeses amongst wits
violently wished aside his bared ribbons
beautifully damaged below prisons
this might unmindedly seek
teasers have aligned
feasted beyond a belief
without their ally
attended above her wine
with that fired stoker
impressing beyond her vines
from that huge omen
I am attending swiftly
I shall overwhelm
he would have raked easily
I am often read
a befriender for smokers
over that wierd talk
us within those sheared rollers
over her fierce fork
over that imitator
from it's unbared past
below an automator
that text from their harp
download zip file - Lyrics 2.0 windows executable
This is technically a VST. Hermann Seib's SaviHost is included as a wrapper to make the .dll work as a standalone. Copy all the files in the zip folder to the same directory. Run the .exe.. wait momentarily until "Ready" appears at the bottom of the GUI, then press play (the button with the little triangle underneath it).
BreathCube generates simple "pop music" in realtime. A 3-band voice synthesizer sings simple lyrics. The current word is textually displayed to assist in comprehending BreathCube's accent (this feature was added as the update to 1.1).
It will become apparent that BreathCube uses the same song structure, though patches, effect chains, key, chord progressions et c. change. BreathCube may also be found to develop temperaments based on the machine it is running on, mood of the listener, planetary alignments et c. :) While the structure is very simple, the compositions vary widely, occasionally ranging into the sublime.
BreathCube was created in 2004 with SynthEdit, before I was using the SDK to embed C++ routines. Probability events are generated using synced oscillators, which in my estimation accounts for some musicality.
The hydrant cyclops gracing the GUI was rendered by Shane Sanders.
New Blend was my entry in the KVR Developer Challenge 2009. The objective was to develop an algorithmic music engine that improved on BreathCube, adding user configuration. The ambitious scope of this project - to make something that would begin to fulfill myriad listener expectations - proved to be the primary obstacle. Three months of development hardly addressed the desires one would have of such a product.
As time went on, I continually opted to develop the sequencing engine and deferred the timbral/audio engine to a mere week before the due date. The timbral engine suffered accordingly.. expanding on the simple synthesis engine used for BreathCube, some of the new algorithms (as patching is also algorithmic) had unexpected dynamics that would cause sounds to overwhelm others or disappear in the mix.
Around this time, despite laborious bug checking, the project suddenly started to crash. My knowledge of compiling did not allow me to identify the source of the crashes. There were around 50,000 lines of code written for the project.. each phase of development was laboriously acid tested. It's also possible that I may have surpassed a threshold of resourcing appropriate for the SynthEdit SDK. New Blend rarely makes it past a half a dozen songs without crashing and needing to be restarted on my system. Users reported similar or worse performance.
New Blend also uses Hermann Seib's SaviHost wrapper. The GUI allows the user to configure minimum and maximum BPM, the percentage of songs with swing rhythms, the percentage of songs in 4/4, 3/4 or various odd time signatures, percentage of nine musical scales and of probability to switch scales in a piece, and the overall length, density and complexity of generated music. A button raises the frequency of the bass filter so that bass sequences may be heard on laptops.
Overall, it's less appreciable than BreathCube not only for the lack of stability, but because of the lack of performance interest when instruments are patched at inappropriate volumes. Yet again, with tolerance of its performance boundaries, it is capable of producing some surprising and delightful music, of significantly greater complexity than any of its predecessors.
The release of New Blend failed to ignite public excitement for the potential of automatic music generation. I don't get it - with more refinement, these applications would transform the public experience of music. We are aware that electronic and generated music are not soulless. A contextual algorithm could be produced so that generated vocals were less enigmatic than my developments tend to be. As a musician, the odd time signature sequences excite my imagination. The progression engine ensures that you'll never know what you'll get, beyond that it's guaranteed to be precisely sequenced.
Unless it crashes. Then you have to start it again.
One of my "Hello World" Win32 apps.. the only benefit of this is a visual experience of the merits of bicubic and hermite interpolation (both well documented at places like musicdsp.org and Julius O. Smith's various websites, amongst hundreds of others..)
Of course in audio, how they sound is almost as important as how they look ;)
Filter Coefficient Calculators
This zip file contains two command window .exes developed from information at www.dspguide.com. One generates a text file of coefficients for Chebyshev filters, and the other for windowed sinc filters.
The Chebyshev proggie takes cutoff (as fc/fs), ripple, low/high and pole, the windowed sinc takes cutoff, window length and type (5 types) and options for printing style, eg. line ends in comma or semicolon, et c.
C++ source code is included. These were compiled with Borland FCLT, other compilers may use different commands for setprecision (# of places to print numbers as).
original content © 2011 xoxos · all rights reserved
VST PlugIn Interface Technology by Steinberg Media Technologies GmbH