Difference between revisions of "Dance and Movement"

From CCRMA Wiki
Jump to: navigation, search
m
m
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 00: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) 
}