User:Markvandenheuvel/prototyping hackpacts

From XPUB & Lens-Based wiki

Hackpacts: "home school prototyping"

Prototypes and experiments so far:

  • 1-Bit sound synthesis (making music on a 'hacked' TI calculator)
  • KCS workflow: txt input > generated text > KSC audio > HTML
  • AALIB experiments + Ascii (quilting): images converted to ascci via a generator in Python
  • SSTV workflow tests in Python: modulating images (sending/receiving – encoding/decoding, storing on tape)
  • IRC bot experiments: (Urzaloid Franklin)
  • API scraping(Planetary NASA data mixed with other sources)
  • A)PART to de(PART PY.RATE.CHNC workshop: collaborative tape loop creation and recording (materiality of magnetic tape, deconstruction of sound, sonic fiction)
  • interactive fiction + text based interface writing en generating text based on input.



  __    __     ______   ___      ___   _______   ________  ______    __    __     ______      ______    ___       
 /" |  | "\   /    " \ |"  \    /"  | /"     "| /"       )/" _  "\  /" |  | "\   /    " \    /    " \  |"  |      
(:  (__)  :) // ____  \ \   \  //   |(: ______)(:   \___/(: ( \___)(:  (__)  :) // ____  \  // ____  \ ||  |      
 \/      \/ /  /    ) :)/\\  \/.    | \/    |   \___  \   \/ \      \/      \/ /  /    ) :)/  /    ) :)|:  |      
 //  __  \\(: (____/ //|: \.        | // ___)_   __/  \\  //  \ _   //  __  \\(: (____/ //(: (____/ //  \  |___   
(:  (  )  :)\        / |.  \    /:  |(:      "| /" \   :)(:   _) \ (:  (  )  :)\        /  \        /  ( \_|:  \  
 \__|  |__/  \"_____/  |___|\__/|___| \_______)(_______/  \_______) \__|  |__/  \"_____/    \"_____/    \_______) 
                                                                                                                  
   _______    _______     ______  ___________  ______  ___________  ___  ___  __    _____  ___    _______         
  |   __ "\  /"      \   /    " \("     _   ")/    " \("     _   ")|"  \/"  ||" \  (\"   \|"  \  /" _   "|        
  (. |__) :)|:        | // ____  \)__/  \\__/// ____  \)__/  \\__/  \   \  / ||  | |.\\   \    |(: ( \___)        
  |:  ____/ |_____/   )/  /    ) :)  \\_ /  /  /    ) :)  \\_ /      \\  \/  |:  | |: \.   \\  | \/ \             
  (|  /      //      /(: (____/ //   |.  | (: (____/ //   |.  |      /   /   |.  | |.  \    \. | //  \ ___        
 /|__/ \    |:  __   \ \        /    \:  |  \        /    \:  |     /   /    /\  |\|    \    \ |(:   _(  _|       
(_______)   |__|  \___) \"_____/      \__|   \"_____/      \__|    |___/    (__\_|_)\___|\____\) \_______)        
                                                                                                                  

                                                                                                                                               

1-bit music: TI-83+ calculator experiments

I came across an open-source project that makes it possible to 'hack' old Texas Instruments calculators and turn them into 1-bit music composing tool (instrument). The program ([Houston Tracker)] is still not being used so much and remains quite obscure. HT2 converts the binary output of the TI-calculator to generate 1-bit sound. What I think is really interesting is that 1-bit sound represents the on/off binary basics of computing. The 1-bit sound is therefore close to the inner process.

20201103 140137.jpg

Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt6741cae58cef53_21213325

Key points

  • 1-bit music programming and playback (using Houston Tracker II by UTZ)
  • materializing binary data + sound of the CPU (on/off)
  • recording on cassette tape: analog processing of digital information
  • the benefits of working with limitations
  • 'Zombie media': reappropriation of obsolete tech and explore it's potential instead of discarding it: what does it mean?
  • implement it in today's workflow (audio/visual, programming, etc)

playful ideas & potentials to further explore:

  • 1-bit sound publication
  • implementing graphics: bitmaps
  • How to embed this in a modern context? What's the use?
  • BASIC programming language
  • 1-bit sound publication

To spread this project and both music, I thought about making a publication/release/demo in one.

write a 4 track album for it and release it on a TI-83.
People that buy it would receive a TI with the tracks on it (collected from thrift store / Marktplaats)
mail it to people
way to get started 'hands-on
See how tracks were produced might get people started
enlarge interest, spread the word & expand community?

This way, the public can not only listen but also directly engage and get their hands dirty if preferred. What I also think is interesting that in contrary to making music with the sound chip of obsolete gaming consoles is that it's much further detached from retro aesthetics. So it focuses much more on the tech part and thinking how to use this device otherwise.

links & Resources

TILP: open source program for memory flashing on TI
Houston Tracker 2: https://www.irrlichtproject.de/houston/houston1/index.html
DOORS GUI: https://dcs.cemetech.net/index.php/Doors_CS_7_Scratchwork
graphics: https://www.ticalc.org/pub/win/graphics/
1-bit synthesis paper: https://www.gwern.net/docs/cs/2020-troise.pdf
1-bit synthesis techniques: https://phd.protodome.com/#anchor-pulse-width-sweep\
Graphlink cablefor converting binary data to sound: https://www.amazon.com/Texas-Instruments-94327-Graphlink-USB/dp/B00006BXBS

KCS: digital data standard explorations

KCS or Kansas City Standard was developed to convert code (in the form of ASCII text) into sound so it could be stored on media such as magnetic tape but became also suitable to broadcast over radio. This way, its data became more easily interchangeable. KSC is still being used today to restore large quantities of archival material that was stored on magnetic tape. There are other standards that are closely related to this standard. KCS was an attempt to standardize (For instance, the Commodore 64 had its own method however this was very much prone to errors.)


Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt6741cae58efae8_38730762

Key Points

  • KCS workflow setup in Python (Jupyter Notebook) (text input > generated text > KSC audio > HTML)
  • slow data transmission / image arise line by line
  • materiality of data via sound (physical connection, embodiment of a process)
  • deconstruction: encoding/decoding
  • storage and playback (on audio cassette)

playful ideas & potentials to further explore

resources

AALIB + ASCCI generating experiments

ASCII art is a graphic design technique that uses computers for presentation and consists of pictures pieced together from the 95 printable (from a total of 128) characters defined by the ASCII Standard from 1963 and ASCII compliant character sets with proprietary extended characters (beyond the 128 characters of standard 7-bit ASCII). The term is also loosely used to refer to text-based visual art in general. ASCII art can be created with any text editor, and is often used with free-form languages. Most examples of ASCII art require a fixed-width font (non-proportional fonts, as on a traditional typewriter) such as Courier for presentation.

AAlib is a software library that allows applications to automatically convert still and moving images into ASCII art. It was released by Jan Hubicka as part of the BBdemo project in 1997.

Ascii-planet renders.jpg
Ascii planet renders in Python


SSTV (Slow Scan Television) experiments

SSTV or Slow scan Television – originally invented as an analog method in the late '60s but accessible to the public in the early 90s when the custom radio equipment was replaced by PC software – is a protocol for sending images over audio frequencies. The sound holds the information of what color where to place, line by line. This way, the image is slowly generated when decoding the audio in real-time. This method is still used today by the HAM amateur radio community for sending and collecting images. Next to that, the International Space station (ISS) still sends images to planet earth this way. The way SSTV generates images is closely related to the material process of digital printing on paper.

SSTV Workflow experiments

Key points

  • modulation: protocol/standard to send images over radio
  • workflows and experiments using Python3 and bash in Jupyter Notebook
  • exploring the materiality of data via sound
  • 'slow' data transmission (in contrast with invisible processes and speed)
  • encoding /decoding: deconstruction of data
  • both interests combined: lo-tech graphics & sound!


Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt6741cae5cd2e81_60945377

SSTV Workflow in use: Image to SSTV signal received by phone


SSTV workflow and decoding via app

LISTEN

Instagram to SSTV: Instagrain Broadcasting


Listen to this image: https://hub.xpub.nl/sandbox/~markvandenheuvel/results/t.wav

playful ideas & potentials to further explore:

links & resources:

boadcasting software: https://www.qsl.net/kd6cji/downloads.html
Python scripts to convert images to audio: https://pypi.org/project/PySSTV/
general resources: http://users.belgacom.net/hamradio/sat-info.htm
RXSSTV: http://users.belgacom.net/hamradio/rxsstv.htm
SSTV tools (encoding/decoding) http://www.dxatlas.com/sstvtools/
recent SSTV project: https://hsbp.org/rpi-sstv
Pictures On Cassette: https://www.youtube.com/watch?v=c38dLDQoRtM

Interactive Fiction/'Text-based' adventure

Hypertext fiction is a genre of electronic literature, characterized by the use of hypertext links that provide a new context for non-linearity in literature and reader interaction. The reader typically chooses links to move from one node of text to the next, and in this fashion arranges a story from a deeper pool of potential stories. Its spirit can also be seen in interactive fiction.

Interactive fiction, often abbreviated IF, is software simulating environments in which players use text commands to control characters and influence the environment. Works in this form can be understood as literary narratives, either in the form of interactive narratives or interactive narrations. These works can also be understood as a form of video game,[1] either in the form of an adventure game or role-playing game. In common usage, the term refers to text adventures, a type of adventure game where the entire interface can be "text-only",[2] however, graphical text adventures still fall under the text adventure category if the main way to interact with the game is by typing text.

Due to their text-only nature, they sidestepped the problem of writing for widely divergent graphics architectures.


6100c610fbf73c210905eef0d538f9af.png

Tutorial with David Moroto: https://www.davidmaroto.info/

What is your content?

speaks to my heart (fiction)
source: emotional investment
solve the coldness of the medium!
dept! (true for me, fiction for other)
'conversational tool' between the analog and digital
tool of mediation


Inspiration

SanctuaryRPG - (Classic Text Adventure Game)

SanctuaryRPG - (Classic Text Adventure Game)

SanctuaryRPG - (Classic Text Adventure Game)

SanctuaryRPG - (Classic Text Adventure Game)

SanctuaryRPG - (Classic Text Adventure Game)


Screenshot 2020-11-28 at 22.11.32.png

Inspiration: Solarpunk: The map is the territory


Shadow wolf zine.png

Inspiration regarding tone of voice: Shadow Wolf Zine (ASCII zine by musician Legowelt about various topics)

Resources & links

PI: Selfhosting IRC + bot + API scraping

https://pythonspot.com/building-an-irc-bot/


Sandbox as a publication

  • showing where it is! (this is where you are!)
  • what happens when you visit (exposing a process with the emphasis on materiality)

resources:

Tape + analog sound/recording experiments

Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt6741cae6458a43_81064203
Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt6741cae6470b85_33236025

Deconstruction workshop: materializing data over sound

  • recording sound of a deconstruction process: transfer to the physical carrier (analog tape)
  • recording data of images: broadcast SSTV signal
  • material combined in audio-visual performance

>WORKSHOP: A)PART_to_de(PART (In collaboration with Tisa Neža and Ioana Tomici)

Performance:




>>>>>>>C0/\/\/\/\0N F/\CT0R<<<<<<<

Related:

  • 'wacky tech' (low and obsolete tech processes )
  • what meaning emerges when low-tech meets high-tech
  • regaining autonomy and the value of misusing technology
  • revealing inner workings (trough sonification of a process)
  • obsolete systems as a method (not retro!)
  • the affordances of not emulating
  • "sonic fiction"
  • meaning that occurs when going between formats

general links:

https://www.westminsterpapers.org/articles/10.16997/wpcc.209/print/
https://www.electronicdesign.com/industrial-automation/article/21808186/sending-data-over-sound-how-and-why
https://spectrum.ieee.org/computing/hardware/why-the-future-of-data-storage-is-still-magnetic-tape
http://screenl.es/slow.html

Project content: interim conclusion

                                                     _   (_)                          
  ____     ____ ___  ____ _   _ ____  ____ ___  ____| |_  _  ___  ____                
 / _  |   / ___) _ \|  _ \ | | / _  )/ ___)___)/ _  |  _)| |/ _ \|  _ \               
( ( | |  ( (__| |_| | | | \ V ( (/ /| |  |___ ( ( | | |__| | |_| | | | |              
 \_||_|   \____)___/|_| |_|\_/ \____)_|  (___/ \_||_|\___)_|\___/|_| |_|              
 _                                          ___                                       
| |          _                             / __)                       _              
| | _   ____| |_ _ _ _  ____ ____ ____    | |__ ___   ____ ____   ____| |_   ___   
| || \ / _  )  _) | | |/ _  ) _  )  _ \   |  __) _ \ / ___)    \ / _  |  _) /___)
| |_) | (/ /| |_| | | ( (/ ( (/ /| | | |  | | | |_| | |   | | | ( ( | | |__|___ | 
|____/ \____)\___)____|\____)____)_| |_|  |_|  \___/|_|   |_|_|_|\_||_|\___|___/
                                                                                      

Project contents

  • inner workings and processes of data modulation explained
  • hyperfocus on detailed information regarding processes mixed with fictional elements (metaphors and inspiration from a 'guide')
  • user can interact: sending > receiving information (real-time encoding / decoding)

Practical

  • text-based / command-line style interface: to create a focus on other senses
  • ASCII as image, code, sound: in between formats
  • website, Python, on a Raspberry Pi.

Tone of voice of the interface:

  • interactive fiction and text-based games (imagination!)
  • tone of voice: speaking on a personal level
  • Sonic Fiction / Matters Fiction: notion of 'planetary importance'
- "Welcome to my home. You are here:" <showing pi in my house>
- "You traveled a long way to get here in a very short time""
- "You just looked outside through a window, staring at the screen again, you think about the past."
- "Lately, I often got asked if I am a robot. Are a robot. Are you a robot?"
- "As a kid, I used to record the sound of games instead of playing them: let me show it to you"

Output

  • website (publication) hosted on a Raspberry Pi as publication
  • part of the workflow will be used for audio/visual performance based on modulation of data (magnetic tape)

Inspiration taken from tape recordings of:

  • 'Alfa Training' course for motivation, regaining autonomy, and confidence to make life and work decisions
  • software (detail: music snippets of music in between)
  • recording of computer course: 'How to get online?' (mechanical typing sounds, registration)
  • guide/course: leader/character, bumpers and theme songs and scores, silence for executing
  • blending in personal experiences
    |\----/|
    | . .  |
     \_><_/-..----.
  ___/ `   ' ,""+ \  
 (__...'   __\    |`.___.';
   (_,...'(_,.`__)/'.....+