Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

"wakeWordAgent: No such file or directory"が表示されてAlexaが応答しない

More than 3 years have passed since last update.

概要

RaspberryPi + AVS(Alexa Voice Service)で音声応答機能のコンパイルエラーが出て最初使えませんでしたが、パッチを適用したら解決しました。

結論だけ知りたい人は

https://github.com/alexa/alexa-avs-sample-app/issues/329

環境

本体

  • Raspberry Pi 2 Model B

デバイス

RaspberryPiへのAVS導入

ここを参照

Alexaと呼びかけたいけどできない

Listenボタンは機能するけどAlexa!という呼びかけに応答させるため以下のコマンドを実行しても"wakeWordAgent: No such file or directory"と表示されて起動しない。

cd ~/Desktop/alexa-avs-sample-app/samples
cd wakeWordAgent/src && ./wakeWordAgent -e sensory

インストールプロセスをよく見る

Wake Word Agentのコンパイルエラーを吐いていた。

cd ~/Desktop/alexa-avs-sample-app
. automated_install.sh
------------------------------
(中略)
Scanning dependencies of target wakeWordAgentTest
[ 10%] Building CXX object CMakeFiles/wakeWordAgentTest.dir/testLogger.cpp.o
[ 10%] Building CXX object CMakeFiles/wakeWordAgentTest.dir/main.cpp.o
[ 15%] Building CXX object CMakeFiles/wakeWordAgentTest.dir/testKittAi.cpp.o
[ 20%] Building CXX object CMakeFiles/wakeWordAgentTest.dir/testIPCFactory.cpp.o
In file included from /home/pi/Desktop/alexa-avs-sample-app/samples/wakeWordAgent/tst/../src/KittAiSnowboyWakeWordEngine.h:19:0,
                 from /home/pi/Desktop/alexa-avs-sample-app/samples/wakeWordAgent/tst/testKittAi.cpp:15:
/home/pi/Desktop/alexa-avs-sample-app/samples/wakeWordAgent/tst/../src/PortAudioWrapper.h:17:27: fatal error: pa_ringbuffer.h: そのようなファイルやディレクトリはありません
 #include "pa_ringbuffer.h"
                           ^
compilation terminated.
[ 25%] Building CXX object CMakeFiles/wakeWordAgentTest.dir/testSensory.cpp.o
CMakeFiles/wakeWordAgentTest.dir/build.make:110: recipe for target 'CMakeFiles/wakeWordAgentTest.dir/testKittAi.cpp.o' failed
make[2]: *** [CMakeFiles/wakeWordAgentTest.dir/testKittAi.cpp.o] Error 1
make[2]: *** 未完了のジョブを待っています....
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/wakeWordAgentTest.dir/all' failed
make[1]: *** [CMakeFiles/wakeWordAgentTest.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

対策

ここに載っている。

just add portaudio.patch to alexa-avs-sample-app/samples/wakeWordAgent/kitt_ai/snowboy/examples/C++/patches/

詳細

mkdir ~/Desktop/alexa-avs-sample-app/samples/wakeWordAgent/kitt_ai/snowboy/examples/C++/patches/
cd ~/Desktop/alexa-avs-sample-app/samples/wakeWordAgent/kitt_ai/snowboy/examples/C++/patches/
vim portaudio.patch
portaudio.patch
--- Makefile.in 2016-01-09 14:05:04.096356637 -0500
+++ Makefile_new.in 2016-01-09 14:04:56.667925681 -0500
@@ -193,6 +193,8 @@
    for include in $(INCLUDES); do \
        $(INSTALL_DATA) -m 644 $(top_srcdir)/include/$$include $(DESTDIR)$(includedir)/$$include; \
    done
+   $(INSTALL_DATA) -m 644 $(top_srcdir)/src/common/pa_ringbuffer.h $(DESTDIR)$(includedir)/$$include
+   $(INSTALL_DATA) -m 644 $(top_srcdir)/src/common/pa_util.h $(DESTDIR)$(includedir)/$$include
    $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
    $(INSTALL) -m 644 portaudio-2.0.pc $(DESTDIR)$(libdir)/pkgconfig/portaudio-2.0.pc
    @echo ""
--- configure   2016-03-08 18:00:08.000000000 -0800
+++ configure_new   2016-03-08 17:59:21.000000000 -0800
@@ -15787,7 +15787,7 @@
         $as_echo "#define PA_USE_COREAUDIO 1" >>confdefs.h


-        CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix -Werror"
+        CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix -Wall"
         LIBS="-framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon"

         if test "x$enable_mac_universal" = "xyes" ; then
@@ -15819,8 +15819,17 @@
               elif xcodebuild -version -sdk macosx10.9 Path >/dev/null 2>&1 ; then
                  mac_version_min="-mmacosx-version-min=10.4"
                  mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.9 Path`"
+              elif xcodebuild -version -sdk macosx10.10 Path >/dev/null 2>&1 ; then
+                 mac_version_min="-mmacosx-version-min=10.4"
+                 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.10 Path`"
+              elif xcodebuild -version -sdk macosx10.11 Path >/dev/null 2>&1 ; then
+                 mac_version_min="-mmacosx-version-min=10.4"
+                 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.11 Path`"
+              elif xcodebuild -version -sdk macosx10.12 Path >/dev/null 2>&1 ; then
+                 mac_version_min="-mmacosx-version-min=10.4"
+                 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.12 Path`"
               else
-                 as_fn_error $? "Couldn't find 10.5, 10.6, 10.7, 10.8 or 10.9 SDK" "$LINENO" 5
+                 as_fn_error $? "Couldn't find 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11 or 10.12 SDK" "$LINENO" 5
               fi
            esac

その後、再度インストールスクリプトを実行するとコンパイルが成功し、マイクに向かってAlexaと呼んだら応答してくれるようになりました。

mongamae-nioh
ダイレクトマーケティングエージェンシーでインフラエンジニア兼チームのマネジメントをしています。
https://www.fusion.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away