--- mbrola-3.01h.orig/debian/manpages +++ mbrola-3.01h/debian/manpages @@ -0,0 +1 @@ +debian/mbrola.1 --- mbrola-3.01h.orig/debian/copyright +++ mbrola-3.01h/debian/copyright @@ -0,0 +1,99 @@ +This package was debianized by Samuel Thibault +on Sun, 28 Dec 2008 00:15:04 +0100, based on the packaging from the Oralux +distribution (Igor B. Poretsky and Gilles Casse +) + +It was downloaded from http://tcts.fpms.ac.be/synthesis/ + +Upstream Author: Dr Thierry Dutoit + +Copyright: + +Copyright (C) 1996-2008 Dr Thierry Dutoit + +License: + +This program and object code is being provided to "you", the licensee, +by Thierry Dutoit, the "author", under the following license, which +applies to any program, object code or other work which contains a +notice placed by the copyright holder saying it may be distributed +under the terms of this license. The "program", below, refers to any +such program, object code or work. + +By obtaining, using and/or copying this program, you agree that you +have read, understood, and will comply with these terms and +conditions: + +Terms and conditions for the distribution of the program +-------------------------------------------------------- + +This program may not be sold or incorporated into any product which is +sold without prior permission from the author. + +When no charge is made, this program may be copied and distributed +freely, provided that this notice is copied and distributed with +it. Each time you redistribute the program (or any work based on the +program), the recipient automatically receives a license from the +original licensor to copy or distribute the program subject to these +terms and conditions. You may not impose any further restrictions on +the recipients' exercise of the rights granted herein. You are not +responsible for enforcing compliance by third parties to this License. + +If you wish to incorporate the program into other free programs whose +distribution conditions are different, write to the author to ask for +permission. + +If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this license, they do not +excuse you from the conditions of this license. If you cannot +distribute so as to satisfy simultaneously your obligations under this +license and any other pertinent obligations, then as a consequence you +may not distribute the program at all. For example, if a patent +license would not permit royalty-free redistribution of the program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this license would be to +refrain entirely from distribution of the program. + +Terms and conditions on the use of the program +---------------------------------------------- + +Permission is granted to use this software for non-commercial, +non-military purposes, with and only with the voice and language +databases made available by the author from the MBROLA project www +homepage: + + http://tcts.fpms.ac.be/synthesis + +In return, the author asks you to mention the MBROLA reference paper: + +T. DUTOIT, V. PAGEL, N. PIERRET, F. BATAILLE, O. VAN DER VRECKEN +"The MBROLA Project: Towards a Set of High-Quality Speech +Synthesizers Free of Use for Non-Commercial Purposes" +Proc. ICSLP'96, Philadelphia, vol. 3, pp. 1393-1396. + +or, for a more general reference to Text-To-Speech synthesis, the +book: + +An Introduction to Text-To-Speech Synthesis, +T. DUTOIT, Kluwer Academic Publishers, Dordrecht +Hardbound, ISBN 0-7923-4498-7 +April 1997, 312 pp. + +in any scientific publication referring to work for which this program +has been used. + +Disclaimer +---------- + +THIS SOFTWARE CARRIES NO WARRANTY, EXPRESSED OR IMPLIED. THE USER +ASSUMES ALL RISKS, KNOWN OR UNKNOWN, DIRECT OR INDIRECT, WHICH INVOLVE +THIS SOFTWARE IN ANY WAY. IN PARTICULAR, THE AUTHOR DOES NOT TAKE ANY +COMMITMENT IN VIEW OF ANY POSSIBLE THIRD PARTY RIGHTS. + + + +Note: +On 22nd Dec. 2008, Thierry Dutoit mailed he was OK with Debian distributing +mbrola in its non-free category. --- mbrola-3.01h.orig/debian/examples +++ mbrola-3.01h/debian/examples @@ -0,0 +1 @@ +debian/mbrola-voice-package-generate --- mbrola-3.01h.orig/debian/compat +++ mbrola-3.01h/debian/compat @@ -0,0 +1 @@ +5 --- mbrola-3.01h.orig/debian/rules +++ mbrola-3.01h/debian/rules @@ -0,0 +1,72 @@ +#!/usr/bin/make -f + +DEB_HOST_ARCH?=$(shell dpkg-architecture -qDEB_HOST_ARCH) +README_ZIPBALL=mbr301h_i386-ppc-alpha-ultra.zip + +ifeq ($(DEB_HOST_ARCH),i386) +ZIPBALL=mbr301h_i386-ppc-alpha-ultra.zip +FILENAME=mbrola-linux-i386 +endif + +ifeq ($(DEB_HOST_ARCH),amd64) +ZIPBALL=mbr301h_i386-ppc-alpha-ultra.zip +FILENAME=mbrola-linux-i386 +endif + +ifeq ($(DEB_HOST_ARCH),alpha) +ZIPBALL=mbr301h_i386-ppc-alpha-ultra.zip +FILENAME=mbrola-linux-alpha +endif + +ifeq ($(DEB_HOST_ARCH),powerpc) +ZIPBALL=mbr301h_i386-ppc-alpha-ultra.zip +FILENAME=mbrola302b-linux-ppc +endif + +ifeq ($(DEB_HOST_ARCH),sparc) +ZIPBALL=mbr301h_i386-ppc-alpha-ultra.zip +FILENAME=mbrola-SuSElinux-ultra1.dat +endif + +ifeq ($(DEB_HOST_ARCH),armel) +ZIPBALL=mbr301h_arm.zip +FILENAME=mbrola-linux-strongarm2-static +endif + +unpack: + unzip -u -d unpacked zipballs/$(ZIPBALL) + +mbrola: unpack + cp -f unpacked/$(FILENAME) mbrola + chmod u+w,+x mbrola + strip mbrola + +build-arch: mbrola + +build: build-arch + +binary-arch: build-arch + dh_testdir + dh_testroot + dh_prep + dh_install mbrola usr/bin + dh_installdocs + dh_installman + dh_installchangelogs + dh_installexamples + dh_shlibdeps + dh_compress + dh_fixperms + dh_gencontrol + dh_md5sums + dh_builddeb + +binary-indep: + +binary: binary-arch + +clean: + dh_testdir + dh_clean + rm -f mbrola + rm -fr unpacked --- mbrola-3.01h.orig/debian/mbrola.1 +++ mbrola-3.01h/debian/mbrola.1 @@ -0,0 +1,78 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH MBROLA 1 "May 17, 2005" +.SH NAME +mbrola \- multilingual software speech synthesizer +.SH SYNOPSIS +.B mbrola +.RI [ options ] ... +.SH DESCRIPTION +.PP +\fBmbrola\fP is a speech synthesizer based on the concatenation of +diphones. It takes a list of phonemes as input, together with prosodic +information (duration of phonemes and a piecewise linear description +of pitch), and produces speech samples on 16 bits (linear), at the +sampling frequency of the diphone database. +.PP +It is therefore NOT a Text-To-Speech (TTS) synthesizer, since it does +not accept raw text as input. In order to obtain a full TTS system, +you need to use this synthesizer in combination with a text processing +system that produces phonetic and prosodic commands. +For instance, you may use package \fBfreephone\fP to obtain complete +English TTS. +.PP +A `\-' instead of pho_file or output_file means stdin or stdout. +Extension of output_file ( raw, au, wav, aiff ) tells the wanted audio format. +.SH OPTIONS +\fBmbrola\fP understands following command line options. +.TP +.B \-h +.br +Show summary of options. +.TP +.B \-i +.br +Display the database information if any. +.TP +.B \-e +.br +Ignore fatal errors on unknown diphone. +.TP +.B \-c comment_char +Set COMMENT char (escape sequence in pho files). +.TP +.B \-F flush_command +Set FLUSH command name. +.TP +.B \-v volume +Volume ratio. Float ratio applied to output samples. +.TP +.B \-f freq_ratio +Frequency ratio. Float ratio applied to pitch points. +.TP +.B \-t time_ratio +Time ratio. Float ratio applied to phone durations. +.TP +.B \-l voice_freq +Voice frequency. Target frequency for voice quality in Hz. +.TP +.B \-R rename_list +Phoneme rename list of the form: `a A b B ...' +.TP +.B \-C clone_list +Phoneme clone list of the form: `a A b B ...' +.TP +.B \-I file +Initialization file containing one command per line. +\fBCLONE\fP, \fBRENAME\fP, \fBVOICE\fP, \fBTIME\fP, \fBFREQ\fP, \fBVOLUME\fP, \fBFLUSH\fP, \fBCOMMENT\fP, +and \fBIGNORE\fP are available. +.SH SEE ALSO +.BR freephone (1), +.BR sox (1). +.br +See /usr/share/doc/mbrola/readme.txt.gz for more info. +.SH AUTHOR +.nh +mbrola was written by Dr Thierry Dutoit +.PP +This manual page was written by Igor B. Poretsky , +for the Debian project (but may be used by others). --- mbrola-3.01h.orig/debian/control +++ mbrola-3.01h/debian/control @@ -0,0 +1,27 @@ +Source: mbrola +Section: non-free/sound +Priority: optional +Maintainer: Samuel Thibault +Build-Depends: debhelper (>= 7), unzip, libc6-i386 [amd64] +Standards-Version: 3.8.4 +Homepage: http://tcts.fpms.ac.be/synthesis/ + +Package: mbrola +Architecture: i386 alpha powerpc sparc armel amd64 +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends} +Suggests: mbrola-voice, espeak, cicero +Description: Multilingual software speech synthesizer + Mbrola is Thierry Dutoit's phonemizer for multilingual speech synthesis. The + various diphone databases are distributed on separate packages, but they + must be used with and only with Mbrola because of license matters. Read the + copyright for details. + . + Mbrola itself doesn't provide full TTS. It is a speech synthesizer based on + the concatenation of diphones. It takes a list of phonemes as input, + together with prosodic information (duration of phonemes and a piecewise linear + description of pitch), and produces speech samples on 16 bits (linear), + at the sampling frequency of the diphone database. + . + Use Mbrola along with Freephone, cicero or espeak to have a complete + text-to-speech in English. --- mbrola-3.01h.orig/debian/docs +++ mbrola-3.01h/debian/docs @@ -0,0 +1 @@ +unpacked/readme.txt --- mbrola-3.01h.orig/debian/README.Debian +++ mbrola-3.01h/debian/README.Debian @@ -0,0 +1,35 @@ +Mbrola package +-------------- + +The mbrola package provides the code part of the mbrola speech synthesizer. +To make it work, you need to install voice packages according to the desired +languages and quality, these are called mbrola-xyn where xyn is the mbrola voice +identifier, the same as in the upstream database: +http://tcts.fpms.ac.be/synthesis/ + +Voice packages also provide the virtual package mbrola-voice- +where is the iso code of the language), and sometimes also +mbrola-voice-- where the additional is the +territory of the language. + +Since mbrola only synthesizes wave speech from phonemes, you also need a text +to phoneme converter, such as espeak or cicero, and a player such as sox. For +instance, to use the us1 voice from the mbrola-us1 package, you can run + +echo 'Hello, world!' | espeak -v mb-us1 --stdin | mbrola -e /usr/share/mbrola/voices/us1 - -.au | play -t .au - + +To make use of mbrola along espeak in speech-dispatcher, enable the +espeak-mbrola-generic module by uncommenting the corresponding line in +/etc/speech-dispatcher/speechd.conf + +Not all mbrola voices are packaged, because they take a lot of space and require +text to phoneme support. If you need to package a particular mbrola voice, you +can probably just use the debian/mbrola-voice-package-generate script from +the /usr/share/doc/mbrola/examples. + +Note: the amd64 package ships a 32bit binary, because the said-to-be-64 +bit version on the mbrola site actually is 32bit and does not work at +all. Users who compile their own kernel should thus make sure to enable +CONFIG_IA32_EMULATION. + + -- Samuel Thibault Mon, 01 Jun 2009 18:42:38 +0200 --- mbrola-3.01h.orig/debian/mbrola-voice-package-generate +++ mbrola-3.01h/debian/mbrola-voice-package-generate @@ -0,0 +1,283 @@ +#!/bin/bash + +shopt -s nocaseglob nullglob + +me="Samuel Thibault " + +debug() { + : + echo "$@" +} + +if [ "$#" -lt 4 ] +then + echo "Usage: $0 code version language locale" + echo "for instance, $0 ca1 0.1 \"Canadian French\" fr_CA" + exit 1 +fi + +code="$1" +version="$2" +language="$3" +language="$(echo $language | sed -e 's/^\(.\)/\u\1/')" +locale="$4" +locale_lang="${locale/%_*/}" +locale_territory= +[ -z "${locale/*_*}" ] && locale_territory="${locale/#*_/}" +territory="$(echo $locale_territory | tr 'A-Z' 'a-z')" +a_language="a $language" +case $language in + A*|E*|I*|O*) + a_language="an $language" +esac + +debug "code=\"$code\"" +debug "version=\"$version\"" +debug "language=\"$language\"" +debug "locale=\"$locale\"" +debug "lang=\"$locale_lang\"" +debug "territory=\"$territory\"" +debug "a language=\"$a_language\"" + +# +# +debug \# Check the cwd +# +# + +license= +[ -r license.txt ] && license=license.txt +[ -r licence.txt ] && license=licence.txt +if [ -z "$license" ] +then + echo "missing license file, are you within the unzipped archive?" + exit 1 +fi + +# +# +debug \# check voice file +# +# + +voice= +[ -r "$code" ] && voice="$code" +if [ -z "$voice" ]; +then + echo "Could not find voice" + exit 1 +fi + +# +# +debug \# check help file +# +# + +help= +[ -r "$code.txt" ] && help="$code.txt" +[ -r "$code.info" ] && help="$code.info" +try=$(echo $code | tr 'a-z' 'A-Z') +[ -r "$try.txt" ] && help="$try.txt" +[ -r "$try.info" ] && help="$try.info" +try=$(echo $code | sed -e 's/^\(.\)/\u\1/') +[ -r "$try.txt" ] && help="$try.txt" +[ -r "$try.info" ] && help="$try.info" +if [ -z "$help" ]; +then + echo "Could not find help file" + exit 1 +fi +debug "help=\"$help\"" + +# +# +debug \# detect gender +# +# +gender=male +grep -q -i female $help && gender=female +debug "gender=\"$gender\"" + +# +# +debug \# Look for a test +# +# + +testdir= +[ -d "TEST" ] && testdir="TEST" +[ -d "test" ] && testdir="test" +[ -d "Test" ] && testdir="Test" +if [ -z "$testdir" ]; +then + echo "Could not find testdir" + exit 1 +fi +debug "testdir=\"$testdir\"" +cd "$testdir" +testpho=$(ls -S *.pho *.Pho *.PHO | head -n 1) +cd - > /dev/null +if [ -z "$testpho" ]; +then + echo "Could not find phoneme test file" + exit 1 +fi +debug "testpho=\"$testpho\"" + +# +# +debug \# Try it +mbrola -e $voice $testdir/$testpho -.au | play -t .au - & +# +# + +# +# +debug \# Ok, go ! +# +# + +tar czf ../mbrola-${code}_$version.orig.tar.gz --exclude=debian --transform "s/^\./mbrola-$code-$version/" . + +mkdir -p debian +cat > debian/changelog << EOF +mbrola-$code ($version-1) UNRELEASED; urgency=low + + * Initial release (Closes: #XXX). + + -- $me $(date -R) +EOF + +cat > debian/compat << EOF +5 +EOF + +provides="mbrola-voice-$locale_lang, mbrola-voice" +[ -n "$territory" ] && provides="mbrola-voice-$locale_lang-$territory, $provides" + +cat > debian/control << EOF +Source: mbrola-$code +Section: non-free/sound +Priority: optional +Maintainer: $me +Build-Depends: debhelper (>= 7) +Standards-Version: 3.8.4 +Homepage: http://tcts.fpms.ac.be/synthesis/ + +Package: mbrola-$code +Architecture: all +Depends: \${misc:Depends}, mbrola +Provides: $provides +Description: $language $gender voice for Mbrola + This package contains $a_language diphone database provided in the context + of the MBROLA project see: http://tcts.fpms.ac.be/synthesis/ + . + It provides $a_language $gender voice to be used with the MBROLA program. +EOF + +cat > debian/copyright << EOF +This package was debianized by $me +on $(date -R), based on the packageing from the Oralux +distribution (Igor B. Poretsky and Gilles Casse +) + +It was downloaded from http://tcts.fpms.ac.be/synthesis/ + +Upstream Author: Faculte Polytechnique de Mons - mbrola team + +Copyright: +Copyright (C) 1996-2008 Faculte Polytechnique de Mons - mbrola team + +$(tr -d ' ' < $license | iconv -f latin1 -t utf-8) +EOF + +cat > debian/docs << EOF +$help +EOF + +[ -r sampa.txt ] && echo sampa.txt >> debian/docs +[ -r label.txt ] && echo label.txt >> debian/docs + +cat > debian/examples << EOF +$testdir/* +EOF + +cat > debian/README.Debian << EOF +mbrola-$code for Debian +--------------------- + +This package installs the diphone database into /usr/share/mbrola/voices/$code . +All examples go to /usr/share/doc/mbrola-$code/examples . + +You can test your installation by running: + +mbrola /usr/share/mbrola/voices/$code /usr/share/doc/mbrola-$code/examples/$testpho ${testpho/.pho}.wav + +which will create ${testpho/.pho}.wav in the current directory. + +If you have Sox installed, you can run: + +mbrola /usr/share/mbrola/voices/$code /usr/share/doc/mbrola-$code/examples/$testpho -.au | play -t .au - + +to play it on the fly. + + -- $me $(date -R) +EOF + +cat > debian/rules << EOF +#!/usr/bin/make -f + +build: + +binary-arch: + +binary-indep: + dh_testdir + dh_testroot + dh_prep + dh_install $code usr/share/mbrola/voices + dh_installdocs + dh_installchangelogs + dh_installexamples + dh_compress -X.pho + dh_fixperms + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep + +clean: + dh_testdir + dh_clean +EOF +chmod +x debian/rules + +cat > ../ITP-mbrola-$code << EOF +Owner: $me +Subject: ITP: mbrola-$code -- $language $gender voice for Mbrola + +Package: wnpp +Version: N/A; reported $(date +%Y-%m-%d) +Severity: wishlist + +* Package name : mbrola-$code + Version : $version-1 + Upstream Author : Faculte Polytechnique de Mons - mbrola team +* URL : http://tcts.fpms.ac.be/synthesis +* License : see the file readme.txt in the source zip: non-free as in + without source code, and for non-commercial, non-military + purposes, with and only with the mbrola package made + available by the author. + Description : $language $gender voice for Mbrola + This package contains $a_language diphone database provided in the context + of the MBROLA project see: http://tcts.fpms.ac.be/synthesis/ + . + It provides $a_language $gender voice to be used with the MBROLA + program. +EOF + +wait +echo Warning: check that the gender was really $gender, or check on http://tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html as the readme is sometimes bogus --- mbrola-3.01h.orig/debian/changelog +++ mbrola-3.01h/debian/changelog @@ -0,0 +1,40 @@ +mbrola (3.01h-5) unstable; urgency=low + + * rules: chmod u+w mbrola to fix FTBFS on sparc. + * debian/control: Bump Standards-Version to 3.8.4 (no change needed). + + -- Samuel Thibault Thu, 28 Jan 2010 00:02:20 +0100 + +mbrola (3.01h-4) unstable; urgency=low + + * control: add ${misc:Depends}. + * mbrola.1: Fix typo. + * rules: Strip the mbrola binary. + + -- Samuel Thibault Fri, 01 Jan 2010 22:20:17 +0100 + +mbrola (3.01h-3) unstable; urgency=low + + * README.Debian: Add a note about the amd64 package containing a 32bit + binary, and that hence ia32 emulation must be enabled in the kernel + (Closes: Bug#532972). + * Bump Standards-Version to 3.8.3 (no change needed). + * control: Add Multi-Arch: foreign header. + + -- Samuel Thibault Fri, 01 Jan 2010 21:38:40 +0100 + +mbrola (3.01h-2) unstable; urgency=low + + * Bump Standards-Version to 3.8.1, no changes needed. + * Change my email, remove DM-Upload-Allowed, as well as in voice packages. + * Bump debhelper build-dependency to (>= 7), to get dh_prep. + * Remove arm arch. + * Document how to use espeak+mbrola in speech dispatcher. + + -- Samuel Thibault Thu, 07 May 2009 01:48:36 +0200 + +mbrola (3.01h-1) unstable; urgency=low + + * Initial release (Closes: #509517). + + -- Samuel Thibault Sun, 18 Jan 2009 22:32:09 +0100