Jump to content

Dance and Movement: Difference between revisions

From CCRMA Wiki
Rob (talk | contribs)
mNo edit summary
Rob (talk | contribs)
mNo edit summary
Line 6: Line 6:


sonifying gesture and motion in virtual space
sonifying gesture and motion in virtual space
ruby oscparser.rb output_filename.csv false < ./yml/pawn_0_spiral_2.yml
require 'rubygems'
require 'osc-ruby'
require 'yaml'
wait = ARGV[1] # wait boolean toggles whether the  padded time at the beginning of recorded yml osc action is used
m_time = 0
start_time = 0
final_output = ""
output_filename = ARGV[0]
@messages = YAML.load($stdin)
@start = Time.now
@messages.each_with_index do |m, index|
  if index == 0
    start_time = m[:time]
  end
  if wait=='true'
    m_time = m[:time]
  else
    m_time = m[:time] - start_time
  end
  dt = (@start + m_time) - Time.now
  sleep(dt) if dt > 0
  message = OSC::OSCPacket.messages_from_network(m[:message]).first 
  output = m_time.to_s + ", " + message.address
  @a = message.to_a
  @a.each_with_index do |arg, index|
    #p arg
output = output + ", " + arg.to_s
  end
  final_output = final_output + "" + output + "\n"
end
File.open(output_filename, 'w') { |file|
    file.write(final_output)
}

Revision as of 07:55, 9 June 2013

Language/Terminology:

http://www.stolaf.edu/depts/dance/faculty/anthony/courses/Modern-Dance-Language.htm

Optical Tracking for Music and Dance Performance (Paradiso and Sparacino, 97):

http://www.cba.mit.edu/docs/papers/97.09.Zurich_3D4.pdf

sonifying gesture and motion in virtual space

ruby oscparser.rb output_filename.csv false < ./yml/pawn_0_spiral_2.yml

require 'rubygems'
require 'osc-ruby'
require 'yaml'

wait = ARGV[1]			# wait boolean toggles whether the   padded time at the beginning of recorded yml osc action is used
m_time = 0
start_time = 0
final_output = ""
output_filename = ARGV[0]

@messages = YAML.load($stdin)
@start = Time.now

@messages.each_with_index do |m, index|

  if index == 0
    start_time = m[:time]
  end

  if wait=='true'
    m_time = m[:time]
  else
    m_time = m[:time] - start_time
  end

  dt = (@start + m_time) - Time.now
  sleep(dt) if dt > 0
  message = OSC::OSCPacket.messages_from_network(m[:message]).first  
  output = m_time.to_s + ", " + message.address

  @a = message.to_a
  @a.each_with_index do |arg, index|
    #p arg
	output = output + ", " + arg.to_s
  end
  final_output = final_output + "" + output + "\n"
end

File.open(output_filename, 'w') { |file| 
    file.write(final_output) 
}