Lost in Narration

From XPUB & Lens-Based wiki

Short description

"Language refracts meaning as it moves across mediums. In this performance, a live script flows through multiple phases of narration and musical transformation, each filter subtly altering the narrative before it's turned into a fixed, printed record. Viewers are invited to experience the tension, misinterpretation, and elasticity of language as the narrative shifts and the original is forgotten."

longer version and drafts can be found → https://pad.xpub.nl/p/Speech_to_project_description

Cookbook

[Meeting-01] 08/11/2024
https://pad.xpub.nl/p/Speech_to_project_
Thinking about the structure of the performance, timetable and spacing.
Now Zuhui is writing the first draft of the description.

[Meeting-02] 11/11/2024
Actually deciding on the floor plan, material needed and description on the project.
Handing the info over to Logistics

Kiara trying to make the python process work

First step was to make the sounddevice python library work through [vosk].

  • How to install and run the speech recognition (windows recipe)
    • create a dedicated folder on the computer, where you want to store the scripts and written files
    • install souddevice with pip install sounddevice
    • install vosk with pip install vosk
    • download this file and put it in the folder
    • cd in your folder through the terminal
    • run python test_microphone.py --- You can now see the text being printed in the console while you speak!!! The program is stopped with CTRL+C.
    • (optional) you can go modify the test_microphone.py by commenting lines 80 and 81. This prevents the program to print the partial result of it trying to recognise what's being said
    • if you want to print the content being recorder into a text file, run python test_microphone.py ›› stderrout.txt. The ›› means that it will append the new data in the file if you stop the program. If you want to overwrite everytime, simply use .
Printing in a file makes the terminal output invisible

This is now working, and we can choose to either stop there or print the result with the thermal printer The aim being to send it to the thermal printer, let's try to do this.

  • How to install the thermal printer
    • obviously connect the thermal printer to the laptop and turn it on
    • install pyusb with pip install pysub and download the libusb-win32 packages here
    • install lib-usb and all the drivers through Zadig: in Options select List All Devices and from the dropdown select the printer device. Then, go through the list of drivers with the arrows and install the WCID Driver for each. This will also give you the printer's id, which are needed in the script.py file we're creating later.
    • install ESC/POS with pip install python-escpos
    • install
    • create a new .py file in your folder, via the code editor, call it script.py and put the code below, don't forget to change the ids in the parenthesis. Now you can run python script.py to see the magic happening!
from escpos.printer import Usb
iprinter = Usb(0x0483, 0x811E, in_ep=0x81, out_ep=0x02) #here you replace 0x0483 and 0x811E with the ids provided by Zadig
iprinter.text("hello world")
iprinter.qr("https://xpub.nl")

Okay. We have the sounddevice recording, and the printer printing. Now, we want to have the printer printing what the microphone is getting.

  • How to merge the scripts
    • Ask ChatGPT (not proud about this one...) to merge test_microphone.py and script.py

M A G I C

Refs and resources

Stranger than fiction (movie)
Lost in translation (movie)
curl -v https://google.com


  • Bunch of links for the python process (Kiara)
Zadig
PyUSB
Debugging PyUSB
test_microphone.py file
How to use libusb on Windows
What was actually the solution to get the printer to work
For when I was still looking into the printer errors
That too
Python ECP/POS official page


Event Rider

Items

  • Laptop x2
  • Screen + stand (maybe the one in the studio but it can't turn vertical)
  • Microphones x2 + mixer
  • Thermal printer + lots of paper
  • Tables x1 (2 by 1)
  • Chairs x5

Space

  • X x Xm
  • Internet needed
  • Power plugs - at least 2 or 3

Time

start at 3pm and run the whole day (not constant), people relaying
Sound output is working live and also after

(After 30 minutes to an hour into the performance, audience is invited to approach the microphone and read the script aloud.)

Floor plan

A piece of wall is needed to sit the two livescripters.