• R/O
  • SSH

dialog-project: Commit

a dialog project for development version.


Commit MetaInfo

Revisioncfe70a45b9e556b612db8fddd2d349c1b3deac72 (tree)
Zeit2010-10-14 18:57:07
AutorTakuya Nishimoto <nishimoto@m.ie...>
CommiterTakuya Nishimoto

Log Message

agent controls disabled

Ändern Zusammenfassung

Diff

diff -r 3cc1cb7a2b22 -r cfe70a45b9e5 modules/AM-MCL.rb
--- a/modules/AM-MCL.rb Thu Oct 14 18:26:06 2010 +0900
+++ b/modules/AM-MCL.rb Thu Oct 14 18:57:07 2010 +0900
@@ -2,7 +2,6 @@
22 # AM-MCL.rb
33 # by Takuya NISHIMOTO nishimoz@gmail.com
44
5-# ------------------------------
65 require File.join(File.dirname(__FILE__), 'GalateaBase.rb')
76 require File.join(File.dirname(__FILE__), 'Agent.rb')
87 require 'thread'
@@ -16,10 +15,6 @@
1615 @modulename = "AM-MCL"
1716 @debug = false
1817
19- @useDIM = 0 # use DIM.rb (for AutoGaze)
20- @useEventViewer = 0 # use GEV (experimental)
21-
22- #
2318 # sequence for Speak
2419 # state0 : IDLE
2520 # state1 : wait FSM/SSM "rep Speak.stat = READY"
@@ -35,9 +30,6 @@
3530 @ready_ssm = false
3631 @ready_fsm = false
3732
38- # @fsm_wait_time = 0
39- # @ssm_wait_time = 0
40-
4133 @auto_emotion_speak = 0
4234 print_debug "initializing..."
4335 end
@@ -66,40 +58,12 @@
6658 end
6759 if agents_array.nil?
6860 @agents = {}
69- @agents["man01"] = Agent.new('man01', 'male01')
70- @agents["man02"] = Agent.new('man02', 'm001')
7161 @agents["woman01"] = Agent.new('woman01', 'female01')
7262 @curr_agent = "woman01"
7363 end
7464 end
7565
76- attr_accessor :state, :ready_ssm, :ready_fsm, :agents, :curr_agent, :auto_emotion_speak
77-
78- #def sendAgentSpeakState
79- # send_set( "FS-MCL", "AgentSpeakState", self.state )
80- # if @useEventViewer == 1
81- # send_set( "GEV", "AgentSpeakState", self.state )
82- # end
83- # if @useDIM == 1
84- # send_set( "DIM", "AgentSpeakState", self.state )
85- # end
86- #end
87-
88- def curr_mouth_scale
89- self.agents[self.curr_agent].mouth_scale
90- end
91-
92-
93- def curr_output_text(arg)
94- if self.auto_emotion_speak == 1
95- print_debug "open_tag : #{self.agents[self.curr_agent].open_tag}"
96- print_debug "close_tag: #{self.agents[self.curr_agent].close_tag}"
97- return "#{self.agents[self.curr_agent].open_tag}#{arg}#{self.agents[self.curr_agent].close_tag}"
98- else
99- return arg
100- end
101- end
102-
66+ attr_accessor :state, :ready_ssm, :ready_fsm, :agents, :curr_agent
10367
10468 def do_set_speak(arg)
10569 if arg == "STOP"
@@ -119,53 +83,20 @@
11983 end
12084
12185 self.state = 1
122- #sendAgentSpeakState
123- print_out "to \@FSM set MouthScale = #{curr_mouth_scale}"
12486 print_out "to \@FSM prop Speak.stat = AutoOutput"
12587 print_out "to \@SSM prop Speak.stat = AutoOutput"
12688 print_out "to \@SSM prop Speak.pho = AutoOutput"
127- print_out "to \@SSM set Text = #{curr_output_text(arg)}"
89+ print_out "to \@SSM set Text = #{arg}" # #{curr_output_text(arg)}
12890 self.ready_ssm = false
12991 self.ready_fsm = false
13092 print_debug "state: #{self.state}"
13193 end
13294 end
13395
134-
135- def do_set_move_mouth(arg)
136- case arg
137- when "STOP"
138- self.state = 0
139- #sendAgentSpeakState
140- print_out "to \@SSM set Speak = STOP"
141- self.ready_ssm = false
142- self.ready_fsm = false
143- print_debug "state: #{self.state}"
144- when /scale\s+(\S+)\s+(.*)/
145- self.state = 3
146- #sendAgentSpeakState
147- # print_out "to \@FSM prop Speak.stat = AutoOutput"
148- print_out "to \@FSM set MouthScale = #{$1}"
149- print_out "to \@FSM set LipSync.pho = #{$2}"
150- self.ready_fsm = false
151- print_debug "state: #{self.state}"
152- else
153- self.state = 3
154- #sendAgentSpeakState
155- # print_out "to \@FSM prop Speak.stat = AutoOutput"
156- print_out "to \@FSM set MouthScale = #{curr_mouth_scale}"
157- print_out "to \@FSM set LipSync.pho = #{arg}"
158- self.ready_fsm = false
159- print_debug "state: #{self.state}"
160- end
161- end
162-
163-
16496 def curr_speaker
16597 self.agents[self.curr_agent].speaker
16698 end
16799
168-
169100 def do_set_mask(arg)
170101 case arg
171102 when /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/
@@ -202,56 +133,14 @@
202133 end
203134 end
204135
205-
206- def set_emotion(type, level=90, duration=0)
207- # duration is not used
208- # @mutex.synchronize do
209- # @agents[@curr_agent].set_emotion(type, level)
210- # end
211- self.agents[self.curr_agent].set_emotion(type, level)
212- end
213-
214-
215- def do_set_emotion(arg)
216- print_out "to \@FS-MCL set Emotion = #{arg}"
217- case arg
218- when /(.+)\s+([0-9\.\+\-]+)\s+([0-9\.\+\-]+)/
219- set_emotion($1, $2.to_f, $3.to_f)
220- when /(.+)\s+([0-9\.\+\-]+)/
221- set_emotion($1, $2.to_f)
222- when /(.+)/
223- set_emotion($1)
224- end
225- end
226-
227-
228- def set_speak_speed(arg)
229- self.agents[self.curr_agent].ssmspeed = arg.to_f
230- end
231-
232-
233136 def do_set(slot, arg)
234137 super
235138 begin
236139 case slot
237140 when "Speak"
238141 do_set_speak(arg)
239- when "MoveMouth"
240- do_set_move_mouth(arg)
241- when "SpeakSpeed"
242- set_speak_speed(arg)
243- when "AutoMove"
244- print_out "to \@FS-MCL set AutoMove = #{arg}"
245- when "AutoGaze"
246- if @useDIM
247- # print_out "to \@DIM set AutoGaze = #{arg}"
248- end
249142 when "Mask"
250143 do_set_mask(arg)
251- when "Emotion"
252- do_set_emotion(arg)
253- when "AutoEmotionSpeak"
254- self.auto_emotion_speak = arg.to_i
255144 end
256145 rescue StandardError => e
257146 print_out "to \@DM From \@AM-MCL tell #{e.to_s}"
@@ -259,8 +148,8 @@
259148 end
260149
261150
262- def accept_from_state0(mod, str)
263- end
151+ #def accept_from_state0(mod, str)
152+ #end
264153
265154
266155 def accept_from_state1(mod, str)
@@ -394,7 +283,7 @@
394283 end
395284
396285 def accept_to(mod, str)
397- print_out "to \@MON set SysLogText = #{str}"
286+ # print_out "to \@MON set SysLogText = #{str}"
398287 end
399288
400289 end
diff -r 3cc1cb7a2b22 -r cfe70a45b9e5 modules/Agent.rb
--- a/modules/Agent.rb Thu Oct 14 18:26:06 2010 +0900
+++ b/modules/Agent.rb Thu Oct 14 18:57:07 2010 +0900
@@ -1,312 +1,13 @@
11 #!/usr/bin/ruby -Ke -w
2-# $Id: Agent.rb,v 1.1 2008/10/05 01:33:42 nishimoto Exp $
3-#
4-# by Takuya NISHIMOTO (nishi@hil.t.u-tokyo.ac.jp)
5-
6-# ------------------------------
2+# Agent.rb
3+# by Takuya NISHIMOTO nishimoz@gmail.com
74
85 class Agent
9-
10- HEAD_ROT_X_MAX = 10
11- HEAD_ROT_Y_MAX = 10
12- HEAD_ROT_Z_MAX = 10
13-
14- EYE_ROT_X_MAX = 20
15- EYE_ROT_Y_MAX = 10
16- EYE_ROT_Z_MAX = 20
17-
18- # (mask, speaker, rot_x, rot_y, trans_x, trans_y, scale)
19- # rot_z = 0
20- # @agents["man01"] = Agent.new('man01', 'male01', 5, 3, -0.05, 0, 1.2 )
21-
22- def initialize(mask, speaker, rot_x=0, rot_y=0, trans_x=0, trans_y=0, scale=1)
23- # clock
24- @clock = 0.0
25- @clock_head = 0.0
26-
27- # speak
6+ def initialize(mask, speaker)
287 @speaker = speaker
29- @ssmspeed = 1.0
30-
31- # mask
328 @mask = mask
33-
34- # agent trans
35- @agent_trans_x_base, @agent_trans_y_base = trans_x, trans_y
36- @agent_trans_x, @agent_trans_y = trans_x, trans_y
37-
38- # agent scale
39- @agent_scale_base = scale
40- @agent_scale = scale
41-
42- # agent rot
43- @agent_rot_x_base, @agent_rot_y_base = rot_x, rot_y
44- # @agent_rot_z_base = 0
45-
46- @target_agent_rot_count = 0
47- @target_agent_rot_dx = 0.0
48- @target_agent_rot_dy = 0.0
49- # @target_agent_rot_dz = 0.0
50-
51- @agent_rot_x, @agent_rot_y = rot_x, rot_y
52- # @agent_rot_z = 0
53-
54- # head rot
55- @head_rot_x_base = 0
56- @head_rot_y_base = 0
57- @head_rot_z_base = 0
58-
59- @target_head_rot_count = 0
60- @target_head_rot_dx = 0.0
61- @target_head_rot_dy = 0.0
62- @target_head_rot_dz = 0.0
63-
64- @head_rot_x = 0
65- @head_rot_y = 0
66- @head_rot_z = 0
67-
68- # eye rot
69- @eye_rot_x = 0
70- @eye_rot_y = 0
71- @eye_rot_z = 0
72-
73- # exp
74- @exp_level = 0.0
75- @exp_level_base = 0.0
76- @exp_level_target = 0.0
77- @exp_level_max = 100.0
78- @exp_level_range = 10.0
79- @exp_type = 'NEUTRAL'
80- @exp_type_target = 'NEUTRAL'
81-
82- @agentSpeakState = 0
83-
84- @nodding_range = 0.0
85- @nodding_range_delta = 0.0
86- @nodding_count = 0
87- @nodding_head_x = 0.0
88-
89- end
90-
91-
92- def calc
93- calc_head_movement
94- calc_agent_movement
95- calc_emotion_change
96- end
97-
98- def calc_head_movement
99- if @target_head_rot_count > 0
100- @head_rot_x_base += @target_head_rot_dx
101- @head_rot_y_base += @target_head_rot_dy
102- @head_rot_z_base += @target_head_rot_dz
103- @target_head_rot_count -= 1
104- end
105-
106- # x:up/down y:left/right z:rotate
107- @head_rot_x = @head_rot_x_base + Math.cos(@clock_head * 0.4) * 1.10 + Math.cos(@clock_head * 5.0 ) * 0.50
108- @head_rot_y = @head_rot_y_base + Math.cos(@clock_head * 0.1) * 0.05 + Math.cos(@clock_head * 4.0 ) * 0.02
109- @head_rot_z = @head_rot_z_base + Math.cos(@clock_head * 0.9) * 0.15 + Math.cos(@clock_head * 3.0 ) * 0.07
110-
111- # nodding
112- calc_nodding()
113- @head_rot_x += self.nodding_head_x
114-
115- if @head_rot_x < -HEAD_ROT_X_MAX then @head_rot_x = -HEAD_ROT_X_MAX end
116- if @head_rot_y < -HEAD_ROT_Y_MAX then @head_rot_y = -HEAD_ROT_Y_MAX end
117- if @head_rot_z < -HEAD_ROT_Z_MAX then @head_rot_z = -HEAD_ROT_Z_MAX end
118-
119- if @head_rot_x > HEAD_ROT_X_MAX then @head_rot_x = HEAD_ROT_X_MAX end
120- if @head_rot_y > HEAD_ROT_Y_MAX then @head_rot_y = HEAD_ROT_Y_MAX end
121- if @head_rot_z > HEAD_ROT_Z_MAX then @head_rot_z = HEAD_ROT_Z_MAX end
122- end
123-
124- def calc_agent_movement
125- if @target_agent_rot_count > 0
126- @agent_rot_x_base += @target_agent_rot_dx
127- @agent_rot_y_base += @target_agent_rot_dy
128- # @agent_rot_z_base += @target_agent_rot_dz
129- @target_agent_rot_count -= 1
130- end
131-
132- @agent_rot_x = @agent_rot_x_base + Math.cos(@clock * 1.6) * 0.20
133- @agent_rot_y = @agent_rot_y_base + Math.cos(@clock * 1.2) * 0.10
134- # @agent_rot_z = @agent_rot_z_base + Math.cos(@clock * 1.3) * 0.05
135- @agent_trans_x = @agent_trans_x_base + Math.cos(@clock * 2.5) * 0.001
136- @agent_trans_y = @agent_trans_y_base + Math.cos(@clock * 1.5) * 0.001
137- @agent_scale = @agent_scale_base + Math.cos(@clock * 0.2) * 0.005
138- end
139-
140- def set_emotion(type, level)
141- @exp_type_target = type
142- @exp_level_target = level
143- @exp_level_max = level
144- end
145-
146- def set_emotion_now(type, level)
147- @exp_type_target = type
148- @exp_level_target = level
149- @exp_level_max = level
150-
151- @exp_type = type
152- @exp_level = level
1539 end
154-
155- def calc_emotion_change
156- if @exp_type != @exp_type_target
157- if @exp_level_base < 10
158- @exp_level_base = 0
159- @exp_type = @exp_type_target
160- else
161- @exp_level_base -= 20
162- end
163- else
164- @exp_level_base += (@exp_level_target - @exp_level_base) * 0.5
165- end
166-
167- @exp_level = @exp_level_base + Math.cos(@clock * 5) * @exp_level_range
168-
169- if @exp_level > @exp_level_max then @exp_level = @exp_level_max end
170- if @exp_level < 0 then @exp_level = 0 end
171-
172- end
173-
174- def set_target_rot(target_x, target_y, target_z)
175- set_target_agent_rot(target_x, target_y, target_z)
176- set_target_head_rot(target_x, target_y, target_z)
177- set_target_eye_rot(target_x, target_y, target_z)
178- end
179-
180- def set_rot_now(target_x, target_y, target_z)
181- @agent_rot_x_base, @agent_rot_y_base = target_x, target_y
182- @head_rot_x_base, @head_rot_y_base, @head_rot_z_base = target_x, target_y, target_z
183- set_target_rot(target_x, target_y, target_z)
184- end
185-
186- def set_target_head_rot(target_x, target_y, target_z)
187- @target_head_rot_count = 3
188- @target_head_rot_dx = (target_x - @head_rot_x_base) / @target_head_rot_count
189- @target_head_rot_dy = (target_y - @head_rot_y_base) / @target_head_rot_count
190- @target_head_rot_dz = (target_z - @head_rot_z_base) / @target_head_rot_count
191- end
192-
193- def set_target_agent_rot(target_x, target_y, target_z)
194- @target_agent_rot_count = 5
195- @target_agent_rot_dx = (target_x - @agent_rot_x_base) / @target_agent_rot_count
196- @target_agent_rot_dy = (target_y - @agent_rot_y_base) / @target_agent_rot_count
197- end
198-
199- def set_target_eye_rot(target_x, target_y, target_z)
200- @eye_rot_x, @eye_rot_y, @eye_rot_z = target_x, target_y, target_z
201-
202- if @eye_rot_x < -EYE_ROT_X_MAX then @eye_rot_x = -EYE_ROT_X_MAX end
203- if @eye_rot_y < -EYE_ROT_Y_MAX then @eye_rot_y = -EYE_ROT_Y_MAX end
204- if @eye_rot_z < -EYE_ROT_Z_MAX then @eye_rot_z = -EYE_ROT_Z_MAX end
205-
206- if @eye_rot_x > EYE_ROT_X_MAX then @eye_rot_x = EYE_ROT_X_MAX end
207- if @eye_rot_y > EYE_ROT_Y_MAX then @eye_rot_y = EYE_ROT_Y_MAX end
208- if @eye_rot_z > EYE_ROT_Z_MAX then @eye_rot_z = EYE_ROT_Z_MAX end
209- end
210-
211- def open_tag
212- rate_speed = @ssmspeed
213- volume_level = 0.5
214- pitch_level = 1.0
215- pitch_range = 1.0
216- if @exp_type_target == "HAPPY"
217- volume_level = 0.55
218- pitch_level = 1.1
219- pitch_range = 1.0
220- elsif @exp_type_target == "DISGUSTED"
221- pitch_level = 0.9
222- pitch_range = 0.8
223- elsif @exp_type_target == "SAD"
224- pitch_level = 0.9
225- pitch_range = 0.8
226- rate_speed *= 1.1
227- elsif @exp_type_target == "ANGRY"
228- volume_level = 0.75
229- pitch_level = 1.2
230- pitch_range = 1.5
231- elsif @exp_type_target == "SURPRISED"
232- volume_level = 0.75
233- pitch_level = 1.2
234- pitch_range = 0.6
235- rate_speed *= 0.8
236- elsif @exp_type_target == "FEARED"
237- volume_level = 0.75
238- pitch_level = 1.4
239- pitch_range = 0.7
240- rate_speed *= 1.3
241- end
242- return "<RATE SPEED=\"#{rate_speed}\"><VOLUME LEVEL=\"#{volume_level}\"><PITCH LEVEL=\"#{pitch_level}\" RANGE=\"#{pitch_range}\">"
243- end
244-
245- def close_tag
246- return "</PITCH></VOLUME></RATE>"
247- end
248-
249- def mouth_scale
250- if @exp_type_target == "HAPPY"
251- return "40"
252- elsif @exp_type_target == "DISGUSTED"
253- return "20"
254- elsif @exp_type_target == "SAD"
255- return "20"
256- elsif @exp_type_target == "ANGRY"
257- return "40"
258- elsif @exp_type_target == "SURPRISED"
259- return "10"
260- elsif @exp_type_target == "FEARED"
261- return "10"
262- end
263- return "30"
264- end
265-
266- def add_clock(delta, nospeak = 1.0, speak = 0.3)
267- @clock += delta
268- if @agentSpeakState != 2
269- @clock_head += delta * nospeak
270- else
271- @clock_head += delta * speak
272- end
273- end
274-
275- def start_nodding(size)
276- self.nodding_range = size
277- self.nodding_count = 100
278- self.nodding_range_delta = -(size / 100)
279- end
280-
281- def calc_nodding
282- if self.nodding_count > 0
283- self.nodding_head_x = Math.cos(self.clock * 0.3) * size * 10.0
284- self.nodding_count -= 1
285- self.nodding_range += self.nodding_range_delta
286- else
287- self.nodding_head_x = 0.0
288- end
289- end
290-
291- attr_reader :head_rot_x, :head_rot_y, :head_rot_z
292- attr_reader :eye_rot_x, :eye_rot_y, :eye_rot_z
293- attr_reader :trans_x, :trans_y
294- attr_reader :agent_rot_x, :agent_rot_y
295- # attr_reader :agent_rot_z
296- attr_reader :agent_trans_x, :agent_trans_y
297- attr_reader :agent_scale
298- attr_reader :mask, :speaker
299-
300- attr_accessor :exp_type, :exp_level
301- attr_accessor :ssmspeed
302- attr_accessor :clock
303- attr_accessor :clock_head
304- attr_accessor :agentSpeakState
305-
306- attr_accessor :nodding_range, :nodding_range_delta, :nodding_count
307- attr_accessor :nodding_head_x
308-
10+ attr_reader :speaker
30911 end
31012
311-
31213 # end of file
diff -r 3cc1cb7a2b22 -r cfe70a45b9e5 modules/GalateaBase.rb
--- a/modules/GalateaBase.rb Thu Oct 14 18:26:06 2010 +0900
+++ b/modules/GalateaBase.rb Thu Oct 14 18:57:07 2010 +0900
@@ -1,8 +1,8 @@
11 #!/usr/bin/ruby
2-# $Id: GalateaBase.rb,v 1.3 2008/12/19 04:53:47 nishimoto Exp $
2+# GalateaBase.rb
33 #
44 # Galatea Submodule base class
5-# by Takuya NISHIMOTO (nishi@hil.t.u-tokyo.ac.jp)
5+# by Takuya NISHIMOTO nishimotz@gmail.com
66 #
77
88 require 'thread'
@@ -50,7 +50,7 @@
5050 if @debug
5151 #STDERR.puts @modulename + ": " + str
5252 #STDERR.flush
53- print_out "to \@MON set SysLogText = #{modulename} #{str}"
53+ #print_out "to \@MON set SysLogText = #{modulename} #{str}"
5454 end
5555 end
5656
@@ -138,78 +138,4 @@
138138
139139 end
140140
141-#############################################################
142-
143-class GalateaBaseThread < GalateaBase
144- def initialize
145- super
146- @modulename = "GalateaBaseThread"
147- @mutex = Mutex.new
148- @input_queue = Array.new
149- end
150-
151- attr_accessor :modulename, :debug
152-
153- def run
154- Thread.start do
155- while true
156- sleep 0.0001
157- while @input_queue.length > 0 do
158- cmd = nil
159- @mutex.synchronize do
160- cmd = @input_queue.delete_at(0)
161- end
162-
163- # set XXX = xxxx
164- if /^\s*set\s+([^\s=]*)\s*=\s*(.*)$/ =~ cmd
165- @myslot[$1] = $2
166- do_set $1, $2
167- end
168-
169- # set XXX < filename
170- # not implemented
171-
172- # prop XXX.attr = xxx
173- if /^\s*prop\s+([^\s=]*)\s*=\s*(.*)$/ =~ cmd
174- @myprop[$1] = $2
175- do_prop $1, $2
176- end
177-
178- # set XXX << END
179- # xxxx
180- # END
181- # not implemented
182-
183- # inq
184- if /^\s*inq\s+(.*)$/ =~ cmd
185- print_rep "#{$1} = #{@myslot[$1]}"
186- end
187-
188- # (broadcast only) From @(XXX) (xxxxxxxx)
189- if /^\s*From\s+\@(\S+)\s(.*)$/ =~ cmd
190- accept_from $1, $2
191- end
192-
193- # (broadcast only) to @(XXX) (xxxxxxxx)
194- if /^\s*to\s+\@(\S+)\s(.*)$/ =~ cmd
195- accept_to $1, $2
196- end
197- end
198- end
199- end
200-
201- while true
202- while gets do
203- @mutex.synchronize do
204- @input_queue.push($_)
205- end
206- sleep 0.0001
207- end
208- end
209-
210- end
211-
212-end
213-
214-
215141 # end of file
diff -r 3cc1cb7a2b22 -r cfe70a45b9e5 modules/GalateaBaseThread.rb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/GalateaBaseThread.rb Thu Oct 14 18:57:07 2010 +0900
@@ -0,0 +1,74 @@
1+#############################################################
2+
3+class GalateaBaseThread < GalateaBase
4+ def initialize
5+ super
6+ @modulename = "GalateaBaseThread"
7+ @mutex = Mutex.new
8+ @input_queue = Array.new
9+ end
10+
11+ attr_accessor :modulename, :debug
12+
13+ def run
14+ Thread.start do
15+ while true
16+ sleep 0.0001
17+ while @input_queue.length > 0 do
18+ cmd = nil
19+ @mutex.synchronize do
20+ cmd = @input_queue.delete_at(0)
21+ end
22+
23+ # set XXX = xxxx
24+ if /^\s*set\s+([^\s=]*)\s*=\s*(.*)$/ =~ cmd
25+ @myslot[$1] = $2
26+ do_set $1, $2
27+ end
28+
29+ # set XXX < filename
30+ # not implemented
31+
32+ # prop XXX.attr = xxx
33+ if /^\s*prop\s+([^\s=]*)\s*=\s*(.*)$/ =~ cmd
34+ @myprop[$1] = $2
35+ do_prop $1, $2
36+ end
37+
38+ # set XXX << END
39+ # xxxx
40+ # END
41+ # not implemented
42+
43+ # inq
44+ if /^\s*inq\s+(.*)$/ =~ cmd
45+ print_rep "#{$1} = #{@myslot[$1]}"
46+ end
47+
48+ # (broadcast only) From @(XXX) (xxxxxxxx)
49+ if /^\s*From\s+\@(\S+)\s(.*)$/ =~ cmd
50+ accept_from $1, $2
51+ end
52+
53+ # (broadcast only) to @(XXX) (xxxxxxxx)
54+ if /^\s*to\s+\@(\S+)\s(.*)$/ =~ cmd
55+ accept_to $1, $2
56+ end
57+ end
58+ end
59+ end
60+
61+ while true
62+ while gets do
63+ @mutex.synchronize do
64+ @input_queue.push($_)
65+ end
66+ sleep 0.0001
67+ end
68+ end
69+
70+ end
71+
72+end
73+
74+
diff -r 3cc1cb7a2b22 -r cfe70a45b9e5 skel/julius.conf.txt
--- a/skel/julius.conf.txt Thu Oct 14 18:26:06 2010 +0900
+++ b/skel/julius.conf.txt Thu Oct 14 18:57:07 2010 +0900
@@ -4,7 +4,8 @@
44 %>
55 -dfa <%= gram_dir %>/vfr/vfr.dfa
66 -v <%= gram_dir %>/vfr/vfr.dict
7--gmmreject "noise,laugh,cough"
7+# -gmmreject "noise,laugh,cough"
8+-gmmreject "laugh,cough"
89 -gmm <%= am_dir %>/gmmdefs.binhmm
910 -hlist <%= am_dir %>/logicalTri
1011 -h <%= am_dir %>/hmmdefs,ptm,gid.binhmm
Show on old repository browser