Update from 1.96 to 2.1. Despite being newer, the upstream release

remains uncompileable by modern compilers and substantial patches --
obtained from both Debian and NetBSD ports of the same software were
necessary.

Among the patches is a functionality-improving one, which allows the
new version to continue using voices created for 1.9x

Tested by:		bapt
This commit is contained in:
Mikhail Teterin 2013-09-06 15:24:58 +00:00
parent 083576c0af
commit 9795f213f8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=326512
8 changed files with 261 additions and 399 deletions

View file

@ -2,23 +2,36 @@
# $FreeBSD$
PORTNAME= festival
PORTVERSION= 1.96
PORTREVISION= 3
PORTVERSION= 2.1
CATEGORIES= audio accessibility
MASTER_SITES= ${MASTER_SITE_FESTIVAL}
MASTER_SITE_SUBDIR= ${PORTVERSION}
DISTFILES= ${DISTNAME}-beta.tar.gz \
speech_tools-1.2.${PORTVERSION:E}-beta.tar.gz
DISTFILES= ${DISTNAME}-release.tar.gz \
speech_tools-${PORTVERSION}-release.tar.gz
PATCHFILES= src_modules_diphone_diphone.h.diff:debian \
src_modules_diphone_di_io.cc.diff:debian \
src_modules_diphone_diphone.cc.diff:debian \
src_modules_donovan_t2s.h.diff:debian \
src_modules_UniSyn_diphone_UniSyn_diphone.cc.diff:debian \
festival_el_utf8.diff:debian \
lintianspellpatch.diff:debian \
hts21compat.diff:debian \
languagespatch.diff:debian \
${SPT_PATCHES:C/.*/patch-speech__tools_\0:netbsd/}
PATCH_SITES= ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/audio/festival/patches/:netbsd \
http://patch-tracker.debian.org/patch/series/dl/festival/1:2.1~release-5.1/:debian
MAINTAINER= mi@aldan.algebra.com
COMMENT= Multi-lingual speech synthesis system
OPTIONS_DEFINE= NAS ESD
OPTIONS_DEFAULT= NAS ESD
OPTIONS_DEFAULT=NAS ESD
ESD_DESC= ${ESOUND_DESC}
DIST_SUBDIR= festival
CXXFLAGS+= -DFTLIBDIR=${LOCALBASE}/share/festival/lib
CONFIGURE_WRKSRC= ${WRKDIR}/festival
USES= gmake
SPEECHTOOLS= ${WRKSRC}/speech_tools
@ -31,6 +44,20 @@ MAKE_ENV+= GCC="${CC}" \
MAN1= festival.1 festival_client.1
WRKSRC= ${WRKDIR}
SPT_PATCHES= base__class_EST__TVector.cc \
base__class_inst__tmpl_vector__dmatrix__t.cc \
base__class_inst__tmpl_vector__dvector__t.cc \
base__class_inst__tmpl_vector__fmatrix__t.cc \
config_compilers_gcc__defaults.mak \
include_EST__Ngrammar.h \
include_EST__SCFG.h \
include_EST__String.h \
include_EST__error.h \
include_ling__class_EST__FeatureFunctionPackage.h \
include_unix_EST__socket__unix.h \
stats_dynamic__program.cc \
utils_EST__ServiceTable.cc
do-build:
.for d in speech_tools festival
${SETENV} ${MAKE_ENV} ${GMAKE} -C ${WRKDIR}/$d ${MAKE_FLAGS} Makefile \
@ -38,10 +65,16 @@ do-build:
.endfor
# Can not make test in `festival', because the voices may not be installed
# XXX: this should fail, if the verdict is not "Test OK"...
# XXX: this should fail, if the verdict is not "CORRECT"...
post-build test:
${SETENV} ${MAKE_ENV} ${GMAKE} -C ${WRKDIR}/speech_tools test
# The below is needed, because Debian's patches expect a different
# directory-name
pre-patch:
${LN} -s festival ${WRKSRC}/festival-2.1~release
${LN} -s festival ${WRKSRC}/b
post-patch::
${REINPLACE_CMD} -e 's,/usr/X11R6,${LOCALBASE},g' \
${WRKSRC}/*/config/systems/default.mak
@ -71,11 +104,11 @@ do-configure:
fi
# This step helps non-i386 systems and is harmless on i386
-${LN} -s ix86_FreeBSD.mak ${WRKDIR}/$d/config/systems/${ARCH}_unknown.mak
.endfor
${REINPLACE_CMD} -E -e 's,^(CC|CXX) *=,\1 ?=,' \
-e 's,^(CFLAGS|CXXFLAGS) *=,\1 +=,' \
-e 's,^(CFLAGS|CXXFLAGS) *=,\1 +=,' \
-e 's,^OPTIMI,#OPTIMI,' \
${WRKSRC}/speech_tools/config/compilers/gcc*.mak
.endfor
# This step helps to use a compiler, the vendor has not seen before:
${TEST} -e ${WRKDIR}/speech_tools/config/compilers/${CC}.mak || \
${LN} -s gcc_defaults.mak ${WRKDIR}/speech_tools/config/compilers/${CC}.mak

View file

@ -1,4 +1,52 @@
SHA256 (festival/festival-1.96-beta.tar.gz) = 4fa48d3525957762c83f289fba361063b8855f57ff50b7db22754d844aeadbee
SIZE (festival/festival-1.96-beta.tar.gz) = 731682
SHA256 (festival/speech_tools-1.2.96-beta.tar.gz) = fa1ce5698e1253ee21e67629f394733ef6ad578af671e3a90ea8b73898a12428
SIZE (festival/speech_tools-1.2.96-beta.tar.gz) = 1275015
SHA256 (festival/festival-2.1-release.tar.gz) = 06f3dcbad9d26e27443fc66947a0faf0c6679482220df4b5f42a261adf758080
SIZE (festival/festival-2.1-release.tar.gz) = 787313
SHA256 (festival/speech_tools-2.1-release.tar.gz) = ff6167cd929a88e2f91b47191c6c4dae87c9c06ba39fccc4465af9d79e9b2be9
SIZE (festival/speech_tools-2.1-release.tar.gz) = 1681999
SHA256 (festival/src_modules_diphone_diphone.h.diff) = 148ecd31aef84d5823470d339b3104b73af099404ab957fcee838520f8808104
SIZE (festival/src_modules_diphone_diphone.h.diff) = 870
SHA256 (festival/src_modules_diphone_di_io.cc.diff) = 0dfbe69e30ce8fbe695d30fed42a10c79bc6525dd4e971432a669c88bec4e048
SIZE (festival/src_modules_diphone_di_io.cc.diff) = 3819
SHA256 (festival/src_modules_diphone_diphone.cc.diff) = e92e8dc256fd624a7ac3aef7e1403ad4cabc6c23207a53648bfc8a6c5f78c6aa
SIZE (festival/src_modules_diphone_diphone.cc.diff) = 1075
SHA256 (festival/src_modules_donovan_t2s.h.diff) = 164b9c0b5441177c85e44b111bb5b52e1efef59ee6d8a1b92396e84e01d94e19
SIZE (festival/src_modules_donovan_t2s.h.diff) = 566
SHA256 (festival/src_modules_UniSyn_diphone_UniSyn_diphone.cc.diff) = 4137be0f227e0ebabfd8ee6ca9100909709266a713eca511eb06e818d7b64b17
SIZE (festival/src_modules_UniSyn_diphone_UniSyn_diphone.cc.diff) = 892
SHA256 (festival/festival_el_utf8.diff) = c56f79e475682e25c6ed72639c253d48ce32535956a949e8a3ba75b7f2f71aa9
SIZE (festival/festival_el_utf8.diff) = 1945
SHA256 (festival/lintianspellpatch.diff) = b7f0d104e3154f8aa746a50013a8b77dd3855d5f812062c6424d7ee78eafcb50
SIZE (festival/lintianspellpatch.diff) = 1284
SHA256 (festival/hts21compat.diff) = d86434a9e01d2a62defd9230f102f074959ddf5d57e27d0b0abc9714f1717f82
SIZE (festival/hts21compat.diff) = 125719
SHA256 (festival/languagespatch.diff) = 3108f08656d31623ee5393eb542d0085819a056641c1853c2ffc2b07e2e9e15a
SIZE (festival/languagespatch.diff) = 36538
SHA256 (festival/patch-speech__tools_base__class_EST__TVector.cc) = d791a9feb1e2be33fb8d367a8add65678b3f0e45cee145e8381d0f18eb2d9b0f
SIZE (festival/patch-speech__tools_base__class_EST__TVector.cc) = 454
SHA256 (festival/patch-speech__tools_base__class_inst__tmpl_vector__dmatrix__t.cc) = 19b6c8f14c3b8944dc2404b92c74c5e0b2403f35b96a152f18b9492d9b24e4ee
SIZE (festival/patch-speech__tools_base__class_inst__tmpl_vector__dmatrix__t.cc) = 1086
SHA256 (festival/patch-speech__tools_base__class_inst__tmpl_vector__dvector__t.cc) = 713c9938950e2190c503e9619e0142db49bdf6378b60de3611c4390ba7cdb5cb
SIZE (festival/patch-speech__tools_base__class_inst__tmpl_vector__dvector__t.cc) = 1086
SHA256 (festival/patch-speech__tools_base__class_inst__tmpl_vector__fmatrix__t.cc) = aa16df118317354d368a5389c18a157723df10f09af319e278eb63d4ab73ee31
SIZE (festival/patch-speech__tools_base__class_inst__tmpl_vector__fmatrix__t.cc) = 1085
SHA256 (festival/patch-speech__tools_config_compilers_gcc__defaults.mak) = ac6e1db2a4e7c99929d4713d70b86014ecbe71d1c5f4f67e91503887a225f718
SIZE (festival/patch-speech__tools_config_compilers_gcc__defaults.mak) = 803
SHA256 (festival/patch-speech__tools_include_EST__Ngrammar.h) = 156d42e187693d6e76d28c280155bc6dfd6de6d8a5225d4aa87a2e767d0cee96
SIZE (festival/patch-speech__tools_include_EST__Ngrammar.h) = 2519
SHA256 (festival/patch-speech__tools_include_EST__SCFG.h) = e6ec64c01faad49f0efb2e40d7b332e0b7a8e92830337eb1f3843780e6c9c3e6
SIZE (festival/patch-speech__tools_include_EST__SCFG.h) = 519
SHA256 (festival/patch-speech__tools_include_EST__String.h) = ce8b3513bf218fd369716101fb0b3defc8ddb4d8a57e28df2c0e80f95fe52e74
SIZE (festival/patch-speech__tools_include_EST__String.h) = 1068
SHA256 (festival/patch-speech__tools_include_EST__TIterator.h) = c44d8125a04447a63e8458cee910cd7fe4aa84d31d4c06139b76ae168c66bcf7
SIZE (festival/patch-speech__tools_include_EST__TIterator.h) = 730
SHA256 (festival/patch-speech__tools_include_EST__TNamedEnum.h) = c825a92c81ecdda555963319c400a026aa797c694897e2a6a232ea94660d6557
SIZE (festival/patch-speech__tools_include_EST__TNamedEnum.h) = 608
SHA256 (festival/patch-speech__tools_include_EST__error.h) = ad43dcfa0fb0222d3cfc86cc2a316badbe1f2e27b663a91139ee3ccc3fd325e5
SIZE (festival/patch-speech__tools_include_EST__error.h) = 1210
SHA256 (festival/patch-speech__tools_include_ling__class_EST__FeatureFunctionPackage.h) = 2249d192d1c16697e0971263a1c1c1d8dbfecfe080c077abe49765e703775157
SIZE (festival/patch-speech__tools_include_ling__class_EST__FeatureFunctionPackage.h) = 514
SHA256 (festival/patch-speech__tools_include_unix_EST__socket__unix.h) = ad217f952ddd714c2b6b9e5924bfaf9e3b0429ba46d1db117ca1c4918aed9741
SIZE (festival/patch-speech__tools_include_unix_EST__socket__unix.h) = 534
SHA256 (festival/patch-speech__tools_stats_dynamic__program.cc) = 0c3fbe07a256be395e28d08e367e80b53d56885825ff29a232793c8e03915141
SIZE (festival/patch-speech__tools_stats_dynamic__program.cc) = 1106
SHA256 (festival/patch-speech__tools_utils_EST__ServiceTable.cc) = 5edb267faa21adf31b5503cf5db4e55d4ad2c3eaecf1550d7df1ef8cb94c448c
SIZE (festival/patch-speech__tools_utils_EST__ServiceTable.cc) = 649

View file

@ -0,0 +1,93 @@
Obtained from:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667377
--- speech_tools/config/compilers/gcc_defaults.mak 2013-05-27 13:02:52.000000000 -0400
+++ speech_tools/config/compilers/gcc_defaults.mak 2013-05-27 13:06:51.000000000 -0400
@@ -82,5 +82,5 @@
ifndef GCC_MAKE_SHARED_LIB
- MAKE_SHARED_LIB = $(CXX) -shared -fno-shared-data -o XXX
+ MAKE_SHARED_LIB = $(CXX) -shared -o XXX -Wl,-soname -Wl,YYY
else
MAKE_SHARED_LIB = $(GCC_MAKE_SHARED_LIB)
--- speech_tools/base_class/EST_TSimpleMatrix.cc
+++ speech_tools/base_class/EST_TSimpleMatrix.cc
@@ -44,6 +44,7 @@
#include "EST_TVector.h"
#include <fstream>
#include <iostream>
+#include <cstring>
#include "EST_cutils.h"
template<class T>
@@ -98,7 +99,7 @@ void EST_TSimpleMatrix<T>::resize(int ne
{
int copy_r = Lof(this->num_rows(), new_rows);
- just_resize(new_rows, new_cols, &old_vals);
+ this->just_resize(new_rows, new_cols, &old_vals);
for (q=0; q<(copy_r*new_cols*sizeof(T)); q++) /* memcpy */
((char *)this->p_memory)[q] = ((char *)old_vals)[q];
@@ -127,9 +128,9 @@ void EST_TSimpleMatrix<T>::resize(int ne
int copy_r = Lof(this->num_rows(), new_rows);
int copy_c = Lof(this->num_columns(), new_cols);
- just_resize(new_rows, new_cols, &old_vals);
+ this->just_resize(new_rows, new_cols, &old_vals);
- set_values(old_vals,
+ this->set_values(old_vals,
old_row_step, old_column_step,
0, copy_r,
0, copy_c);
--- speech_tools/base_class/EST_TSimpleVector.cc
+++ speech_tools/base_class/EST_TSimpleVector.cc
@@ -43,6 +43,7 @@
#include "EST_TSimpleVector.h"
#include "EST_matrix_support.h"
#include <fstream>
+#include <cstring>
#include "EST_cutils.h"
template<class T> void EST_TSimpleVector<T>::copy(const EST_TSimpleVector<T> &a)
@@ -70,7 +71,7 @@ template<class T> void EST_TSimpleVector
int old_offset = this->p_offset;
unsigned int q;
- just_resize(newn, &old_vals);
+ this->just_resize(newn, &old_vals);
if (set && old_vals)
{
--- speech_tools/include/EST_TIterator.h
+++ speech_tools/include/EST_TIterator.h
@@ -209,7 +209,7 @@ public:
/// Create an iterator ready to run over the given container.
EST_TStructIterator(const Container &over)
- { begin(over); }
+ { this->begin(over); }
const Entry *operator ->() const
{return &this->current();}
@@ -289,7 +289,7 @@ public:
/// Create an iterator ready to run over the given container.
EST_TRwStructIterator(Container &over)
- { begin(over); }
+ { this->begin(over); }
Entry *operator ->() const
{return &this->current();}
--- speech_tools/include/EST_TNamedEnum.h
+++ speech_tools/include/EST_TNamedEnum.h
@@ -130,7 +130,7 @@ public:
{this->initialise((const void *)defs); };
EST_TNamedEnumI(EST_TValuedEnumDefinition<const char *,const char *,INFO> defs[], ENUM (*conv)(const char *))
{this->initialise((const void *)defs, conv); };
- const char *name(ENUM tok, int n=0) const {return value(tok,n); };
+ const char *name(ENUM tok, int n=0) const {return this->value(tok,n); };
};

View file

@ -1,364 +0,0 @@
This is from Gentoo's port (gcc41-amd64-int-pointer.patch), except
we use intptr_t instead of long so as not to pessimize the i386
case, where long is wider than pointer.
-mi
--- speech_tools/include/EST_simplestats.h 2006/07/21 02:18:39 1.1
+++ speech_tools/include/EST_simplestats.h 2006/07/21 02:35:43
@@ -194,7 +194,7 @@ enum EST_tprob_type {tprob_string, tprob
for example
\begin{verbatim}
EST_DiscreteProbistribution pdf;
- for (int i=pdf.item_start(); i < pdf.item_end(); i=pdf.item_next(i))
+ for (intptr_t i=pdf.item_start(); i < pdf.item_end(); i=pdf.item_next(i))
{
EST_String name;
double prob;
@@ -265,17 +265,17 @@ public:
///
double frequency(const int i) const;
/// Used for iterating through members of the distribution
- int item_start() const;
+ intptr_t item_start() const;
/// Used for iterating through members of the distribution
- int item_next(int idx) const;
+ intptr_t item_next(intptr_t idx) const;
/// Used for iterating through members of the distribution
- int item_end(int idx) const;
+ int item_end(intptr_t idx) const;
/// During iteration returns name given index
- const EST_String &item_name(int idx) const;
+ const EST_String &item_name(intptr_t idx) const;
/// During iteration returns name and frequency given index
- void item_freq(int idx,EST_String &s,double &freq) const;
+ void item_freq(intptr_t idx,EST_String &s,double &freq) const;
/// During iteration returns name and probability given index
- void item_prob(int idx,EST_String &s,double &prob) const;
+ void item_prob(intptr_t idx,EST_String &s,double &prob) const;
/// Returns discrete vocabulary of distribution
inline const EST_Discrete *const get_discrete() const { return discrete; };
--- speech_tools/stats/wagon/wagon_aux.cc 2006/07/21 02:18:39 1.1
+++ speech_tools/stats/wagon/wagon_aux.cc 2006/07/21 02:36:09
@@ -537,7 +537,7 @@ ostream & operator <<(ostream &s, WImpur
}
else if (imp.t == wnim_class)
{
- int i;
+ intptr_t i;
EST_String name;
double prob;
--- speech_tools/stats/EST_DProbDist.cc 2006/07/21 02:18:39 1.1
+++ speech_tools/stats/EST_DProbDist.cc 2006/07/21 02:41:32
@@ -305,15 +305,15 @@ double EST_DiscreteProbDistribution::ent
}
// For iterating through members of a probability distribution
-int EST_DiscreteProbDistribution::item_start(void) const
+intptr_t EST_DiscreteProbDistribution::item_start(void) const
{
if (type == tprob_discrete)
return 0;
else
- return (int)scounts.list.head();
+ return (intptr_t)scounts.list.head();
}
-int EST_DiscreteProbDistribution::item_end(int idx) const
+int EST_DiscreteProbDistribution::item_end(intptr_t idx) const
{
if (type == tprob_discrete)
return (idx >= icounts.length());
@@ -321,15 +321,15 @@ int EST_DiscreteProbDistribution::item_e
return ((EST_Litem *)idx == 0);
}
-int EST_DiscreteProbDistribution::item_next(int idx) const
+intptr_t EST_DiscreteProbDistribution::item_next(intptr_t idx) const
{
if (type == tprob_discrete)
return ++idx;
else
- return (int)next((EST_Litem *)idx);
+ return (intptr_t)next((EST_Litem *)idx);
}
-const EST_String &EST_DiscreteProbDistribution::item_name(int idx) const
+const EST_String &EST_DiscreteProbDistribution::item_name(intptr_t idx) const
{
if (type == tprob_discrete)
return discrete->name(idx);
@@ -337,7 +337,7 @@ const EST_String &EST_DiscreteProbDistri
return scounts.list((EST_Litem *)idx).k;
}
-void EST_DiscreteProbDistribution::item_freq(int idx,EST_String &s,double &freq) const
+void EST_DiscreteProbDistribution::item_freq(intptr_t idx,EST_String &s,double &freq) const
{
if (type == tprob_discrete)
{
@@ -351,7 +351,7 @@ void EST_DiscreteProbDistribution::item_
}
}
-void EST_DiscreteProbDistribution::item_prob(int idx,EST_String &s,double &prob) const
+void EST_DiscreteProbDistribution::item_prob(intptr_t idx,EST_String &s,double &prob) const
{
if (type == tprob_discrete)
{
@@ -368,7 +368,7 @@ void EST_DiscreteProbDistribution::item_
ostream & operator<<(ostream &s, const EST_DiscreteProbDistribution &pd)
{
// Output best with probabilities
- int i;
+ intptr_t i;
double prob;
double sum=0;
EST_String name;
--- speech_tools/grammar/ngram/EST_Ngrammar.cc 2006/07/21 02:18:39 1.1
+++ speech_tools/grammar/ngram/EST_Ngrammar.cc 2006/07/21 02:38:54
@@ -180,7 +180,7 @@ bool EST_BackoffNgrammarState::accumulat
const double count)
{
-// int i;
+// intptr_t i;
// cerr << "accumulate level " << p_level << " : ";
// for(i=0;i<words.n();i++)
// {
@@ -302,7 +302,7 @@ void EST_BackoffNgrammarState::print_fre
// not right - just print out, then recurse through children
// change to use 'backoff_traverse'
- int k;
+ intptr_t k;
double freq;
EST_String name;
for (k=p_pdf.item_start();
@@ -369,7 +369,7 @@ void EST_BackoffNgrammarState::zap()
{
// recursively delete this state and all its children
- int k;
+ intptr_t k;
double freq;
EST_String name;
for (k=p_pdf.item_start();
@@ -452,7 +452,7 @@ bool EST_BackoffNgrammarState::set_backo
void EST_BackoffNgrammarState::frequency_of_frequencies(EST_DVector &ff)
{
- int k,max=ff.n();
+ intptr_t k; int max=ff.n();
double freq;
EST_String name;
for (k=p_pdf.item_start();
@@ -911,7 +911,7 @@ void EST_Ngrammar::accumulate(const EST_
{
/*
- int i;
+ intptr_t i;
for(i=0;i<words.n();i++)
{
cerr << vocab_pdf.item_name(words(i));
@@ -1581,7 +1581,7 @@ void EST_Ngrammar::prune_backoff_represe
// remove any branches with zero frequency count
// find children of this state with zero freq and zap them
- int k;
+ intptr_t k;
double freq;
EST_String name;
for (k=start_state->pdf_const().item_start();
@@ -2320,7 +2320,7 @@ void EST_Ngrammar::print_freqs(ostream &
backoff_representation->print_freqs(os,p_order);
else
{
- int i,j,k;
+ int i,j; intptr_t k;
EST_IVector window(p_order-1);
for (i=0; i < p_num_states; i++)
@@ -2661,7 +2661,7 @@ EST_Ngrammar::backoff_traverse(EST_Backo
function(start_state,params);
// and recurse down the tree
- int k;
+ intptr_t k;
double freq;
EST_String name;
for (k=start_state->pdf_const().item_start();
@@ -2692,7 +2692,7 @@ EST_Ngrammar::backoff_traverse(EST_Backo
{
// and recurse down the tree if we haven't
// reached the level yet
- int k;
+ intptr_t k;
double freq;
EST_String name;
--- speech_tools/grammar/ngram/ngrammar_io.cc 2006/07/21 02:18:39 1.1
+++ speech_tools/grammar/ngram/ngrammar_io.cc 2006/07/21 02:39:05
@@ -281,7 +281,7 @@ EST_read_status
load_ngram_cstr_bin(const EST_String filename, EST_Ngrammar &n)
{
EST_TokenStream ts;
- int i,j,k,order;
+ int i,j,order; intptr_t k;
int num_entries;
double approx_num_samples = 0.0;
intptr_t freq_data_start, freq_data_end;
@@ -407,7 +407,7 @@ EST_write_status
save_ngram_htk_ascii_sub(const EST_String &word, ostream *ost,
EST_Ngrammar &n, double floor)
{
- int k;
+ intptr_t k;
EST_String name;
double freq;
EST_StrVector this_ngram(2); // assumes bigram
@@ -734,7 +734,7 @@ save_ngram_cstr_ascii(const EST_String f
// awb's format
(void)trace;
ostream *ost;
- int i,k;
+ int i; intptr_t k;
if (filename == "-")
ost = &cout;
@@ -831,7 +831,7 @@ save_ngram_cstr_bin(const EST_String fil
if (n.representation() == EST_Ngrammar::sparse)
return misc_write_error;
- int i,k;
+ int i; intptr_t k;
FILE *ofd;
double lfreq = -1;
double count = -1;
--- speech_tools/grammar/ngram/ngrammar_aux.cc 2006/07/21 02:18:39 1.1
+++ speech_tools/grammar/ngram/ngrammar_aux.cc 2006/07/21 02:39:20
@@ -117,7 +117,7 @@ smooth_ExponentialFit(EST_DVector &N, in
void make_f_of_f(EST_BackoffNgrammarState *s,void *params)
{
- int k;
+ intptr_t k;
double freq;
EST_String name;
@@ -138,7 +138,7 @@ void make_f_of_f(EST_BackoffNgrammarStat
void get_max_f(EST_BackoffNgrammarState *s,void *params)
{
- int k;
+ intptr_t k;
double freq;
EST_String name;
@@ -158,7 +158,7 @@ void get_max_f(EST_BackoffNgrammarState
void map_f_of_f(EST_BackoffNgrammarState *s,void *params)
{
- int k;
+ intptr_t k;
double freq;
EST_String name;
@@ -184,7 +184,7 @@ void map_f_of_f(EST_BackoffNgrammarState
void zero_small_f(EST_BackoffNgrammarState *s,void *params)
{
- int k;
+ intptr_t k;
double freq;
EST_String name;
@@ -204,7 +204,7 @@ void zero_small_f(EST_BackoffNgrammarSta
void frequency_of_frequencies(EST_DVector &ff, EST_Ngrammar &n,int this_order)
{
- int i,k,size;
+ int i,size; intptr_t k;
double max=0.0;
// if ff has zero size, do complete frequency of frequencies
@@ -302,7 +302,7 @@ void frequency_of_frequencies(EST_DVecto
void map_frequencies(EST_Ngrammar &n, const EST_DVector &map, const int this_order)
{
- int i,k;
+ int i; intptr_t k;
switch(n.representation())
--- speech_tools/grammar/ngram/EST_PST.cc 2006/07/21 02:18:39 1.1
+++ speech_tools/grammar/ngram/EST_PST.cc 2006/07/21 02:39:31
@@ -71,7 +71,7 @@ EST_PredictionSuffixTree_tree_node::prin
// Base -- print from pd
EST_String s;
double freq;
- for (int i = pd.item_start();
+ for (intptr_t i = pd.item_start();
!pd.item_end(i);
i=pd.item_next(i))
{
@@ -98,7 +98,7 @@ EST_PredictionSuffixTree_tree_node::prin
EST_String s;
double prob;
os << get_path() << " :";
- for (int i = pd.item_start(); !pd.item_end(i) ; i=pd.item_next(i))
+ for (intptr_t i = pd.item_start(); !pd.item_end(i) ; i=pd.item_next(i))
{
pd.item_prob(i,s,prob);
os << " " << s << " " << prob;
--- speech_tools/grammar/ngram/freqsmooth.cc 2006/07/21 02:18:39 1.1
+++ speech_tools/grammar/ngram/freqsmooth.cc 2006/07/21 02:46:42
@@ -74,7 +74,7 @@ void fs_build_backoff_ngrams(EST_Ngramma
EST_Ngrammar &ngram)
{
// Build all the backoff grammars back to uni-grams
- int i,j,k,l;
+ int i,j,l; intptr_t k;
for (i=0; i < ngram.order()-1; i++)
backoff_ngrams[i].init(i+1,EST_Ngrammar::dense,
@@ -110,7 +110,7 @@ int fs_backoff_smooth(EST_Ngrammar *back
{
// For all ngrams which are too infrequent, adjust their
// frequencies based on their backoff probabilities
- int i,j;
+ int i; intptr_t j;
double occurs;
double backoff_prob;
--- speech_tools/grammar/wfst/wfst_train.cc 2006/07/21 02:18:39 1.1
+++ speech_tools/grammar/wfst/wfst_train.cc 2006/07/21 02:39:47
@@ -299,7 +299,7 @@ static LISP find_best_split(EST_WFST &wf
LISP *ssplits;
gc_protect(&splits);
EST_String sname;
- int b,best_b,i;
+ int b,best_b; intptr_t i;
int num_pdfs;
double best_score, score, sfreq;
@@ -374,7 +374,7 @@ static double score_pdf_combine(EST_Disc
// Find score of (a+b) vs (all-(a+b))
EST_DiscreteProbDistribution ab(a);
EST_DiscreteProbDistribution all_but_ab(all);
- int i;
+ intptr_t i;
EST_String sname;
double sfreq, score;
for (i=b.item_start(); !b.item_end(i);
@@ -506,7 +506,7 @@ static double find_score_if_split(EST_WF
EST_DiscreteProbDistribution pdf_split(&wfst.in_symbols());
EST_DiscreteProbDistribution pdf_remain(&wfst.in_symbols());
int in, tostate, id;
- int i;
+ intptr_t i;
double sfreq;
EST_String sname;

View file

@ -0,0 +1,23 @@
Part of Debian's patch at:
http://patch-tracker.debian.org/patch/series/view/festival/1:2.1~release-5.1/src_modules_MultiSyn_path_fixes.diff
--- festival/src/modules/MultiSyn/TargetCostRescoring.cc 2011-02-16 10:35:34.000000000 -0600
+++ festival/src/modules/MultiSyn/TargetCostRescoring.cc 2011-02-16 10:43:23.000000000 -0600
@@ -82,7 +82,7 @@
//cerr << scores << endl;
// calculate simple mean duration of some or all of candidates
- float meandur = 0.0;
+ long meandur = 0.0;
int n = 0;
if( beam_width < 0 ){ // just average all of them
@@ -107,7 +107,7 @@
// then tweak the scores based on that
for( EST_Litem *li = scores.head(); li != 0; li = li->next() ){
- float cand_dur = scores(li)._dur;
+ long cand_dur = scores(li)._dur;
// cerr << scores(li)._cand->score << " ";
scores(li)._cand->score += (mult * abs( cand_dur - meandur ) );
// cerr << scores(li)._cand->score << endl;

View file

@ -1,22 +0,0 @@
Tracking the structure's size does not seem meaningful... The size is
different on different architectures. Disable the tracking so that the
rest of the test can be used.
-mi
--- speech_tools/testsuite/matrix_regression.cc Fri Apr 30 12:56:51 2004
+++ speech_tools/testsuite/matrix_regression.cc Mon Mar 26 04:07:25 2007
@@ -55,7 +55,4 @@
EST_TMatrix<int> m(5,5);
- cout << "EST_TVector<int> size = " << sizeof(EST_TVector<int>) << " bytes.\n";
- cout << "EST_TMatrix<int> size = " << sizeof(EST_TMatrix<int>) << " bytes.\n";
-
for(int i=0; i<m.num_rows(); i++)
for(int j=0; j<m.num_columns(); j++)
--- speech_tools/testsuite/correct/matrix_regression.out Wed Apr 4 07:55:32 2001
+++ speech_tools/testsuite/correct/matrix_regression.out Mon Mar 26 04:07:56 2007
@@ -1,3 +1 @@
-EST_TVector<int> size = 20 bytes.
-EST_TMatrix<int> size = 28 bytes.
Initial Matrix

View file

@ -0,0 +1,49 @@
--- speech_tools/config/modules/freebsd16_audio.mak 2001-04-04 09:11:27.000000000 -0400
+++ speech_tools/config/modules/freebsd16_audio.mak 2013-05-27 13:29:03.000000000 -0400
@@ -43,5 +43,5 @@
MOD_DESC_FREEBSD16_AUDIO=Native audio module for FreeBSD systems
-AUDIO_DEFINES += -DSUPPORT_FREEBSD16
+AUDIO_DEFINES += -DSUPPORT_FREEBSD16 -DSUPPORT_VOXWARE
#ifdef INCLUDE_JAVA_CPP
--- speech_tools/audio/linux_sound.cc 2009-04-29 13:06:36.000000000 -0400
+++ speech_tools/audio/linux_sound.cc 2013-05-27 13:31:00.000000000 -0400
@@ -66,7 +66,13 @@
int freebsd16_supported = TRUE;
int linux16_supported = FALSE;
-static char *aud_sys_name = "FreeBSD";
+static const char *aud_sys_name = "FreeBSD";
#endif /*SUPPORT_FREEBSD16 */
+#ifdef SUPPORT_LINUX16
+int linux16_supported = TRUE;
+int freebsd16_supported = FALSE;
+static const char *aud_sys_name = "Linux";
+#endif
+
#ifdef SUPPORT_VOXWARE
@@ -76,7 +82,5 @@
#include <sys/stat.h>
#include <fcntl.h>
-int linux16_supported = TRUE;
-int freebsd16_supported = FALSE;
-static char *aud_sys_name = "Linux";
+
static int stereo_only = 0;
@@ -152,5 +156,5 @@
int audio,actual_fmt;
int i,r,n;
- char *audiodevice;
+ const char *audiodevice;
if (al.present("-audiodevice"))
@@ -279,5 +283,5 @@
int audio=-1,actual_fmt;
int i,r,n;
- char *audiodevice;
+ const char *audiodevice;
if (al.present("-audiodevice"))

View file

@ -25,6 +25,8 @@ libexec/festival_client.naked
%%DATADIR%%/examples/intro.text
%%DATADIR%%/examples/latest
%%DATADIR%%/examples/latest.sh
%%DATADIR%%/examples/run-festival-script
%%DATADIR%%/examples/run-festival-script.sh
%%DATADIR%%/examples/make_utts
%%DATADIR%%/examples/make_utts.sh
%%DATADIR%%/examples/powmeanstd