diff --git a/recipes-extended/festival/festival_2.3.bb b/recipes-extended/festival/festival_2.3.bb
new file mode 100644
index 0000000000000000000000000000000000000000..f1d07cd80099d909dfed49fdb7df8b2eeaa976ca
--- /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 0000000000000000000000000000000000000000..8179bd52ac75293c1d161c3a48bc87e63bf40864
--- /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 0000000000000000000000000000000000000000..8c9dc43fc2469d79f1a723fd81ba8ccac020f7e4
--- /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 0000000000000000000000000000000000000000..d1a5afb001ab78739647d0ded4238486b02deb96
--- /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 0000000000000000000000000000000000000000..3733868586e284e9f36005d5dcb1e1e3a4c85ddb
--- /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 \
+(<tt>robotsound</tt>) 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"