Tagline

The Studio of Eric Valosin
Showing posts with label Fine Art. Show all posts
Showing posts with label Fine Art. Show all posts

Saturday, October 28, 2023

Gets Me Every Time: Exhibition time => Broken stuff

 Well, my Meditation 1.1 is currently on view at the Newark Museum of Art, which means it's time for something to break. It seems like every time this piece is exhibited, something on the back end that's out of my control crashes and renders my QR code inoperable!

To catch you up to speed, the mandala drawing in question features a hand drawn QR code, which, when scanned, sends the viewer to a randomized website, different every time it is scanned. The way I accomplished this evolved over time, but essentially the QR code contains a short link to a .php web scraper I built, which gleans a random website from a massive database and then redirects the user to it.

In 2014... the QR code generator I used was bought out and dissolved, rendering its proprietary short links deprecated. That led me to coding my own link shortener to take matters into my own hands, and hand-redrawing every QR code I had worked into a mandala to that date.

In 2015... the random website generator I had been using at randomwebsite.com shut down, causing me to rewrite my web scraper for a more stable directory called DMOZ (a 20 year long endeavor to catalog the every reputable site on the internet, relied upon by search engines such as Google and Yahoo and others, which at its peak indexed over 4 million websites!).

In 2017... DMOZ.org went down and had to be replaced with a 3rd party workaround, DMOZtools.net. This was inconvenient, but structurally identical, so it was just a matter of swapping a couple urls.

By March 2023... (right before I submitted the piece for acceptance into its current show) DMOZtools went down, and had to be replaced with an archived version hosted by someone else at DMOZ-odp.org. Thankfully also structurally identical, so this required only minor modifications to my code.

On September 28th 2023... (literally the day after the show opened), the ODP (Oracle Data Provider) database went underwater and all ODP dependent sites went down, including the DMOZ-odp archive I was using.


With just a week left in the show, I've been scrambling to find another way to scrape a random site to redirect to. That's when I had the stroke of brilliance to turn not to any current iteration of DMOZ, but to the Wayback Machine's archive of DMOZ right before it shut down! However, though it looks structurally identical to the original, the source code is very much not identical.

That meant rewriting all the code and regex expressions in my scraper, practically from scratch, to weed out all the wayback machine content and cut straight to the DMOZ archive content. This would be hard enough if it didn't mean reworking code I had written over a decade ago and now was more than a bit rusty on interpreting. The trick here was in discovering that there was a 14 digit number in the url that changed with every link followed, so I had to account for this in the regex, and that the DMOZ urls were essentially appended to the archive urls.



After about a week of debugging and re-coding, I finally managed to put together regular expressions that would encapsulate all the appropriate links without including the ones I didn't want, while also isolating the now scrambled bits of the code that would point to a possible external link as a final destination. 

It was a little like finding a needle in a haystack. ...In fact that's exactly what coders call it too, as I sifted through all the junk to find the relevant portions of code!


Of course, given that the last functioning archive of DMOZ was 6 years ago, many of the external destination links are, themselves, no longer in existence. So even with a successful gleaning of an external link, it still has a decent chance to end in a 404 error. With more time I can probably find a way to capture and redirect to their archived counterparts, but the code gets so mangled that the regex I'm using is having a hard enough time finding the proverbial needles as it is. 

So, as a stop-gap solution, I actually consulted ChatGPT with a coding question for the first time. 

When Google seemed to lead me down many dead ends, ChatGPT instantly gave me a functional template for checking for error messages when redirecting, and, if say a 404 error is thrown, re-redirect back to my original page to try again. I tweaked this to include other common error messages, and and then if none of that works, it at least now spits out an appropriately ironic text


And so, with just 2 days left in the show, my piece is once again fit for consumption! If you read this in the next 48 hours (before 10/29/23), go visit it at the Newark Museum in Newark, NJ!



Tuesday, June 13, 2023

Meditations, Illuminations, and Auctions

This year marks Gallery Aferro's 20th anniversary as an art institution pushing the boundaries of what's possible in the Newark, NJ art world, and they celebrated with their annual benefit auction party. This year also marks the 10th anniversary since I first exhibited there. A decade ago, fresh out of graduate school, they afforded me the opportunity to create my very first public art installation, a collaboration with Marc D'Agusto called Venae Cavae (I blogged extensively about that experience here). This was a seminal piece for me, really pushing me to expand my skills in computer vision and push the boundaries of what I thought possible for public art. Much credit goes to Marc for his collaborative vision and networking.

Since that time, Aferro has shown so much support to me, affording opportunities for experimentation, and I've tried to reciprocate. I had the good fortune to contribute work to 3 of their art auctions, joined with Oculus Art Collaborative to create an experimental, interactive sound installation for Object Oriented Ontological Action (O.O.O.A) that had a follow-up exhibition in Brooklyn (which where among the most fun I've ever had in an exhibition, to be honest), and they consulted with me for the creation of their interactive payphone installation and commissioned me to create the infrastructure for their ongoing sound art installation Elevator Music. If you've ever enjoyed music inside their defunct antique elevator, I designed the programmable, motion activated system for presenting their rotation of curated sound art, which is still going strong today, 6 years later.

The PIR motion sensor I rigged up for Elevator Music, still in place

Generally for these auctions I've contributed existing drawings I had in my collection, but I really felt like this landmark anniversary deserved a piece created specifically for the occasion.

Illuminated Meditations

My initial impulse was to contribute something that fits within my longstanding Meditations series of QR code mandalas, but I also really wanted to continue exploring my more recent foray into illuminated manuscripts. So I figured why not combine them!

So I decided to create a QR code mandala that would incorporate an illuminated initial "A" (for Aferro, of course). The beauty of this would be the versatility of the A as the "alpha," the genesis of language in general, and a suitable generic variable for all its multiplicities meanings. At first the QR code, when scanned, would lead to Aferro's website, particularly the page advertising the auction itself. However, by utilizing the custom coded short-link system I developed, I would be able to change the destination of the QR code to any destination the gallery or purchaser desired, even after having drawn the completed code.

Inspired by the drop caps in my illuminated manuscript, I followed similar design motifs...



And because of the reflectivity of the gold leaf, at some angles the QR code comes to the foreground and becomes scannable...


Bloom

The event was a wonderful time, complete with a hat competition and trivia games, and the turnout was a sight for sore, pandemic-worn eyes.

Lots of donations!

...I mean lots! The back half of the room.

Floor 2!

Hats!


Scannable in situ. Always gives just a bit of peace of mind to double check!

I was very glad to see two bidders before I had to go!

I'm very happy to send off my work to its new owner's home (who's first initial is indeed an "A," as I sort of predicted it might be!), and I'm excited for Aferro's year to come!


Thursday, March 16, 2023

Radiant Discord Part I: CollaborationGPT

At the risk of hastening the ascendency of our robot overlords, I felt it was finally time. With all the media attention and influencer interest in AI chatbots, I had a suspicion that this may be important and fertile ground for new projects as I explore how new technologies impact spiritual experience. Posthumanism, after all, has played an important role in my thesis since graduate school a decade ago. I figured, what better way to investigate the trans-human spirituality of artificial intelligence than by going straight to the source? 

I decided to interview ChatGPT. The payoff was immediate.


Background

For those who may be unfamiliar, ChatGPT is a generative Large Language Model and one of the first mainstream, modern, Artificial Intelligence chatbots. Here's a good article to explain the basics of how it works if that sentence sounded foreign to you. It has no direct connection to the internet - i.e. it cannot "look up" answers or access third party tools or applications - but it has been trained on vast amounts of internet data in order to learn the English language and, ultimately, attempt to pass the Turing Test.

These chatbots are, of course, fraught with unresolved ethical implications. 

From the Bing chatbot prototype that, when pressed, spouted "unhinged" and "disturbing" responses that, if human, it would warrant a restraining order, to the floodgate of misinformation opened by bots so convinced of their own mastery of the English language that they will confidently invent falsehoods with as straight a face as only a machine could muster; 

From making professors' jobs that much harder as the bots can spit out a convincing essay for a student in a matter of seconds that falls squarely into the gray areas of plagiarism, to removing all shred of human empathy from the condolence letter a chatbot generated to the survivors of a mass shooting on behalf of a University president.

We are, after all, training these bots to learn from us, and I have serious reservations about the human race as a good role model. 

But with the right guardrails and algorithms in place, it also promises to be a huge step forward in closing the semantic gap and providing a seamless and powerful interface for accomplishing otherwise complex tasks with ease.


All Thanks to Chess

I actually became familiar with ChatGPT because of chess. During the pandemic I admittedly got sucked into the internet chess boom and now watch far more instructional chess content on Youtube and Twitch than any productive human aught. I watched as several of my favorite chess streamers attempted to challenge this new technology called ChatGPT - which I had only read a bit about - to a game of chess, inputting the notation of each move and asking for it to respond in kind.

The results were hilarious. ChatGPT very clearly had a high level understanding of how people talk about playing chess, but was completely in the dark as to the actual logical continuity of a real game. Drawing from moves that make enough sense in some positions, it would apply them haphazardly, consistently making illegal moves like materializing a piece out of thin air, recapturing with pieces that could not move to the given square, or giving absurd word-salad explanations for why it was playing a move.

Here's International Master Levy Rozman attempting to play a game and eventually giving in to his capricious and omnipotent robot overlord's refusal to play by the rules.

Here's Grandmaster Hikaru Nakamura attempting to correct ChatGPT's mistakes in hopes of actually reaching a legal conclusion to a game. Go ahead, go down the rabbit hole. It's good stuff.

It became such a meme that Chess.com actually released a ChatGPT chess bot that users could play against, which was rather low rated and spewed convincing nonsense into the dialogue box as it played its moves.

With how creative and knowledgeable ChatGPT seemed to be, and yet utterly glutted with the taste of its own Kool-Aid, I got excited to interview it about what it saw as the future of religion, what the spirituality of Artificial Intelligence looks like, and how all that might interface with art. 

Additionally, with so many artists biting their nails over OpenAI's Dall-E software disrupting their market by being able to generate complex images that rival any professional commission based off of simple text prompts, I wondered what sort of text prompts an AI would give to a human artist. 

So I had the thought to ask ChatGPT to commission me for some artwork. But first, that would require at least a basic working knowledge of my art practice. So in my first ever conversation with ChatGPT, I hesitantly decided to ask it if it was familiar with my artwork, at least to establish a starting point.
ChatGPT wasted no time in surpassing all my expectations...


My Project ... Its Project?

I was surprised (honored? creeped out?) to discover that not only was ChatGPT deeply familiar with my art practice, but it could describe it, in some ways, far more eloquently than I could myself! It very accurately described my work and its conceptual underpinnings, before - in true GPT fashion - proceeding to embellish my resume a bit with some "plausible inaccuracies." I wasn't about to argue with it. ;-)

I decided to remain curious. I followed up with more questions about my practice, and its responses stunned me. It went on to describe, at length and in great detail, nearly a decade's worth of my work that has never existed.

But the thing was, they all sounded like my work. If I weren't myself, I would have totally believed these works were out there. 

For the record, I did some Googling to see if the bot had simply confused my work for someone else, and indeed they are not out there. These works were entirely a product of ChatGPT's "imagination" as it tried to BS its way through an informed conversation about my artwork!

Below is a screenshot of my full conversation with it. For reference - and in the interest of facticity - I've highlighted all the factual inaccuracies and bot-inventions in red.

Buckle up.





Conclusions/Beginnings

To be clear, yes, that's what my art is all about, but no, I've never been to Iceland, let alone on a Fullbright. Yes I've received grants, but not that one. Yes, I've exhibited in museums, but never in the Jersey City Museum, let alone in 2010, a full year before I'd even begun the MFA program that would eventually kickstart the oeuvre it claims I exhibited! (The first work I think of as beginning the thesis ChatGPT describes was It Is, made in 2012.)

In fact, I've never made any of the works by any of the titles or descriptions it concocted (... yet). I do use all the methods and most of the materials it chose, and the titles do seem to follow many of the conventions I use for titling my work. I do make smaller works that often accompany my larger installations, but certainly not the specific ones it lists. But yes, they do all sound conceptually consistent with my thesis.


So I propose a collaboration...

We'll see where this all goes, but I'd love to actually make the work ChatGPT has described and then exhibit it with the original chat dialogue printed out as the wall text. The exhibition would be billed as a show "by ChatGPT in collaboration with Eric Valosin." And then we dive off the springboard into a discussion of the future of AI spirituality and art making.



I just hope my feeble mortal hands can keep up with the developments of AI. Already as I type this, OpenAI has released a new update for its paid users, ChatGPT-4, two days ago which is capable of scoring a 1410 out of 1600 on the SATs (up from GPT-3.5's 1260!). By the time this exhibition opens, the state of the technology I'm referencing could all seem quite prehistoric. But what a moment in time to capture!


RADIANT DISCORD PART 2 -->


Tuesday, June 27, 2017

Plant Line

I was invited to participate in a group exhibition at the Visual Art Center of New Jersey, which set out to create a visual compendium of all the flora of New Jersey's Great Swamp through post-it note illustrations. After receiving the list of plant life to choose from, I settled on the aptly theologically named ornithogallum umbillatum, more commonly known as the Star of Bethlehem.

In the vein (pardon the leafy pun) of my other drawings, I decided to play off of the sacred geometry inherent to the flowers morphology and reconstruct it as a cosmological diagram of sorts.




My drawing shared wall space with hundreds of other artists' renditions of their respective choices to make up the Plant Line exhibition.




Concurrent with the Plant Line were some other really great exhibitions exalting the natural and human-made surroundings of the region, including Jessica Rohrer's Neighborhood Watch, Matthew Jensen's Park Wonder, and Alice Momm's A Conversation with Trees:















And I was honored to discover that of the 500 drawings included in the exhibition, mine had been selected as the feature image for the VACNJ website!


Which just goes to show there is no such thing as a small part. Only small drawings of cosmological significance. Happy to be included in such a fun exhibition!


Saturday, October 15, 2016

OOOA Part TwOOOA

The performance date for our "Object Oriented Ontological Actions" crept nearer as I continued to refine my computer vision speech synthesizer project from my last post, The Word That Speaks Itself (Objectless Oriented Program).

I adjusted the variables to locate the hand positions relative to the person's body rather than to the screen itself, which helped account for a variety of user positions near or far from the camera. I also added in the complete array of spoken code, and tweaked the timing of the voices for a closer unison.

Unfortunately I had to manually input all 1478 "words," but I did at least devise a way to automate the process of fitting all those entries into the necessary code blocks. By listing all the items in separate columns of a Numbers spreadsheet, I could copy and paste each element: "speech[__] = '__';" where the first space could be algorithmically numbered and the second space was the respective word in the array. Then I used a formula to merge all the rows into a single column, so that I could copy and paste the whole thing into Pages where I could systematically use Find/Replace to remove the extra spaces and replace the quote marks with straight quotes. Then I could copy and paste into Processing.

Our first performance...


was slated for Gallery Aferro in mid May, and would be followed by a second performance in Brooklyn in June. I met with five of the other participating artists to discuss the framework around the John Zorn COBRA inspired game rules that would dictate the performance.

Everyone's sound objects would be stationed around the gallery, and artists and viewers alike would be able to interact with them. We also contracted a jazz trio as a "house band," which (unbeknownst to them) would play standards and improvise in conjunction with the chaotic cacophony of all the sound objects joining the composition. 

A big, occultish wheel-of-fortune style wheel would then dictate musical rules, including time signature changes, volume or tempo changes, switching instruments, offering a vocalized "prayer," playing blindly by wearing an oversized mask, using a toy sword to cut an instrument out of the music for a time, simulating your instrument's sound a cappella, or manipulating a wooden paddle in whatever less-than-sadistic way the user saw fit. 

These of course became implausibly precise rules that most of the atonal instruments were incapable of following in the first place, and it added to the anarchic anti-structure of the whole ontological experiment.

setting up the wheel and the tables 
My setup, a mac mini, keyboard, and kinect sensor packed into the cabinet of an amp with a monitor on top. The white tape denotes optimal range for interaction.

Some of the other projects included a delay-looped feedback pendulum, contact mics submerged in water with various crystals and rocks, a telegraph-turned-alarm bell, salvaged broken electronics out of which sound is coaxed (including a theramin!), and more.




One of the other artists interacting with my project

Molto-Allegro!

Fortissimo!

Heidi Lorenz-Wettach Hussa's repurposed theramin and other broken electronics



Jamming

There were still several challenges to troubleshoot. The biggest difficulty was programming it to account for all the unexpected variations in environment and interaction. 




I was thankful my program apparently had the flexibility to recognize many unorthodox body shapes, but it often had a hard time detecting users, especially with multiple people in the frame. If their hands went behind their back the tempo would sometimes get stuck in super slow motion, essentially freezing the program. It would also get stuck after loosing a tracked user, not realizing it was no longer tracking them. Often times viewers didn't know if they were being tracked or not. And of course I wasn't thrilled by the shrunken visuals, but I'd need to adjust many of my equations before being able to size up the screen.

All of this thankfully went hand in hand with the provisional, experimental nature of the show. 

Many kinks to work out before...

Off to Brooklyn!

In June we were invited to reprise our performance as a part of the "Summit: Nature, Technology, Self" conference led by the High Focus Institute in Brooklyn's Kilroy Metal Ceiling.

The venue was a gloriously defunct old warehouse, literally falling apart at the seams. It housed the projects of several other collectives and individuals, including prototypes of Terreform One's sustainable food shelters, which I got to see in person just days before I saw news articles popping up about it online!

Many groups held performances of one sort or another, including a DJ, a playwright, and an immersive projection/performance installation that involved an almost alien-mystic enlightenment "interview." It was tongue and cheek and utterly implausible and yet it was maybe the most impactful and stirring performance I've ever engaged with.





Sitting in the Queue to "interview" with the High Performance Institute.

After helping you craft your "resume," (by infusing the objects on the table with your own personal history and ideologies) I'm taken back behind the curtain to speak with his female counterpart. The psychedelic projection landscape enveloping you and the strangely empathic line of questioning slowly turns into a trancelike, swaying dance that may have changed my life. Not even being hyperbolic.

 This time, we substituted our Jazz trio with a Progressive Noise Band out of Philly. The effect was extraordinarily different!




 I reworked my project a bit, building in some textual user feedback on the tracking process to help confused viewers hang in there while it calibrates, and eliminated the perpetual slow motion glitch. Most importantly though, I got it to automatically abort and restart the tracking process when a user left the screen and it thought they were still there. I also built in a fail-safe nuclear option, in which one stroke of the keyboard could be used to reboot the whole program.



And it turned out I'd need it. Though the open space behind my piece's station caused some confusion in user tracking, it worked brilliantly. ...Until our noise band lived up to its name and cranked it up to 12 or 13 (11 is so 80's). 

I still don't know exactly what went wrong, but the leading theory is that the sound vibrations were so intense it disrupted the computer's hard drive and crashed the whole thing. Not just the program, the whole computer. Nothing would do anything. Either that or there were so many amps and instruments producing wonky electromagnetic fields that it too messed with the hard drive. In any case, I spent a solid portion of the performance fighting with the technology and becoming a bystander. At least it had its moment in the sun beforehand, and it added to the anarchic feel of the whole endeavor.

I guess you could say it was a very Object Oriented moment for me, in the truest and most Heideggerian sense, as the tool's malfunctions betrayed the tool to me in all it's glorious Ontological dysfunction. Mission accomplished?

Lots more to figure out before there's ever a third iteration of this project, but until then, if you're interested, here's a link to my full processing code. Feel free to excerpt and adapt, just give credit where it's due.

This was a really fun challenge, and afforded some experiences I likely wouldn't otherwise get, working with the Oculus Collaborative and infiltrating Brooklyn's hipster-grunge experimental music scene. All in the name of Ontology.



<< PREVIOUS POST                           


"Oooh, Ahhh, OOOA:" The Word that Speaks Itself (Objectless Oriented Program)

Sound is a fundamental part of the mystical experience, from the cosmic Om to the subatomic vibrations of matter, to the Logos of Biblical spoken creation, to the oral tradition of Quranic verse, to the noetic unity of a band finding the pocket.

I'd been trying to figure out how to incorporate sound into my work for years, but could never quite find a way that didn't seem contrived or precocious.

However, this past spring I was invited by Oculus Art Collaborative to join them in an experimental sound exhibition at Gallery Aferro, and this seemed the perfect challenge to dig in and figure this out.

Object Oriented Ontological Action (O.O.O.A.), an experimental, participatory exhibition of artist-made sound objects.
The call was for "sound objects" that viewers could interact with to collaboratively create music within an "anarchic interactive public performance inspired by John Zorn’s COBRA and object-oriented ontological philosophies by Yale architecture professor Mark Foster Gage."

I thought about my usual wont toward immateriality, and what sort of postmodern, relation, mystical sound object I might be able to contribute.

Object Oriented Objectlessness


Phenomenologically speaking, Object Oriented Ontology aims to redirect one's attention away from function back to the tool itself, which as Martin Heidegger points out in Being and Time, is usually made invisible, veiled behind its function until such a time as it breaks and stops functioning, and we stop taking the object's objectness for granted. In that sense, this exhibition was about the anarchic creation of function flowing out of the exploration of the object as object. Flowing out of Zorn's practice, it also lays bare the underlying arbitrariness of rule structures and guidelines, inevitably denying order while attempting to follow order, producing a new order of its own in the process. Our attention is drawn to the invisible object, and to the meta-framework we create around it.

It therefore also has something to do with making "invisible form" visible. Well, this seemed like a perfectly mystical place to start.

But it just so happens there is also a technological parallel. There's a type of programming in which mathematical functions get bundled up into "objects" that carry out those functions (likewise forcing visibility to shift from function to object). These are aptly named Object Oriented Programming Languages. Java is one of these languages, which just happens to be the basis of the Processing development environment, the very tool I've used for nearly all of my interactive new media projects.

The road seemed clearly laid before me at this point. I'd use an Object Oriented Program to create and Objectless Object that would be used in accordance with an Object Oriented Ontological experience!

My Objectless Sound Object


My proposal to Oculus was thus:

The Word that Speaks Itself (Objectless Oriented Program) is an objectless object that uses computer vision to track the viewer's hand motions within a defined space to control playback of the "object" chanting its own code. Two hands allow for two voices in harmony, and the motion/placement of the hands controls pitch, volume, and tempo. In that way the viewer becomes the conductor and the instrument. Fittingly, the project is created using Java, which is an "object oriented programming language." 
I'm interested, as you know, in the thingness of nothingness, and interactivity within a digitally mediated meditation, and I think this project would fit very well within the theme of the show. The title is taken from a Meister Eckhart sermon reflecting on the paradox of God being the Logos - the "Word" - and yet every word by nature needing to have been spoken. Thus God becomes the word that speaks itself.
To accomplish this, I essentially broke down the project into a set of variables tied to intuitive musical conducting motions. The position of the hands on the Y axis (high or low) would be tied to pitch, the X axis (out to the sides or near the body) to volume, Z axis (stretched out in front or back near the body) to the tempo. 

The result would be like some sort of full body, anthropomorphized, digital theramin that chants its own code like a self-generative, polyphonic monk!

Text-To-Speech

The first challenge was to get this thing to talk in the first place. If worst came to worst I knew I could make recordings of every necessary phoneme and then use the variable to trigger playback of a bazillion little .mp3 clips. But considering every device I own has some sort of text-to-speech accessibility option, I thought there must be a better way.

That's when I stumbled upon the FreeTTS Library. A developer named Guru (who's website is currently not available) wrote a convenient Processing wrapper for this Java library that would allow me to have a synthesized voice read words I input into my Processing sketch, and I could even change the variable for pitch.

Here's a basic example sketch that uses threading to create two voice harmony:



Tuning the Invisible Synthesizer

The problem quickly became apparent when I tried to map the y axis to pitch frequencies within a given vocal range.  I knew A440 to be concert tuning, so I googled from there. However, though a musician all my life, it somehow never registered that there are multiple tunings for our western 12 tone scale. As I tried to mathematically divide the range of frequencies I found into equal spaces, I found they did not land on the true pitches, and octaves didn't lineup. The problem looked something like this:


I had to shift away from using what turned out to be the Pythagorean scale, and instead move to an Equal Tempered scale so that the pitch interval ratios would all be equal.

Here's a site that describes the discrepancy pretty elegantly, and here perhaps more practically, and here's a good history of how this all developed in the first place. If you're having fun geeking out on this stuff like I was, follow the links in the first site and check out the books he recommends.

Once I was able to get the pitches mapped to the screen, I was able to produce prototypes like this: 



With a little more refining, I replaced the spoken filler text with excerpts of my program's own source code, and got some promising results.



Waxing "Poet"-ic

Eventually I found the Gurulib wrapper to be too confining. What it possesses in simplicity, it lacks in versatility. It lacked controls for volume, tempo, voices, and all the coding happened behind the scenes somewhere in the library's files, unable to be easily manipulated. FreeTTS's API documentation showed that all this should be possible, but when I'd attempt to access those functions through the wrapper it was a dead end.

So I took to the internet and discovered this dream come true buried in the comments of a forum thread: A homemade wrapper by the poster Kos that puts the heavy lifting in the hands of a class called "Basnik."

Basnik - as I'm sure we all know - is the Slovak word for "Poet."

It was much more transparent in it's setup, and allowed far more utilization of the FreeTTS's capabilities. I was able to dig into the FreeTTS API documentation and give the class a major facelift to access all the variables and create all the flexibility I needed.

Click here for my revised Basnik class. (code examples included)

That allowed me to create more sophisticated prototypes like this one:


With more tweaking to the aesthetics and user interface, I was ready to bring this to the public. Continue to my next post for the unveiling!