提交 53fda0ee authored 作者: Brian West's avatar Brian West

tweaked SpeechTools

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8953 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 61d081ee
......@@ -194,7 +194,6 @@ function SpeechDetect(session, mod, ip) {
rv.push("_no_idea_");
}
console_log("debug", "dammit: " + rv + "\n");
delete interp;
return rv;
}
......@@ -287,6 +286,14 @@ function SpeechObtainer(asr, req, wait_time) {
}
}
this.addItemAlias = function(item,alias) {
ia = item.split(",");
var x;
for (x = 0; x < ia.length; x++) {
this.items[this.index++] = ia[x] + ":::" + alias;
}
}
/* Add a regex */
this.addRegEx = function(item) {
this.items[this.index++] = item;
......@@ -404,29 +411,41 @@ function SpeechObtainer(asr, req, wait_time) {
if (this.debug) {
console_log("debug", "----Testing [" + y + "] [" + x + "] " + items[y] + " =~ [" + this.items[x] + "]\n");
}
var re = new RegExp(this.items[x]);
str = this.items[x];
ab = str.split(":::");
var re = new RegExp(ab[0], "i");
match = re.exec(items[y]);
if (match) {
for (i = 0; i < match.length; i++) {
if (ab.length == 1) {
rep = match[i];
} else {
rep = ab[1];
}
dup = false;
for(z = 0; z < this.collected_items.length; z++) {
if (this.collected_items[z] == match[i]) {
if (this.collected_items[z] == rep) {
dup = true;
break;
}
}
if (dup) {
if (this.dup_sound) {
rv = this.react(this.dup_sound + " " + match[i], this.dup_sound + "," + match[i]);
rv = this.react(this.dup_sound + " " + rep, this.dup_sound + "," + rep);
}
} else {
if (this.debug) {
console_log("debug", "----Adding " + match[i] + "\n");
console_log("debug", "----Adding " + rep + "\n");
}
this.collected_items[this.collected_index++] = match[i];
this.collected_items[this.collected_index++] = rep;
hit = true;
if (this.add_sound) {
rv = this.react(this.add_sound + " " + match[i], this.add_sound + "," + match[i]);
rv = this.react(this.add_sound + " " + rep, this.add_sound + "," + rep);
}
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论