diff --git a/recipes-extended/festival/festival_2.3.bb b/recipes-extended/festival/festival_2.3.bb new file mode 100644 index 0000000..f1d07cd --- /dev/null +++ b/recipes-extended/festival/festival_2.3.bb @@ -0,0 +1,74 @@ +DESCRIPTION = "University of Edinburgh's Festival Speech Synthesis Systems is a free software \ +multi-lingual speech synthesis workbench that runs on multiple-platforms offering black box text to speech, \ +as well as an open architecture for research in speech synthesis. \ +It designed as a component of large speech technology systems." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=566f852956cd542e6a0587df0354f673" + +DEPENDS = "speech-tools" + +SRC_URI = "http://tts.speech.cs.cmu.edu/awb/20130703/${PN}-${PV}-current.tar.gz;name=festival \ + http://tts.speech.cs.cmu.edu/awb/20130703/festlex_CMU.tar.gz;name=CMU \ + http://tts.speech.cs.cmu.edu/awb/20130703/festlex_POSLEX.tar.gz;name=POSLEX \ + http://tts.speech.cs.cmu.edu/awb/20130703/festvox_kallpc16k.tar.gz;name=kallpc16k" +SRC_URI[festival.md5sum] = "eddcce27b873048360aaf3ea51c0e9cf" +SRC_URI[festival.sha256sum] = "8ea3a6f8ea301a37db5dbf4824e8e088adf4197f156a6c42e868af1b72d36488" +SRC_URI[CMU.md5sum] = "6a2ee4fed7c3ebedf197a3b8524ccb87" +SRC_URI[CMU.sha256sum] = "c19430919bca45d5368cd4c82af6153fbcc96a487ebd30b78b5f3c08718b7c07" +SRC_URI[POSLEX.md5sum] = "aa80f9250065b318325f16fdad3a4484" +SRC_URI[POSLEX.sha256sum] = "e7c6e3642dbd5b0d64942bc015a986fdd6244a79e51ec2e8309e63d569e49ea3" +SRC_URI[kallpc16k.md5sum] = "3869af78f473b616601cac3fa83cc14e" +SRC_URI[kallpc16k.sha256sum] = "7a357c34086fbba8b813f9750f6b5ba13e2a00478a0a2e78a97981cb76395578" + +S = "${WORKDIR}/${PN}" + +inherit autotools + +#disable parallel make (make -j), as festival cannot handle that +PARALLEL_MAKE = "" + +FILES_${PN} += "/usr/lib/audsp" + +do_configure_prepend() { + #point to speech-tools in sysroots + sed -i 's:EST=$(TOP)/../speech_tools:EST=${STAGING_DIR_TARGET}${datadir}/speech-tools:g' ${S}/config/config.in + + #exclude experimental includes + sed -i 's:ALSO_INCLUDE:#ALSO_INCLUDE:g' ${S}/config/config.in + + #fix hardcoded library path + sed -i 's:festival_libdir = FTLIBDIR:festival_libdir = "${datadir}/festival":g' ${S}/src/arch/festival/festival.cc +} + +do_configure_append() { + #suppress building of doc - generates error + sed -i 's:BUILD_DIRS = src lib examples bin doc:BUILD_DIRS = src lib examples bin:g' ${S}/Makefile + + #fix hardcoded bin path + sed -i 's:exec "$(FESTIVAL_HOME)/bin/festival:exec "${bindir}/festival:g' ${S}/examples/Makefile +} + +do_install() { + install -m 0755 -d ${D}${bindir} + install -m 0755 ${S}/bin/festival ${D}${bindir} + install -m 0755 ${S}/bin/festival_client ${D}${bindir} + install -m 0755 ${S}/bin/text2wave ${D}${bindir} + + install -m 0755 -d ${D}${libdir} + install -m 0644 ${S}/lib/etc/unknown_DebianGNULinux/audsp ${D}${libdir} + + install -m 0755 -d ${D}${datadir}/festival + install -m 0644 ${S}/lib/*scm ${D}${datadir}/festival + install -m 0644 ${S}/lib/*gram ${D}${datadir}/festival + install -m 0644 ${S}/lib/*grambin ${D}${datadir}/festival + install -m 0644 ${S}/lib/*dtd ${D}${datadir}/festival + install -m 0644 ${S}/lib/sable-latin.ent ${D}${datadir}/festival + install -m 0644 ${S}/lib/festival.el ${D}${datadir}/festival + install -m 0644 ${S}/lib/speech.properties ${D}${datadir}/festival + + install -m 0755 -d ${D}${datadir}/festival/multisyn + install -m 0644 ${S}/lib/multisyn/*scm ${D}${datadir}/festival/multisyn + + cp -a ${S}/lib/dicts ${D}${datadir}/festival + cp -a ${S}/lib/voices ${D}${datadir}/festival +} diff --git a/recipes-extended/speech-tools/speech-tools_2.3.bb b/recipes-extended/speech-tools/speech-tools_2.3.bb new file mode 100644 index 0000000..8179bd5 --- /dev/null +++ b/recipes-extended/speech-tools/speech-tools_2.3.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "The Edinburgh Speech Tools Library" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://README;md5=9fe1b4db906b7d75f821c72a358638fd" + +DEPENDS = "alsa-lib" + +SRC_URI = "http://tts.speech.cs.cmu.edu/awb/20130703/speech_tools-${PV}-current.tar.gz" +SRC_URI[md5sum] = "02863b3ead04a0ade65982a1f34a60bb" +SRC_URI[sha256sum] = "75e203402483b78de635943671aaf6f86cb6f9bf181fc84a931c2a560ade6a7c" + +S = "${WORKDIR}/speech_tools" + +inherit autotools + +do_configure_prepend() { + #force crosscompilation compiler + sed -i 's:CC=gcc:CC=${CC}:g' ${S}/config/compilers/gcc_defaults.mak + sed -i 's:CXX=gcc:CXX=${CC}:g' ${S}/config/compilers/gcc_defaults.mak +} + +do_install() { + install -m 0755 -d ${D}${bindir} + install -m 0755 ${S}/bin/* ${D}${bindir} + + install -m 0755 -d ${D}${libdir} + install -m 0644 ${S}/lib/libestools.a ${D}${libdir} + install -m 0644 ${S}/lib/libestbase.a ${D}${libdir} + install -m 0644 ${S}/lib/libeststring.a ${D}${libdir} +} + +SYSROOT_PREPROCESS_FUNCS += "speechtools_sysroot_preprocess" + +#stage speech_tools directories for usage by festival +speechtools_sysroot_preprocess() { + sysroot_stage_dir ${WORKDIR}/speech_tools/config ${STAGING_DIR_TARGET}${datadir}/${PN}/config + sysroot_stage_dir ${WORKDIR}/speech_tools/include ${STAGING_DIR_TARGET}${datadir}/${PN}/include + sysroot_stage_dir ${WORKDIR}/speech_tools/base_class ${STAGING_DIR_TARGET}${datadir}/${PN}/base_class + sysroot_stage_dir ${WORKDIR}/speech_tools/lib ${STAGING_DIR_TARGET}${datadir}/${PN}/lib +} diff --git a/recipes-ros/audio-common/audio-common-msgs_0.2.6.bb b/recipes-ros/audio-common/audio-common-msgs_0.2.6.bb new file mode 100644 index 0000000..8c9dc43 --- /dev/null +++ b/recipes-ros/audio-common/audio-common-msgs_0.2.6.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "Messages for transmitting audio via ROS" +SECTION = "devel" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=a3ae2ba3f0f44e61270955e8cd98afcf" + +DEPENDS += "message-generation" + +require audio-common.inc + +RRECOMMENDS_${PN} += "message-runtime" diff --git a/recipes-ros/audio-common/audio-common.inc b/recipes-ros/audio-common/audio-common.inc new file mode 100644 index 0000000..d1a5afb --- /dev/null +++ b/recipes-ros/audio-common/audio-common.inc @@ -0,0 +1,9 @@ +SRC_URI = "https://github.com/ros-drivers/${ROS_SPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_SP}.tar.gz" +SRC_URI[md5sum] = "26b6b9f852b0e20017c51fc98e229282" +SRC_URI[sha256sum] = "a41c52b337d1117bdcaa60a8a092629f07da9135c8df42954eb2e225a4ad307a" + +S = "${WORKDIR}/${ROS_SP}/${ROS_BPN}" + +inherit catkin + +ROS_SPN = "audio_common" diff --git a/recipes-ros/audio-common/sound-play_0.2.6.bb b/recipes-ros/audio-common/sound-play_0.2.6.bb new file mode 100644 index 0000000..3733868 --- /dev/null +++ b/recipes-ros/audio-common/sound-play_0.2.6.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "sound_play provides a ROS node that translates commands on a ROS topic \ +(robotsound) into sounds. The node supports built-in sounds, playing OGG/WAV files, \ +and doing speech synthesis via festival. C++ and Python bindings allow this node to be used \ +without understanding the details of the message format, allowing faster development and \ +resilience to message format changes." +SECTION = "devel" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=a3ae2ba3f0f44e61270955e8cd98afcf" + +DEPENDS += "roscpp roslib audio-common-msgs diagnostic-msgs" + +require audio-common.inc + +RRECOMMENDS_${PN} += "roscpp roslib audio-common-msgs diagnostic-msgs gst-plugins-base gst-plugins-ugly gst-plugins-good rospy festival python-gst gst-meta-audio"