mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-30 07:04:17 +00:00
[mod_pocketsphinx] Use system libraries when possible
This commit is contained in:
1 parent
fed90ac814
commit
d0993872c7
7 files changed
+104
-7
No files matched your search
@@ -16,11 +16,16 @@ SPHINXMODEL=communicator_semi_6000_20080321
|
||||
|
||||
mod_LTLIBRARIES = mod_pocketsphinx.la
|
||||
mod_pocketsphinx_la_SOURCES = mod_pocketsphinx.c
|
||||
mod_pocketsphinx_la_CFLAGS = $(AM_CFLAGS) -I$(SPHINXBASE_DIR)/include -I$(POCKETSPHINX_DIR)/include
|
||||
mod_pocketsphinx_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(POCKETSPHINX_LA) $(SPHINXBASE_LA) $(SPHINXBASE_LA2)
|
||||
mod_pocketsphinx_la_LDFLAGS = -avoid-version -module -no-undefined -shared
|
||||
if HAVE_POCKETSPHINX
|
||||
mod_pocketsphinx_la_CFLAGS = $(AM_CFLAGS) $(SPHINXBASE_CFLAGS) $(POCKETSPHINX_CFLAGS) -DPOCKETSPHINX_MAJOR_VERSION=$(POCKETSPHINX_MAJOR_VERSION)
|
||||
mod_pocketsphinx_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(POCKETSPHINX_LDFLAGS) $(SPHINXBASE_LDFLAGS)
|
||||
else
|
||||
mod_pocketsphinx_la_CFLAGS = $(AM_CFLAGS) -I$(SPHINXBASE_DIR)/include -I$(POCKETSPHINX_DIR)/include -DPOCKETSPHINX_MAJOR_VERSION=0
|
||||
mod_pocketsphinx_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(POCKETSPHINX_LA) $(SPHINXBASE_LA) $(SPHINXBASE_LA2)
|
||||
|
||||
BUILT_SOURCES=$(POCKETSPHINX_LA) $(SPHINXBASE_LA) $(SPHINXBASE_LA2)
|
||||
endif
|
||||
|
||||
$(SPHINXBASE_DIR):
|
||||
$(GETLIB) $(SPHINXBASE).tar.gz
|
||||
@@ -66,5 +71,8 @@ $(DESTDIR)$(grammardir)/model/communicator:
|
||||
dictionary:
|
||||
@install -m0644 $(POCKETSPHINX_DIR)/model/lm/en_US/cmu07a.dic $(DESTDIR)$(grammardir)/default.dic
|
||||
|
||||
if HAVE_POCKETSPHINX
|
||||
install-data-local: $(POCKETSPHINX_DIR) $(DESTDIR)$(grammardir)/model $(DESTDIR)$(grammardir)/model/communicator dictionary
|
||||
else
|
||||
install-data-local: $(DESTDIR)$(grammardir)/model $(DESTDIR)$(grammardir)/model/communicator dictionary
|
||||
|
||||
endif
|
||||
@@ -48,6 +48,7 @@
|
||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(SolutionDir)w32\pocketsphinx.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
@@ -77,7 +78,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\libs\sphinxbase-0.7\include;..\..\..\..\libs\pocketsphinx-0.7\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\libs\sphinxbase-0.7\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_POCKETSPHINX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@@ -103,7 +104,7 @@
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\libs\sphinxbase-0.7\include;..\..\..\..\libs\pocketsphinx-0.7\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\libs\sphinxbase-0.7\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_POCKETSPHINX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@@ -126,7 +127,7 @@
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\libs\sphinxbase-0.7\include;..\..\..\..\libs\pocketsphinx-0.7\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\libs\sphinxbase-0.7\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MOD_POCKETSPHINX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
@@ -156,7 +157,7 @@
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\libs\sphinxbase-0.7\include;..\..\..\..\libs\pocketsphinx-0.7\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\..\libs\sphinxbase-0.7\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MOD_POCKETSPHINX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
|
||||
@@ -203,7 +203,12 @@ static switch_status_t pocketsphinx_asr_load_grammar(switch_asr_handle_t *ah, co
|
||||
}
|
||||
switch_mutex_unlock(ps->flag_mutex);
|
||||
|
||||
#if POCKETSPHINX_MAJOR_VERSION < 1
|
||||
ps_start_utt(ps->ps, NULL);
|
||||
#else
|
||||
ps_start_utt(ps->ps);
|
||||
#endif
|
||||
|
||||
ps->silence_time = switch_micro_time_now();
|
||||
switch_clear_flag(ps, PSFLAG_START_OF_SPEECH);
|
||||
switch_clear_flag(ps, PSFLAG_NOINPUT_TIMEOUT);
|
||||
@@ -338,22 +343,38 @@ static switch_status_t pocketsphinx_asr_feed(switch_asr_handle_t *ah, void *data
|
||||
char const *hyp;
|
||||
|
||||
switch_mutex_lock(ps->flag_mutex);
|
||||
#if POCKETSPHINX_MAJOR_VERSION < 1
|
||||
if ((hyp = ps_get_hyp(ps->ps, &ps->score, &ps->uttid))) {
|
||||
#else
|
||||
if ((hyp = ps_get_hyp(ps->ps, &ps->score))) {
|
||||
#endif
|
||||
if (!zstr(hyp)) {
|
||||
ps_end_utt(ps->ps);
|
||||
switch_clear_flag(ps, PSFLAG_READY);
|
||||
#if POCKETSPHINX_MAJOR_VERSION < 1
|
||||
if ((hyp = ps_get_hyp(ps->ps, &ps->score, &ps->uttid))) {
|
||||
#else
|
||||
if ((hyp = ps_get_hyp(ps->ps, &ps->score))) {
|
||||
#endif
|
||||
if (zstr(hyp)) {
|
||||
if (!switch_test_flag(ps, PSFLAG_SPEECH_TIMEOUT)) {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Lost the text, never mind....\n");
|
||||
#if POCKETSPHINX_MAJOR_VERSION < 1
|
||||
ps_start_utt(ps->ps, NULL);
|
||||
#else
|
||||
ps_start_utt(ps->ps);
|
||||
#endif
|
||||
switch_set_flag(ps, PSFLAG_READY);
|
||||
}
|
||||
} else {
|
||||
/* get match and confidence */
|
||||
int32_t conf;
|
||||
|
||||
#if POCKETSPHINX_MAJOR_VERSION < 1
|
||||
conf = ps_get_prob(ps->ps, &ps->uttid);
|
||||
#else
|
||||
conf = ps_get_prob(ps->ps);
|
||||
#endif
|
||||
|
||||
ps->confidence = (conf + 20000) / 200;
|
||||
|
||||
@@ -427,7 +448,11 @@ static switch_status_t pocketsphinx_asr_resume(switch_asr_handle_t *ah)
|
||||
if (!switch_test_flag(ps, PSFLAG_READY)) {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Manually Resuming\n");
|
||||
|
||||
#if POCKETSPHINX_MAJOR_VERSION < 1
|
||||
if (ps_start_utt(ps->ps, NULL)) {
|
||||
#else
|
||||
if (ps_start_utt(ps->ps)) {
|
||||
#endif
|
||||
status = SWITCH_STATUS_GENERR;
|
||||
} else {
|
||||
switch_set_flag(ps, PSFLAG_READY);
|
||||
@@ -474,7 +499,11 @@ static switch_status_t pocketsphinx_asr_get_results(switch_asr_handle_t *ah, cha
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Auto Resuming\n");
|
||||
switch_set_flag(ps, PSFLAG_READY);
|
||||
|
||||
#if POCKETSPHINX_MAJOR_VERSION < 1
|
||||
ps_start_utt(ps->ps, NULL);
|
||||
#else
|
||||
ps_start_utt(ps->ps);
|
||||
#endif
|
||||
}
|
||||
|
||||
status = SWITCH_STATUS_SUCCESS;
|
||||
|
||||
Reference in new issue
Block a user