Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
asterisk
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Issue analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Voice
asterisk
Commits
1151c488
Commit
1151c488
authored
9 years ago
by
Matt Jordan
Committed by
Gerrit Code Review
9 years ago
Browse files
Options
Downloads
Plain Diff
Merge "app_amd: Correct maximum_number_of_words functionality & documentation"
parents
648ca2b1
ca394161
Loading
Loading
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
UPGRADE.txt
+10
-0
10 additions, 0 deletions
UPGRADE.txt
apps/app_amd.c
+10
-10
10 additions, 10 deletions
apps/app_amd.c
configs/samples/amd.conf.sample
+17
-9
17 additions, 9 deletions
configs/samples/amd.conf.sample
with
37 additions
and
19 deletions
UPGRADE.txt
+
10
−
0
View file @
1151c488
...
...
@@ -64,5 +64,15 @@ AMI:
Commands that fail to execute (no such command, invalid syntax etc.) now
return an Error response instead of Success.
app_amd:
- The 'maximum_number_of_words' configuration option and parameter to the AMD
application previously did not match the documented functionality + variable
name. In Asterisk 13, a value of '3' would mean that if '3' words were detected,
the result would be detection as a 'MACHINE'. As of this version, the value
reflects the maximum words that if EXCEEDED (rather than reached), would
result in detection as a machine. This means that you should update this
value to be one higher than your previos value, if your previous value
was working well for you.
===========================================================
===========================================================
This diff is collapsed.
Click to expand it.
apps/app_amd.c
+
10
−
10
View file @
1151c488
...
...
@@ -62,19 +62,19 @@ ASTERISK_REGISTER_FILE()
<syntax>
<parameter name="initialSilence" required="false">
<para>Is maximum initial silence duration before greeting.</para>
<para>If this is exceeded
set
as MACHINE</para>
<para>If this is exceeded
, the result is detection
as
a
MACHINE</para>
</parameter>
<parameter name="greeting" required="false">
<para>is the maximum length of a greeting.</para>
<para>If this is exceeded
set
as MACHINE</para>
<para>If this is exceeded
, the result is detection
as
a
MACHINE</para>
</parameter>
<parameter name="afterGreetingSilence" required="false">
<para>Is the silence after detecting a greeting.</para>
<para>If this is exceeded
set
as HUMAN</para>
<para>If this is exceeded
, the result is detection
as
a
HUMAN</para>
</parameter>
<parameter name="totalAnalysis Time" required="false">
<para>Is the maximum time allowed for the algorithm</para>
<para>to decide HUMAN or MACHINE</para>
<para>to decide
on whether the audio represents a
HUMAN
,
or
a
MACHINE</para>
</parameter>
<parameter name="miniumWordLength" required="false">
<para>Is the minimum duration of Voice considered to be a word</para>
...
...
@@ -85,14 +85,14 @@ ASTERISK_REGISTER_FILE()
</parameter>
<parameter name="maximumNumberOfWords" required="false">
<para>Is the maximum number of words in a greeting</para>
<para>If this is exceeded
set
as MACHINE</para>
<para>If this is exceeded
, then the result is detection
as
a
MACHINE</para>
</parameter>
<parameter name="silenceThreshold" required="false">
<para>
How long do w
e consider silence</para>
<para>
What is the average level of noise from 0 to 32767 which if not exceeded, should b
e consider
ed
silence
?
</para>
</parameter>
<parameter name="maximumWordLength" required="false">
<para>Is the maximum duration of a word to accept.</para>
<para>If exceeded
set
as MACHINE</para>
<para>If exceeded
, then the result is detection
as
a
MACHINE</para>
</parameter>
</syntax>
<description>
...
...
@@ -130,7 +130,7 @@ ASTERISK_REGISTER_FILE()
</value>
<value name="MAXWORDS">
Word Count - maximum number of words.
</value>
</value>
</variable>
</variablelist>
</description>
...
...
@@ -154,7 +154,7 @@ static int dfltAfterGreetingSilence = 800;
static
int
dfltTotalAnalysisTime
=
5000
;
static
int
dfltMinimumWordLength
=
100
;
static
int
dfltBetweenWordsSilence
=
50
;
static
int
dfltMaximumNumberOfWords
=
3
;
static
int
dfltMaximumNumberOfWords
=
2
;
static
int
dfltSilenceThreshold
=
256
;
static
int
dfltMaximumWordLength
=
5000
;
/* Setting this to a large default so it is not used unless specify it in the configs or command line */
...
...
@@ -367,7 +367,7 @@ static void isAnsweringMachine(struct ast_channel *chan, const char *data)
sprintf
(
amdCause
,
"MAXWORDLENGTH-%d"
,
consecutiveVoiceDuration
);
break
;
}
if
(
iWordsCount
>
=
maximumNumberOfWords
)
{
if
(
iWordsCount
>
maximumNumberOfWords
)
{
ast_verb
(
3
,
"AMD: Channel [%s]. ANSWERING MACHINE: iWordsCount:%d
\n
"
,
ast_channel_name
(
chan
),
iWordsCount
);
ast_frfree
(
f
);
strcpy
(
amdStatus
,
"MACHINE"
);
...
...
This diff is collapsed.
Click to expand it.
configs/samples/amd.conf.sample
+
17
−
9
View file @
1151c488
...
...
@@ -3,17 +3,25 @@
;
[general]
total_analysis_time = 5000 ; Maximum time allowed for the algorithm to decide
; on whether the audio represents a HUMAN, or a MACHINE
silence_threshold = 256 ; If the average level of noise in a sample does not reach
; this value, from a scale of 0 to 32767, then we will consider
; it to be silence.
; Greeting ;
initial_silence = 2500 ; Maximum silence duration before the greeting.
; If exceeded then MACHINE.
greeting = 1500 ; Maximum length of a greeting. If exceeded then MACHINE.
; If exceeded, then the result is detection as a MACHINE.
after_greeting_silence = 800 ; Silence after detecting a greeting.
; If exceeded then HUMAN
total_analysis_time = 5000 ; Maximum time allowed for the algorithm to decide
; on a HUMAN or MACHINE
; If exceeded, then the result is detection as a HUMAN
greeting = 1500 ; Maximum length of a greeting. If exceeded, then the
; result is detection as a MACHINE.
; Word detection ;
min_word_length = 100 ; Minimum duration of Voice to considered as a word
maximum_word_length = 5000 ; Maximum duration of a single Voice utterance allowed.
between_words_silence = 50 ; Minimum duration of silence after a word to consider
; the audio what follows as a new word
maximum_number_of_words = 3 ; Maximum number of words in the greeting.
; If exceeded then MACHINE
maximum_word_length = 5000 ; Maximum duration of a single Voice utterance allowed.
silence_threshold = 256
maximum_number_of_words = 2 ; Maximum number of words in the greeting
; If exceeded, then the result is detection as a MACHINE
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment