v pensiero fly thought
play

V, pensiero! - Fly, thought! Experiment for interactive internet - PowerPoint PPT Presentation

V, pensiero! - Fly, thought! Experiment for interactive internet based piece using Csound6 Tarmo Johannes Kita Toshihiro 2013 WHY? Csound community is strong and active, spread over the world Chances to meet physically are


  1. „Và, pensiero!“ - Fly, thought! Experiment for interactive internet based piece using Csound6 Tarmo Johannes Kita Toshihiro 2013

  2. WHY? ● Csound community is strong and active, spread over the world ● Chances to meet physically are rear ● Are there ways to meet musically over distance? ● Csound6 run-time compilation of orchestra and score offer vast possibilities for internet based interactive music making

  3. „Và pensiero“- Fly, thought! ● Dedicated to developers of Csound6 and all bright Csounders ● People join to „choir“ - writing everybody their voice as an Csound instrument ● One player plays on a MIDI keyboard that triggers the „voices“ ● Participants can change their instruments in real time, depending on the current situation. Nobody knows exactly how the choir will sound in the performance :) ● The result (should be) streamed into internet, so the players and public can hear it

  4. Software ● pensiero-server – written in C++, Qt framework: – sets up listener for incoming messages, loads csd file and plays it, compiles Csound code from the messages, displays output ● va_pensiero_orc.csd – collection of the „voices“, triggering midi instrument, definitions of chords (the melody is orchestrated automatically) etc ● Clients for sending TCP messages: – pensiero-client.csd – works in CsoundQt with PythonQt support (sends selected text) – pensiero_client.ipynb – iPython notebook (requires iPython works in any web browser, send Csound code from iPython cells.)

  5. Software ● pensiero-server – written in C++, Qt framework: – sets up listener for incoming messages, loads csd file and plays it, compiles Csound code from the messages, displays output ● va_pensiero_orc.csd – collection of the „voices“, triggering midi instrument, definitions of chords (the melody is orchestrated automatically) etc ● Clients for sending TCP messages: – pensiero-client.csd – works in CsoundQt with PythonQt support (sends selected text) – pensiero_client.ipynb – iPython notebook (requires iPython works in any web browser, send Csound code from iPython cells.)

  6. pensiero-server ● Incoming connections are handled in separate threads ● Received messages are forwarded to Csound in a separate thread to compile and play, result is sent back to client ● The messages are displayed as chat conversation between users and Csound

  7. Networking ● pensiero-server must be visible from network (open TCP port) ● The public server handling/forwarding the messages is now 54.228.204.118 (in Ireland) ● The messages can be tunneled via ssh to another computer even if it is behind a firewall (like in Boston) – the actual performance place can be anywhere with internet connection

  8. Streaming the result ● Needs more work and testing ● We tried vlc ( VideoLAN media player) for streaming – works otherwise well with Csound, but it blocked somehow compiling new code ( compileOrc ) ● Working solution: icecast <- darkice <- jackd <- Csound ● Listen with any media player (for example): mplayer -nocache http://johannes.homeip.net:8000/pensiero (currently the stream is ogg encoded) ● TODO: minimize lag between sound production and listening ● Automatic connection of darkice and Cound jack output

  9. Demo 1 send messages to test orchestra ● test_orc.csd – plays instr 100 (pluck sound) every 5 seconds ● HOST: 54.228.204.118 , port: 5005 ● Use CsoundQt or iPython Notebook, command line or anything that can send a string as TCP message ● Command line example: echo „giVal init 12“ | nc 54.228.204.118 5005 ● Prepared clients are up on: http://tarmo.uuu.ee/varia/failid/cs/pensiero-files/ ● Send your name first in the form ';name YOUR_NAME' for clearer output ● You can send new instruments, run instruments with event_i or scoreline_i opcode, (re)define tables etc – everything you can do within the orchestra header ● Please don't send scoreline_i „e“ ! (Check against that not implemented yet ...)

  10. Demo 2 Forwarding live playing (test) ● Does not work properly yet! ● Tarmo plays on a midi keyboard at home, note on/off are sent as event_i / turnoff2 to pensiero- server ● Problem: right timings get easily disturbed – messages don't arrive exactly enough ● Some synchronisation system or other solution is necessay.

  11. Demo 3: Streaming ● Tarmo plays „Va pensiero“ on MIDI keyboard at home, streams up on http://johannes.homeip.net:8000/pensiero ● pensiero-server runs in Tarmo's computer ● Send messages to HOST: johannes.homeip.net, PORT 5005

  12. Demo 4 ● Keyboard is played and sound produced on spot ● (Messages to 54.228.204.118, port: 5005) ● Everybody can play along via Csound messages!

  13. Possibilities for future ● Remote teamwork (for example developing new Csound instruments - needs extension for saving the code) ● Interactive, intercontinental performances ● Csound improvisations, jam sessions, live coding - another way for community events ● TODO: better streaming, improvements in server, tests, tests, tests

  14. Thank you! Have a wonderful conference! Tarmo, Kita tarmo@otsakool.edu.ee kita@ield.kumamoto-u.ac.jp

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend