TTS Engine: Added support for Japanese TTS engine 59/7359/3
authorNaoto Yamaguchi <i33399_YAMAGUCHI@aisin-aw.co.jp>
Thu, 1 Dec 2016 12:55:30 +0000 (21:55 +0900)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Fri, 2 Dec 2016 13:17:21 +0000 (13:17 +0000)
This patch will add a temporary TTS engine for CES 2017 demo
This recipe integrates the Japanese TTS engine and the data it needs
Flite are necessary for voice-guide function of navigation app

Change-Id: I92c3ba8584ab10c1a731a335316b7762f5f57a77
Signed-off-by: Naoto Yamaguchi <i33399_YAMAGUCHI@aisin-aw.co.jp>
recipes-multimedia/openjtalk/openjtalk-voicedata_1.6.bb [new file with mode: 0644]
recipes-multimedia/openjtalk/openjtalk/fix-mecab-tool.patch [new file with mode: 0644]
recipes-multimedia/openjtalk/openjtalk_1.09.bb [new file with mode: 0644]

diff --git a/recipes-multimedia/openjtalk/openjtalk-voicedata_1.6.bb b/recipes-multimedia/openjtalk/openjtalk-voicedata_1.6.bb
new file mode 100644 (file)
index 0000000..27ef7b5
--- /dev/null
@@ -0,0 +1,22 @@
+SUMMARY = "MMDAgent Voice Data."
+HOMEPAGE = "https://sourceforge.net/projects/mmdagent/"
+SECTION = "libs"
+LICENSE = "CC-BY-3.0"
+
+inherit allarch
+
+LIC_FILES_CHKSUM = "file://Voice/mei/COPYRIGHT.txt;md5=4efd58b40631c9d879e28ce678480081"
+
+SRC_URI = "http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-${PV}/MMDAgent_Example-${PV}.zip "
+
+SRC_URI[md5sum] = "b95a1ae9897a17cfac55b913565d981a"
+SRC_URI[sha256sum] = "2640ede5831a83e19f9cd8dabca9ad07ef05c50af06c6bc8cb3adfb5e5d4f639"
+
+S = "${WORKDIR}/MMDAgent_Example-${PV}"
+
+do_install() {
+    install -m 0755 -d ${D}/${datadir}/Voice/mei
+    install -m 0644 -p ${S}/Voice/mei/*.htsvoice ${D}/${datadir}/Voice/mei/
+}
+
+FILES_${PN} += " ${datadir}/Voice/mei/*.htsvoice "
diff --git a/recipes-multimedia/openjtalk/openjtalk/fix-mecab-tool.patch b/recipes-multimedia/openjtalk/openjtalk/fix-mecab-tool.patch
new file mode 100644 (file)
index 0000000..27a42bc
--- /dev/null
@@ -0,0 +1,45 @@
+diff --git a/mecab-naist-jdic/Makefile.am b/mecab-naist-jdic/Makefile.am
+old mode 100644
+new mode 100755
+index 61915c1..030f540
+--- a/mecab-naist-jdic/Makefile.am
++++ b/mecab-naist-jdic/Makefile.am
+@@ -5,12 +5,12 @@ DISTCLEANFILES = *.log *.out *~
+ MAINTAINERCLEANFILES = Makefile.in char.bin matrix.bin sys.dic unk.dic
+-dicdir = @prefix@/dic
++dicdir = @prefix@/share/dic
+ dic_DATA   = char.bin matrix.bin sys.dic unk.dic
+ char.bin matrix.bin sys.dic unk.dic: naist-jdic.csv matrix.def left-id.def rewrite.def pos-id.def right-id.def char.def unk.def feature.def
+-      ../mecab/src/mecab-dict-index -d . -o . -f UTF-8 -t @MECAB_CHARSET@
++      mecab-dict-index -d . -o . -f UTF-8 -t @MECAB_CHARSET@
+ clean:
+       rm -f char.bin matrix.bin sys.dic unk.dic
+diff --git a/mecab-naist-jdic/Makefile.in b/mecab-naist-jdic/Makefile.in
+old mode 100644
+new mode 100755
+index f92fe2c..7fdf4ad
+--- a/mecab-naist-jdic/Makefile.in
++++ b/mecab-naist-jdic/Makefile.in
+@@ -263,7 +263,7 @@ top_srcdir = @top_srcdir@
+ EXTRA_DIST = COPYING Makefile.mak naist-jdic.csv matrix.def left-id.def pos-id.def rewrite.def right-id.def char.def unk.def feature.def
+ DISTCLEANFILES = *.log *.out *~
+ MAINTAINERCLEANFILES = Makefile.in char.bin matrix.bin sys.dic unk.dic
+-dicdir = @prefix@/dic
++dicdir = @prefix@/share/dic
+ dic_DATA = char.bin matrix.bin sys.dic unk.dic
+ all: all-am
+@@ -476,7 +476,7 @@ uninstall-am: uninstall-dicDATA
+ char.bin matrix.bin sys.dic unk.dic: naist-jdic.csv matrix.def left-id.def rewrite.def pos-id.def right-id.def char.def unk.def feature.def
+-      ../mecab/src/mecab-dict-index -d . -o . -f UTF-8 -t @MECAB_CHARSET@
++      mecab-dict-index -d . -o . -f UTF-8 -t @MECAB_CHARSET@
+ clean:
+       rm -f char.bin matrix.bin sys.dic unk.dic
diff --git a/recipes-multimedia/openjtalk/openjtalk_1.09.bb b/recipes-multimedia/openjtalk/openjtalk_1.09.bb
new file mode 100644 (file)
index 0000000..5ac0771
--- /dev/null
@@ -0,0 +1,49 @@
+SUMMARY = "Open JTalk is a Japanese text-to-speech system."
+HOMEPAGE = "http://open-jtalk.sourceforge.net/"
+SECTION = "libs"
+LICENSE = "BSD"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ec9073c0ca40ff7c388b31cfd6a07a9e"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI = "\
+       http://downloads.sourceforge.net/open-jtalk/open_jtalk-${PV}.tar.gz \
+       file://fix-mecab-tool.patch \
+       "
+
+SRC_URI_class-native = "\
+       http://downloads.sourceforge.net/open-jtalk/open_jtalk-${PV}.tar.gz \
+       "
+
+
+SRC_URI[md5sum] = "5dfdbad432d892f044fb96129a524bfe"
+SRC_URI[sha256sum] = "8ed79238d825fee1d9e0a1c6c8a89e2cc707189be1caa3fa79e8eb72436079d7"
+
+DEPENDS = " hts-engine openjtalk-native "
+DEPENDS_class-native = " hts-engine-native "
+
+RDEPENDS_${PN} = " openjtalk-voicedata "
+RDEPENDS_${PN}_class-native = " "
+
+inherit autotools-brokensep
+
+S = "${WORKDIR}/open_jtalk-${PV}"
+
+
+EXTRA_OECONF = " \
+ --with-hts-engine-header-path=${PKG_CONFIG_SYSROOT_DIR}/usr/include \
+ --with-hts-engine-library-path=${PKG_CONFIG_SYSROOT_DIR}/usr/lib \
+"
+
+EXTRA_OECONF_class-native = " \
+ --with-hts-engine-header-path=${includedir} \
+ --with-hts-engine-library-path=${libdir} \
+"
+
+do_install_append_class-native() {
+       install -m 755 mecab/src/mecab-dict-index ${D}${bindir}
+}
+
+FILES_${PN} += " ${datadir}/dic/* "
+