This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Customize the trigger phrase on C5535 eZdsp voice Reco TI design

Hello,

I am currently using the Speech Recognition Reference Design on the C5535 eZdsp™ and trying to customize the trigger phrase as described in the TI design document (www.ti.com/lit/ug/tidubj5a/tidubj5a.pdf).

And when executing “$make LinuxDebugGnu” in Ubuntu environment I get the following error “/usr/bin/ld: can not find –lasound”.

Could you tell what should be done to solve this issue?

It sounds like that –lasound is linked to libasound/alsa library …

Thank you

Best regards,

Guillaume

  • Guillaume,

    Could you please try to install the package libasound2-dev and try to build?

    Lali

  • Hello Lali,

    Thanks for your answer - I installed the libasound2-dev in my ubuntu environment and the error was still the same - consequently I also installed the alsa lib .

    It sounds like it solves the "/usr/bin/ld: can not find –lasound” issue but a new error came up - please see attached the corresponding log


    Q1 : could you have a look on the attached log and tell me what could be missing?

    Q2 : I did not see any mention of Alsa installation need in the TI design document - is here any document listing all ubuntu library/packages/... that need to be installed on top of usual ubuntu setup?

    Thank you

    Best regards,

    Guillaume

    Makefile_error_log01.txt
    guillaume@GB-BACE-3150:~/TIesr_model_build$ make LinuxDebugGnu
    cd TIesrFA/TIesrFA_ALSAso && make SUB=no CONF=LinuxDebugGnu  build
    make[1]: Entering directory '/home/guillaume/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    "make" -f nbproject/Makefile-LinuxDebugGnu.mk QMAKE= SUBPROJECTS=NO .build-conf
    make[2]: Entering directory '/home/guillaume/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    "make"  -f nbproject/Makefile-LinuxDebugGnu.mk ../../Dist/LinuxDebugGnu/lib/libTIesrFA_ALSA.so.1
    make[3]: Entering directory '/home/guillaume/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    make[3]: '../../Dist/LinuxDebugGnu/lib/libTIesrFA_ALSA.so.1' is up to date.
    make[3]: Leaving directory '/home/guillaume/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    make[2]: Leaving directory '/home/guillaume/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    if [ LinuxDebugGnu == LinuxDebugGnu -o \
    LinuxDebugGnu == LinuxReleaseGnu -o \
    LinuxDebugGnu == ArmLinuxDebugGnueabi -o \
    LinuxDebugGnu == ArmLinuxReleaseGnueabi ]; \
    then cd ../../Dist/LinuxDebugGnu/lib; \
    rm -f libTIesrFA_ALSA.so; \
    ln -s libTIesrFA_ALSA.so.1 libTIesrFA_ALSA.so; \
    fi
    /bin/sh: 1: [: LinuxDebugGnu: unexpected operator
    make[1]: Leaving directory '/home/guillaume/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    cd TIesrFA/TestTIesrFA && make SUB=no CONF=LinuxDebugGnu  build
    make[1]: Entering directory '/home/guillaume/TIesr_model_build/TIesrFA/TestTIesrFA'
    make -f nbproject/Makefile-LinuxDebugGnu.mk SUBPROJECTS=NO .build-conf
    make[2]: Entering directory '/home/guillaume/TIesr_model_build/TIesrFA/TestTIesrFA'
    make  -f nbproject/Makefile-LinuxDebugGnu.mk ../../Dist/LinuxDebugGnu/bin/testtiesrfa
    make[3]: Entering directory '/home/guillaume/TIesr_model_build/TIesrFA/TestTIesrFA'
    mkdir -p ../../Dist/LinuxDebugGnu/bin
    g++ -v    -v -o ../../Dist/LinuxDebugGnu/bin/testtiesrfa build/LinuxDebugGnu/GNU_current-Linux-x86/_ext/_DOTDOT/src/TestTIesrFA.o -L../../Dist/LinuxDebugGnu/lib -Wl,-rpath `pwd`/../../Dist/LinuxDebugGnu/lib -lTIesrFA_ALSA 
    Using built-in specs.
    COLLECT_GCC=g++
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
    Target: x86_64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.3.1-14ubuntu2.1' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
    Thread model: posix
    gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1) 
    COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/
    LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/
    COLLECT_GCC_OPTIONS='-v' '-v' '-o' '../../Dist/LinuxDebugGnu/bin/testtiesrfa' '-L../../Dist/LinuxDebugGnu/lib' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
     /usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/cctJmXsE.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o ../../Dist/LinuxDebugGnu/bin/testtiesrfa /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o -L../../Dist/LinuxDebugGnu/lib -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. build/LinuxDebugGnu/GNU_current-Linux-x86/_ext/_DOTDOT/src/TestTIesrFA.o -rpath /home/guillaume/TIesr_model_build/TIesrFA/TestTIesrFA/../../Dist/LinuxDebugGnu/lib -lTIesrFA_ALSA -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o
    /usr/bin/ld: cannot find -lTIesrFA_ALSA
    collect2: error: ld returned 1 exit status
    nbproject/Makefile-LinuxDebugGnu.mk:57: recipe for target '../../Dist/LinuxDebugGnu/bin/testtiesrfa' failed
    make[3]: *** [../../Dist/LinuxDebugGnu/bin/testtiesrfa] Error 1
    make[3]: Leaving directory '/home/guillaume/TIesr_model_build/TIesrFA/TestTIesrFA'
    nbproject/Makefile-LinuxDebugGnu.mk:54: recipe for target '.build-conf' failed
    make[2]: *** [.build-conf] Error 2
    make[2]: Leaving directory '/home/guillaume/TIesr_model_build/TIesrFA/TestTIesrFA'
    nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
    make[1]: *** [.build-impl] Error 2
    make[1]: Leaving directory '/home/guillaume/TIesr_model_build/TIesrFA/TestTIesrFA'
    Makefile:126: recipe for target 'TestTIesrFA' failed
    make: *** [TestTIesrFA] Error 2
    
    

  • Guillaume,

    Sorry that you are having trouble with building. Your user experience is invaluable to improving the TI design as more people try the package in the wild. I took a look at your log and it shows that you are missing -lTIesrFA_ALSA. This is typically built in the make process.

    Could you please try to build the individual package?

    $make LinuxDebugGnu PROJECTS='TIesrFA_ALSAso'

    This should build the ALSA libraries under /TIesr_model_build/Dist/LinuxDebugGnu/libTIesrFA_ALSA.so and libTIesrFA_ALSA.so.1

    Then try $make LinuxDebugGnu to see if the error goes away.

    Please note that there is a readme under /TIesr_model_build/Documentation/ReadMeFirst.txt with package details that would shed more info on the dependencies. Another important delta between our setups is the compiler version.

    I'm on: gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

    I noticed that you are on: gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1) 

    I don't know what the impact of the compiler differences might be, but just thought I mention it in case it helps. Please keep me posted in your findings so that the TI design document can be improved if needed. Thanks!

    Lali

  • Hi TI Experts,

    I met the same problem.
    Please provide your advice in order to resolve them.
    I run the "make LinuxDebugGnu PROJECTS='TIesrFA_ALSAso'" command, and re-run the "make LinuxDebugGnu. But it could not build.
    And I attached the log file as below when I ran the commands.

    6433.log.txt
    cd TIesrFA/TIesrFA_ALSAso && make SUB=no CONF=LinuxDebugGnu  build
    make[1]: Entering directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    "make" -f nbproject/Makefile-LinuxDebugGnu.mk QMAKE= SUBPROJECTS=NO .build-conf
    make[2]: Entering directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    "make"  -f nbproject/Makefile-LinuxDebugGnu.mk ../../Dist/LinuxDebugGnu/lib/libTIesrFA_ALSA.so.1
    make[3]: Entering directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    make[3]: '../../Dist/LinuxDebugGnu/lib/libTIesrFA_ALSA.so.1' is up to date.
    make[3]: Leaving directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    make[2]: Leaving directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    if [ LinuxDebugGnu == LinuxDebugGnu -o \
    LinuxDebugGnu == LinuxReleaseGnu -o \
    LinuxDebugGnu == ArmLinuxDebugGnueabi -o \
    LinuxDebugGnu == ArmLinuxReleaseGnueabi ]; \
    then cd ../../Dist/LinuxDebugGnu/lib; \
    rm -f libTIesrFA_ALSA.so; \
    ln -s libTIesrFA_ALSA.so.1 libTIesrFA_ALSA.so; \
    fi
    make[1]: Leaving directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    

    0247.log2.txt
    cd TIesrFA/TIesrFA_ALSAso && make SUB=no CONF=LinuxDebugGnu  build
    make[1]: Entering directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    "make" -f nbproject/Makefile-LinuxDebugGnu.mk QMAKE= SUBPROJECTS=NO .build-conf
    make[2]: Entering directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    "make"  -f nbproject/Makefile-LinuxDebugGnu.mk ../../Dist/LinuxDebugGnu/lib/libTIesrFA_ALSA.so.1
    make[3]: Entering directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    make[3]: '../../Dist/LinuxDebugGnu/lib/libTIesrFA_ALSA.so.1' is up to date.
    make[3]: Leaving directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    make[2]: Leaving directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    if [ LinuxDebugGnu == LinuxDebugGnu -o \
    LinuxDebugGnu == LinuxReleaseGnu -o \
    LinuxDebugGnu == ArmLinuxDebugGnueabi -o \
    LinuxDebugGnu == ArmLinuxReleaseGnueabi ]; \
    then cd ../../Dist/LinuxDebugGnu/lib; \
    rm -f libTIesrFA_ALSA.so; \
    ln -s libTIesrFA_ALSA.so.1 libTIesrFA_ALSA.so; \
    fi
    make[1]: Leaving directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TIesrFA_ALSAso'
    cd TIesrFA/TestTIesrFA && make SUB=no CONF=LinuxDebugGnu  build
    make[1]: Entering directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TestTIesrFA'
    make -f nbproject/Makefile-LinuxDebugGnu.mk SUBPROJECTS=NO .build-conf
    make[2]: Entering directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TestTIesrFA'
    make  -f nbproject/Makefile-LinuxDebugGnu.mk ../../Dist/LinuxDebugGnu/bin/testtiesrfa
    make[3]: Entering directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TestTIesrFA'
    mkdir -p ../../Dist/LinuxDebugGnu/bin
    g++ -v    -v -o ../../Dist/LinuxDebugGnu/bin/testtiesrfa build/LinuxDebugGnu/GNU_current-Linux-x86/_ext/_DOTDOT/src/TestTIesrFA.o -L../../Dist/LinuxDebugGnu/lib -Wl,-rpath `pwd`/../../Dist/LinuxDebugGnu/lib -lTIesrFA_ALSA 
    nbproject/Makefile-LinuxDebugGnu.mk:57: recipe for target '../../Dist/LinuxDebugGnu/bin/testtiesrfa' failed
    make[3]: Leaving directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TestTIesrFA'
    nbproject/Makefile-LinuxDebugGnu.mk:54: recipe for target '.build-conf' failed
    make[2]: Leaving directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TestTIesrFA'
    nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
    make[1]: Leaving directory '/home/user/Downloads/tidcbz3/TIesr_src/TIesr_model_build/TIesrFA/TestTIesrFA'
    Makefile:126: recipe for target 'TestTIesrFA' failed
    

    If you have any questions, please let me know.

    Best regards.
    Kaka

  • Kaka-san,

    Did you see this thread previously e2e.ti.com/.../509625

    "And also, I had to fix makefiles from TIesrDictoso, TIesrDTso, TIesrEngineCoreso, TIesrEngineSIso, TIesrFA_ALSAso, TIesrFlexso and TIesrSIso in order to execute make LinuxDebugGnu successfully. I erased one = sign from all if parts of makefiles, because that's how shell programming works. And I had to add -lpthread to \TIesr_model_build\TIesrSI\TestTIesrSI\nbproject\Makefile-LinuxDebugGnu.mk."

    Did this suggestion work for you?

    Lali
  • Hi Lali,

    I could pass the build with your method. Thank you for support.
    By the way, the LCD showed the _FiLL on screen. When used the default build image, it did not showed this word on screen.
    Regarding to the E2E thread in previous post, "The _Fill typically appears when a word other than the trigger word is detected. This includes any ambient noise around the mic. So, its normal to see _FIll when any unrecognized word is seen."
    But I would like to know the reason why this there is difference between pre-build image and our build image.

    Best regards.
    Kaka
  • Hi Lali,

    I followed the steps in the ReadMeFirst.txt,but encountered the same problem.First,i built the TIesrDT API by the following order: make LinuxDebugGnu PROJECTS='TIesrDTso',everything was ok.Then i built the TestTIesrDT by the same order,but this time a error occured(attached are the details).

    Why this problem occured?Because i did not fix the makefile from TIesrDTso ?

    About fixing the makefile,i am puzzled.How to fix it?Just erase one = from the if part of the makefile as i did as followed:

    My understanding is right?

    Another question is how to add -lpthread to \TIesr_model_build\TIesrSI\TestTIesrSI\nbproject\Makefile-LinuxDebugGnu.mk?

    Forgive me ,I am a newbie in Linux.

    Best Regards,

    Eric

  • Hi Lali,

    One more question.

    According to the TIesr_src\TIesr_model_build\Data\ReadMe.txt,there are three sub-directories in the directory of Data,OffDT_GenDictPhbVR_LE_MQ , AudioDir and GramDir .But in the Data directory i can just find two sub-dirictories named filler_model and Gramdir.What is the reason of this situation?

    And there is also not the TestTIesrDTWords.txt in this directory that will be used to run the TestTIesrDict program.

     Best regards,

    Eric