Redial Final: Mysterious CorpsePhone

MYSTERIOUS CORPSE-PHONE
The action is basic voice recognition and text-to-speech rendering as a result right now:
(1) Dial the number
(2) The caller is greeted, and is asked to speak his/her choice from four mystery genre options: legal, noir, satirical, political
(3) The caller speaks his/her choice of setting: US or non-US
(4) The caller chooses a male or female protagonist.
(5) The caller hears a mash-up of a couple of sentences meeting the selected criteria.

SUCCESS!!! As long as you do not select “non-US”(renders as “non-us” and so is not recognized in database) or pronounce “female” with too much “fvvv” (I just got “shemale”– a new variation to add to the other erroneous pronunciation recognitions I’ve gotten in Google VR’s hearing of “female”).

VIDEO, but you can try it yourself (I just fixed my code to pull more than one “intro” from the database. In my enthusiasm last night, I left the testing single-intro sentence version (which I used because I wanted to make sure that Asterisk would handle at least one) in the code. This video shows only the single-sentence version working, but more than one sentence does get pulled. Code to come–I have to put it in Github now.

IMG_0427

Maybe I should not dare to do it, but I’m going to try to add a couple of different spellings into the database to see if MysteryCorpsePhone will return sentences whose criteria may include “non-US”/”non-us” or “male”/(at this point, rendered consistently as “mail”) and speak them correctly. UPDATE: I have not added “a few different spellings” – that would have been a bridge too far in such short notice. I did, however, just go in and change all the “male” protagonist fields to the spelling that Google VR is rendering: “mail” I cannot test it right now, because in calling the ITP Asterisk number I got an error–bill not paid—notice. However, I will try again later and will try to pull it together on the Rackspace server Marcel now that I know my program works.

Screen Shot 2013-05-10 at 9.34.55 PM

 The demonstration in class of the voice interface showed me that I would need to allow people to speak the answers to the option questions directly, rather than speaking number-substitutes. I think that the numbers are more readily understood by google tts, but it’s very clunky and makes little sense. Why not keypress if you’re going to use that substitution? I actually had noted at least two instances in testing beforehand, in which my speaking number options was not recognized correctly, so it may only be a little better than throwing caution to the wind and allowing the users to say the options.

MYSTERY on Asterisk.ITP-redial.com Server: The main Asterisk number, my extension.
TWO THINGS I MISSED
(1) Wrong path on the database–kept missing and missing until I looked closely.
(2) Somehow started the Extensions.conf edits outside of the asterisk_conf folder on the server.

LIMITATIONS OF VOICE RECOGNITION
As I told the class when I demonstrated on Tuesday, I used numbers to implement the options because I thought that Asterisk would have a harder time with multi-syllabic choices. However, as I also mentioned on Tuesday, I had already had errors in voice recognition just using the numbers.

I have removed what seemed to be the system’s voice-learning aspect (the hello-pound element at the beginning), because it did not seem to provide any benefit and it slowed things down.

Given the obvious clunkiness of the interface using numbers, I reworked things to use the options themselves. This works, but somewhat erratically. Because it interests me, I want to continue to investigate, but here are some strange mis-hearings Google voice recognition has produced. These examples are from very clear pronunciations, in quiet surroundings, by a classic, plain and flat American accent (my own). For “female” which was often mis-recognized, I tried emphasizing the “f” emphasizing it more as a “fv” sound, as well as saying the word normally and briskly. I have not yet discovered the fine distinctions of pronunciation that may be required for Google VR to recognize “female” consistently and accurately, but I will keep trying:

“female” often gets recognized as “email” or “gmail”
“male” more often than not gets rendered as its homophone, “mail” which can affect adversely the result since the database spells “male” as “male”. I may change the .yml file so that it recognizes both.
“US” has been recognized as “you-off”

I was excited when “political” was recognized correctly twice in a row, and “satirical” was also rendered correctly. “Noir” is not well-recognized, or well-pronounced in this version of the text-to-speech script, for some reason.

I’ve included some screen shots of these crazy pronunciations.
US = “YOU AT”/ FEMALE = “EMAIL” In the second example, Google VR recognizes “political” but does not recognize “female” again.

you-at and email copy

another example

RACKSPACE ETC.
Though I initially implemented my Rackspace server in April, after using all of the scripts provided to add the necessary items, I believe I may have accidentally hit “rebuilt” after re-setting my password. I surmise this is so because when I returned in late April, I found no server, no applications, nothing. I easily loaded everything back in, but I encountered some difficulties this time, as I prepared the server for immediate work.

I resolved most of these difficulties eventually. However, I have produced my final on the ITP server in the end because I wanted it to work properly there first before I moved it to rackspace.

Monster/Cute & Post – Mortem: The Hyena

MONSTER HYENA

For the Monster/Cute assignment, I created two collages, one of which was two-sided.

The Monster Hyena collage originally depicted one giant hyena mouth with two hyena mouths on either side of it.  The background consisted of cut-up photocopies of hyena fur, and pictures of hyena-eaten animal ribs.  The back, which I somehow decided I must also decorate with photocopied fur and ribs, was meant to represent the abstract, killers-in- fur aspect of the hyena Monster.

The feedback on the original collage was that there were too many mouths–yes, I knew it–something hastily put together, however well thought-out , received the truth.  Also, the animal ribs and xeroxed fur on the Monster “back” were not recognizable , and as such, any point about the hyena as killing machine was lost.

Hyena – Monster (revised)

Hyena - Monster Back (orig ver)

Hyena – Monster Back (orig ver)

I revised this collage because I knew what my original idea had been, and I wanted to see it through.  I removed the extra mouths, cut out black and white photocopied pieces of the same color hyena mouth and jaws, and re-assembled the collage as a single scary maw.  I also added a few ribs on top, hoping that their color versions and the fleshy backgrounds, while still abstract, might make the black and white ribs slightly more recognizable.

In its revised form, I’d say that while this is no art piece,  I do think it is a reasonable picture of Monster Hyena.

I did not change the back of the Hyena Monster because I felt that the revision of the front made the back irrelevant.

CUTE HYENA
My original “cute” take on the Hyena was truly awful–so much so that I also revised it before posting.  The criticism, again, “too much.” Yes!  I found many, many images of cute hyena babies and, since getting to know and appreciate the hyena, had an irresistable urge to overwhelm people with cute hyenas.

In revising, I wanted to depict the animal that some people believe is as intelligent as a primate (Jane Goodall). I also wanted to allude to status within hyena society, as well as to the playfulness of young hyenas. I took my original large color photocopied image of an earnest-looking baby spotted hyena and removed all the extra disjointed images and reconstituted its bottom half with a black and white copy (I had only one color copy of the photo).  Then I fashioned a kind of frame in cut-out pieces of hyena fur from other hyena photocopies I had.  To put forth the scampishness of the young hyenas, (usually only imagined in their vicious mode), I included, on the right side of the page, five copies of the same small image of a baby brown hyena, wearing what appears to be a little smile.

Hyena - Cute (revised)

Hyena – Cute (revised)

I created the fur frame around the large picture in an attempt to give the feeling of a framed child’s portrait, with its associations of value and status (hyenas are born into a rigid class hierarchy dependent on their mothers’ status). Hyena mothers suckle their young for 12 to 18 months; and the nursing may be hard on the mothers, since the babies, as mentioned earlier, are born with teeth.  Birth is also difficult for hyena mothers, and an estimated 10% die giving birth to their young.

The small baby hyenas on the side, sprite-like in this moment, could become the retinue of the large hyena cub when they mature.

Proposed Redial Midterm

I would like to create a relatively simple alert service project, that would be tied to a news feed and would alert users to  births of baby animals in zoos(?).

The interaction may involve picking these events from newsfeeds, or a more manual reporting scheme.

The user would receive calls, and upon receiving the call, would hear recorded music of an appropriate tone, with a one-sentence description of the event. I would like to reserve the possibility of altering this project idea, but it’s what I’ve come up with for now.

The implementation of it could be done with a phone tree and Asterisk call-back capabilities. I will supply further details by the end of this week.

Development Plan: I would like to create the structure of what I have in mind by Friday and begin working on it over this weekend.

It is my plan to have completed a skeleton structure by next Tuesday, with further development and testing reserved for Wednesday through Sunday of next week.

The major challenge may be the identification of event feeds.

Roosters & Chickens

I am interested in these creatures because they are familiar, but they are not easy for me to romanticize or idealize. The three aspects of chicken I am covering are (1) Roosters/Chickens as Sacred Beings – Japan; (2) Roosters/Chickens as Comic Figures (3) Roosters/Chickens Used in Political Commentary.

Chickens as Sacred Beings – Ancient Japan
In Japan, in the Yayoi period (300BCE–300CE), what scholars have identified as roosters appear in chambers of burial mounds, depicted as sitting at the helm of boats bound for the land of the dead. It is clear that they are a very old animal.  Chicken fossils have been found in Northern China dating to 5400 BCE, (possibly originating from southeast Asia/India, and Polynesia–though there may have been more than one strain of bird), and chickens proliferated throughout northern and central Asia, including Japan.  Possibly they were rare or perhaps their crowing at dawn, marked them as mediators between night and day, and as such, appropriate guides on the journey to the underworld. Maybe the action of adrenaline in a chicken’s body after its head is cut off (which mimics continued life) made the ancient Japanese imagine that this creature defied death. Some folklorists associate the cock with the folk deity Jizo, who, in pre-Buddhist times, was associated with the rooster and was considered a protector against demons, analogous to the rooster, who disperses the demons of the night at daybreak.

Yayoi Period Burial Mound drawing (l)   Kofun Period Burial graphic (r)
Boat-of-Death-rows twd sun wRoosterkofun period tomb mural

Contemporary American Comic Chickens/Roosters

Chickens, in particular, roosters have been used frequently as comic characters. In the two examples I am presenting here, both are associated with the American South, both are verbal persuaders and both allude to human characters earlier in media history: Foghorn E. Leghorn and Hyper-Chicken.

Foghorn J. Leghorn
Foghorn J. Leghorn is a comic chicken created by Warner Brothers, and is a large, white, male rooster. He sports a southern accent and  bullies for fun, both verbally and physically, but always ends up paying the price. His verbal style was taken from Senator Beauregard Claghorn, a comic southern politician character (“”I won’t go into a room unless it’s got Southern Exposure!”) on Fred Allen’s radio show in the mid-1940s. Claghorn originated phrases that were used in Foghorn’s dialogue, such as, “That’s a joke, I said, that’s a joke son…” Leghorn is such a bold persuader that in his first cartoon appearance, in “Walky Talky Hawky,” he initially convinces Henery Hawk, a young and hungry hawk, that he is actually a horse, and the the farmyard dog, Leghorn’s nemesis, is in fact, a chicken. What is interesting about this use of the chicken for comic effect during the 50s and 60s perio is that it points to a desire to move past the Civil War and the rural by making fun of the chicken embodying a regional stereotype. (I have not seen more recent Foghorn Leghorn cartoons.) At the same time, the fast-talking southern trickster is treated fondly, even as he carries a large plank through the barnyard and hums Stephen Foster’s “Camptown Races,”"Gwine to Run All Night, or De Camptown Races,” the minstrel song’s formal title. Foghorn Leghorn takes the southern politician character on which it is based and pushes satire into the realm of slapstick, though it sometimes seemed to be used in the 1950s to make subtle political satire.
foghornLeghorn

hyper-chicken

Hyper-Chicken
Hyper-Chicken is a current chicken comic figure, a character in the Matt Groening cartoon, “FutureWorld” who is a lawyer. Hyper-Chicken takes the Jimmy Stewart lawyer character of the 1940s film “Anatomy of a Murder” and turns it inside out. In “Anatomy of a Murder,” Stewart plays Paul Biegler, a small-town lawyer in a rural Michigan town who uses the insanity defense successfully to win acquittal for his client, who has claimed to have killed a man who allegedly raped his wife. At the film’s end it becomes clear that Biegler has been tricked by his client and the client’s wife, and is stiffed for his fee. Hyper-Chicken mimics Stewart’s “just a smalltown lawyer” style and frequently uses the insanity defense for his clients, but additionally, has a southern accent, hearkening back to a television lawyer of the 80s, Matlock. Both the Biegler and Matlock lawyer characters have an air of incompetence, a shambling style, a persistent sincerity of purpose, but both win cases. Hyper-Chicken is portrayed as a flat-out incompetent lawyer, whose sincerity is not to be trusted, and who is, in fact, ridiculous, because he cannot predict his own actions.

In this scene, Hyper-Chicken interviews as a trial witness the surveillance camera at a bank where a robbery has occurred:

Hyper-Chicken: As the surveillance camera for the bank what all the judge was a-jawing about, could y’all tell us what you done seen the day of the crime?
Camera: Well, let’s see. My memory’s a little fuzzy, but it went exactly like this: [It projects a black and white picture of Fry and Bender taking the money from Roberto. The court gasps.]
Hyper-Chicken: Your Honor, I move that I be disbarred for introducing this evidence against my own clients.

Hyper-Chicken provides no quarter for quaint understanding or discounting of smalltown or southern regionalisms. The character also embodies the impatience with sincerity and takes the irony of the trial outcome in “Anatomy of a Murder” (a smalltown lawyer wins, but his client is actually guilty and not insane), and pushes it to the extreme of comic cynicism.

Chickens as Political Symbols

The “Chickenhawk”
One of the most common of recent political references to chickens in American political life has been to the “chickenhawk.” This refers to someone who aggressively supports war and the violence and destruction of war, but who has refused to serve in the military, and, likely, has actively avoided military service. This epithet was used frequently during the Bush II administration to describe Bush and his close White House advisors, Cheyney and Rumsfeld, all of whom promoted the Iraq and Afghanistan wars, even though they had avoided serving in Vietnam, when they were of age to do so. It is interesting that the word, “chickenhawk” here is used ironically, because warmongers called chickenhawks are not the tough, beautiful hawks who hunt chickens. Rather, they are hawks on military action who are chicken or cowardly themselves. The use of the full “chickenhawk” word, however, calls up the definition as “bird of prey,” and indeed, the warmongering chickenhawk is a bird of prey feasting on the remains of others, hoping to preserve their own political lives.

The depictions of chickenhawks are usually crude: Either home-made for personal or small organization blogs or rendered in rough political cartoon-style. Here are two I found, that are purely about the “chickenhawks,” rather than depictions of political figures as chicken hawks.
ChickenHawk - laborchickenHawk -2

Elmer the Chicken (and his son Jake)
I found an inspired use of the chicken as political symbol in the Filipino graphic novel, called “Elmer the Chicken.” Jake, an underachieving chicken, emerges after the “awakening,” when chickens have acquired the intelligence and emotions of human beings and have been declared internationally “fellow humans”. They consider themselves equal to humans of whatever skin color, or ethnicity, but they mustfight for their rights. Jake discovers his father, Elmer’s, diary, which chronicles the civil rights struggles of chickens in the 1970s. Jake’s father’s exploits are chronicled in the earlier books, along with Jake’s own struggle with his identity and place in society.

mygod

 

elmer panel

 

 

 

 

elmer end

“Elmer the Chicken” addresses human-chicken intermarriage, species betrayal, and assertion of rights granted under law but not easily shared using the contemporary graphic novel as a medium and mixing cinematic-shot style storytelling with older styles, including those that recall mid-1800s silhouettes, in order to shift the visual storytelling to the contexts called up–violent action movie or Victorian calling card, used for ironic or referential effect.

Andok’s Chicken

Beyond Elmer the Chicken, I found that because the chicken is considered by many the national food of the Phillippines, one political commentator, Kristian Cruz, has advocated that the national bird, which is the monkey-eating, near-extinct Phillippine Eagle, be replaced by ‘Andok’s Chicken’. Upon further investigation, I discovered that “Andok’s Chicken” is a national brand of chicken fast-food restaurant, and the restaurants are widespread in the Phillippines (300). The writer refers to Andok’s Chicken logo, invoking the commercialism, trivialisation and coopting of Filipino struggles for a fairer political system, while putting it forth as a symbol of recognition of reality, and of hope. After all, Andok’s is cheap, the majority of Filipinos are on a budget, and it is wholly Filipino-owned and operated. Cruz points out that making “Andok’s Chicken” the national bird of the Phillippines will spur people on to “take matters into their own hands” as the originators of the Andok’s Chicken business did.
andok's

Mysterious Corpse – WebComm Final

Like Exquisite Corpse, but with text instead of pictures.  Very barebones right now–implemented in barebones Sinatra with too many HTML tables and only a little CSS.  I kept losing records in the YAML file, so the content is rather sparse. (I should say here that I “lost” records/titles in the YAML because I began with a manually-generated list of titles and properties, deleted some manually while learning about YAML, and then, once I had created the title and excerpt entry form, I entered the rest of the titles etc. through the form. This led to what looked like duplicated titles on the Delete page. In trying to delete what appeared to be duplicates, I’d delete an entire record. Looking at the file itself once again–it was clear that there were duplicate ID numbers for different titles and this caused a problem. Renumbering the records solved it.)

There’s nothing in there right now for the “romantic mystery” subgenre.  I’m hoping to re-work this with proper CSS and re-learn a higher sort of javascript knowledge, one that incorporates jquery, this month.

(Graphics – except for the add, delete and create a new corpse– and photos are from various sources on the Internet.)

Here it is.
Mysterious Corpse

ICM-Final: Code for Data Lake – Running Dry

Posting this in the spirit of showing my work, even if I think it could be a lot better. This final ICM project evolved from a true data visualization to an animated graphic, as I searched for water data and found tons (World Bank, USGS, etc.), but nothing easily digestible in a relatively straightforward implementation. I finally settled on some drought data from the USGS that was limited but that covered a workable timespan, with monthly data over 10 years.

In wrestling with the slider at the bottom of the graphic, I managed to find a helpful library to do the work, CP5 (“a graphical user interface for processing”), created by Andreas Schlegel, of sojamo.de. The URL is:  http://www.sojamo.de/libraries/controlP5/

However, the data did not show significant enough variations to show movement in the visualization/animation I had planned. I wound up altering the monthly/yearly data to create an experience  that displayed enough change over time to be noticeable.  As the slider moves over the ten-year period,  the volume of water in the pool diminishes, illustrating the diminution of water resources.    I’m looking at ways to characterize the actual data, which included several other measures of water abundance/drought (five columns worth). This was a valuable exercise, but the product looks less-than beautiful. I will post the actual working graphic later today or tomororow.

Data Pool-Running Dry

Code and Process for P-Comp MidTerm

I haven’t posted this code until now, even though I provided the code for posting to my partner right after we were done with the project. I don’t know why–It feels a little like posting something I’ve written that I don’t think is good enough. In the end what failed was not the code. It seems as though the wiring on one of the breadboards, both of which I had implemented only with pressure sensors at the end, since both of our flex sensors broke. We had already had one short–it’s possible that another one caused the failure. The code itself–the non-Steve/non-RWMidi library stuff–is pretty basic.

Also, though the sound we got from pressing the sensors was beautiful and strange, we were not able to go to the next step of controlling it and understanding what would be needed to control it with this setup. This is where I would like to go next if I were to tinker more with this sound experiment.

Project: A Musical interface involving a flex sensor and a pressure sensor. Flex sensor would be attached, via glove–or played from breadboard, to index finger and would bend and play tones, attached to wires on the Arduino; pressure sensor would be attached to finger via glove or played from breadboard.

Initially, the interface worked in the simplest way, via tonelab code from the bread board with a single flex sensor. Next, we tried making the music sound like more than the computerized tones that are the default musical sound available with bare-bones programming. Initially, I tried using the midi library within Arduino, but I had no midi-midi capability to hook up. Then I investigated the Minim library, but again, thought I would need a midi capability to provide input. I searched online in desperation and found a tutorial on how to enable garageband as a midi output through arduino:

http://www.hex705.com/processing-midi-garageband/#more-156

Our project model went from a relatively simple idea — making sensors make computer-sounding music from the Arduino with Arduino code — In going through this tutorial, I got insight into the need for an intermediary — The creator of the tutorial uses 2: (1) something called an “IAC driver,” which is installed on the Mac and is used to send the serial input from the sensors to garageband;
(2) the RWmidi library (http://ruinwesen.com/support-files/rwmidi/documentation/RWMidi.html) for the Processing connection to the output from garageband. The resulting sounds play through the computer’s speakers.

I took some of the code provided by hex705 (credited, of course) and the IAC driver, and worked through these using the IAC driver. Initially, we were still connecting with the Arduino using the remnants of the tone lab, but it became clear that this was unnecessary after a few hours of trial and error. With the Arduino programming enabled, we would up with buzzing computeresque tones in the background, while strange piano music emanated from the computer running the garageband/processing hookup. I’ve marked what is Steve Daniels’ code (a few lines and the IAC driver which I installed on my computer), what is from the RuinWesen midi processing library, and what is mine.