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.

Speech codec transcoding on DSPC 8681E

Hi,

I am trying to run speech codec transcoding  by for following setup:

Platform: Advantech DSPC 8681E

OS: Ubuntu 12.04, kernel 3.8.0-29

Environment setup: http://processors.wiki.ti.com/index.php/MCSDK_VIDEO_2.1_Linux_Getting_Started_Guide

  1. Install the Desktop Linux SDK 1.0.3.0
  2. Install Required Linux Packages
  3. Install the BIOS MCSDK 2.1.2.6
  4. Install the MCSDK Video 2.2.0.45

Downloaded all speech codec from: http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C6X_Speech/2_00_000/index_FDS.html but the sprt661.pdf mentions many other codecs. Where can we obtain them from?  

Also requires the steps to run these codecs and to perform transcoding as I found  there is no such demo directory for speech like it's present for video transcoding.

Please find another query asked: https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/438747

Thanks and Regards

  • Hi,

    Please refer below e2e post for downloading codecs,

    Thank you.

  • Hi,

    The link suggested by you is directing us to video codecs but our main interest is voice codecs those mentioned in sprt661.pdf.
    As mentioned in the first post, we have already downloaded voice codecs from the link but are they the correct codecs for DSPC 8681E?
    (Because we find that associating documents are referring to C64X+. Also folder structure of the downloaded codec package not matching with description in the documents.) Please reply.

    Thanks and Regards
  • As mentioned in the first post, we have already downloaded voice codecs from the link but are they the correct codecs for DSPC 8681E?

    Yes it should support DSPC8681E because it is based on C66xx DSP's.

    I am checking with internal experts, they will get back to you with more information. Thank you.
  • I got below informaiton from expert:
    The voice codecs mentioned in sprt661.pdf are not freely available for download. Only few are available.
    As you mentioned in the post, though these binaries are built for C64x+, they will link and work fine for C66x platforms.

    Thank you.
  • Hi,

    Thank you for your quick reply, really appreciate that.

    The other thing that we wanted to know are:
    1)The provided document(for example G711_Codec_C64XPLUS_UserGuide_2_00_00_000.pdf) mentions about building and running codec using CCS for windows, but we want to run it without using CCS on Linux, is it possible, if yes then where can we find steps for the same?

    2)Also need to know whom to contact for the codecs that are not freely available, can you please provide the details of contact person?

    3) We are using 2GB RAM machine, will it affect the performance?

    Thanks for all your support so far.
  • The G.711 codec can be compiled in CCS on Linux as well. I am not sure if the CCS project in Windows can be imported into Linux, if not, you need to find out what source code, library and paths used in Windows, then create same project in Linux.

    From those codecs that are not free download, you need to contact local TI marketing, sales or FAE to request them.

    Regards, Eric

  • Those codecs run on DSP, not the RAM of your PC. The performance of codec will not be affected by your PC RAM.
    Regards, Eric
  • Hi Eric,

    Thanks for your reply but our query is still unanswered, we actually don't want to use CCS, we want to compile and run the codecs using command line.
    Can you please provide us steps to run all the speech codecs through command line?
    (It's looks like the documents provided along with the codecs are not updated for C66X).

    Regards.
  • You have to look at the user guide for each speech codecs. Some earlier C64x+ uses the makefile/command line, later C66x uses CCS project as it is more convienent. There is no command line or makefile support for those newer codecs. You can use CCS to import the project and build.

    Regards, Eric

  • Hi Eric,

    We have gone through the make file available with the codecs downloaded, it includes only two commands i.e. make clean and make all, if we run make all it just compresses the particular codec directory, there is no such command for the execution of codecs. As well as there is no CCS project file available in the downloaded codecs that can be used for importing.

    As far as CCS is concerned, we are using CCS v6, in that we didn't found any option to connect with DSPC8681E.

    Can you please check codecs from: http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C6X_Speech/2_00_000/index_FDS.html  and guide us how to proceed for the same. Also please provide us exact version of CCS that supports DSPC8681E. 

    Thanks and Regards.

  • I too have same query as Shashwat:
    Hi Eric,

    We have gone through the make file available with the codecs downloaded, it includes only two commands i.e. make clean and make all, if we run make all it just compresses the particular codec directory, there is no such command for the execution of codecs. As well as there is no CCS project file available in the downloaded codecs that can be used for importing.

    As far as CCS is concerned, we are using CCS v6, in that we didn't found any option to connect with DSPC8681E.

    Can you please check codecs from: software-dl.ti.com/.../index_FDS.html and guide us how to proceed for the same. Also please provide us exact version of CCS that supports DSPC8681E.



    Thanks and Regards.
  • Hi

    Your replies have been very helpful so far.

    Could you please reply to this query too?

    What combination of packages we should install apart from the one mentioned above threads?

    Have we missed something? If yes, how to find it out?

    We want to demonstrate our team that TI platform speech codec integration & development is easy & interesting, same as video codecs.

    Could you please reply?

    Thanks and regards,

  • You need external XDS560v2 emulator to connect and debug with DSP of DSPC8681E using CCS.

    www.spectrumdigital.com/product_info.php

    I think, the XDS560 is supported in CCSv5 and above.

    Thank you.
  • My goal is just only evaluate the speech codecs. I have DSPC8681E EVM. Haven't purchased any emulator.

    First thing is to simply run the codec, for ex. G.711 a-law. Input will be a wav file, output be encoded values stored in a file. That simple would be my attempt.

    How can I do this simple step?



    Second, I optimize (C language code of) the G.711 encoder, or write a transcoder myself, then I want to build and run on DSPC8681E.

    How can I do this? Can I do it with just CCS? Without emulator? (FYI: DSPC8681E is connected to Host at PCI.)

    How to understand the folder structure (ti.sdo.codecs.. etc etc) of codecs well?

    Any video tutorials which demonstrates step-by-step about how to run these speech codecs on DSPC 8681E?



    Useful info for your perusal:

    Platform: Advantech DSPC 8681E

    OS: Ubuntu 12.04, kernel 3.8.0-29

    Desktop Linux SDK 1.0.3.0

    BIOS MCSDK 2.1.2.6

    MCSDK Video 2.2.0.45

    CCSv5 (ccs_base_5.0.3.00028)



    Thank you,

    Basawaraj
  • A1. For speech codec, you need to look at the user guide inside the package. It has the steps how to build/run the test application, then it reads in a PCM file and encodes it and compares with the reference.

    A2. The TI codec already has been optimized, what you download is the library and test application code. The source code for the library is not available for publich download, I don't know what you mean to optimize yourself. 
    Typically the codec application is built by makefile, some newer codecs also provided an CCS project you can directly import then build. If you don't have an emulator to access the card, you can use CCS C66x simulator for this purpose.

    Regards, Eric

  • Thank you.
    I see that the user guide is, G711_Codec_C64XPLUS_UserGuide_2_00_00_000.pdf.
    In that, section "2.3 Building and Running the Test Application" is blank.
    Any other section in the doc, where I can get the steps how to build/run the test application?

    I tried steps in section "2.5.2 Building the test application and running it" on Ubuntu 12.04, kernel 3.8.0-29:
    (In makefile, I modified XDC_INSTALL_DIR, CE_INSTALL_DIR and XDAIS_INSTALL_DIR and ran "$make JOULE=YES ABI=EABI" and got)

    ========================================================================================================
    "/home/alice/ti/xdctools_3_23_04_60/xdc" XDCOPTIONS= --xdcpath="/home/alice/ti/codec_engine_3_24_00_08/packages;/home/alice/ti/codec_engine_3_24_00_08/cetools/packages" release
    making package.mak (because of package.bld) ...
    Warning: no config.bld file was found along the package path.
    The config.bld file specifies the location of the
    compiler tool-chains required to compile runtime content.
    Without this file, the XDC tools assume no targets are to be
    used.
    generating interfaces for package ti.sdo.codecs.g711adec (because package/package.xdc.inc is older than package.xdc) ...
    translating G711ADEC
    "xdc/runtime/Types.xdc", line 236: can't resolve name (CString)
    error: compilation of package.xdc failed: parser failed
    gmake: *** [package/package.xdc.inc] Error 1
    gmake: *** [package/package.xdc.inc] Deleting file `package/package.defs.h'
    gmake: *** [package/package.xdc.inc] Deleting file `package/package_ti.sdo.codecs.g711adec.c'
    make: *** [all] Error 2

    ================================================================================================================


    What am I missing, so that make failed? (The makefile contained Windows paths, I modified them, what else to be modified to run the make successfully?)

    (xdc & codec engine versions I'm using are hopefully compatible. Please confirm.)

    G711 codec certainly doesn't have CCS project. Please confirm.

    I understand that library "g711adec_tii_elf.l64P" in the package is ELF format, so section 2.6 in the UserGuide is not applicable.

    For writing transcode application, can I do it using CCSv5(ccs_base_5.0.3.00028)? (What you recommend for DSPC8681E, C6678?)
    If CCSv5 is ok, then what project to be selected in ccs > Alt+F > New > Project? "General" OR "C/C++" OR "CCS" OR "RTSC Wizards"?

    Thank you once again,
    Basawaraj

  • I could get over:

    =====================
    "xdc/runtime/Types.xdc", line 236: can't resolve name (CString)
    error: compilation of package.xdc failed: parser failed
    =====================

    by replacing CString by String at several places in several *.xdc files.

    But, make is generating only *.zip file.
    *.out file not generated anywhere.
  • I mean:
    *.out file not generated anywhere as told in first line of page 2-4 of the user guide G711_Codec_C64XPLUS_UserGuide_2_00_00_000.pdf.
  • Hi,

    What is the meaning of this part of the error:

    ========================================================================================================
    "/home/alice/ti/xdctools_3_23_04_60/xdc" XDCOPTIONS= --xdcpath="/home/alice/ti/codec_engine_3_24_00_08/packages;/home/alice/ti/codec_engine_3_24_00_08/cetools/packages" release
    making package.mak (because of package.bld) ...
    Warning: no config.bld file was found along the package path.
    ========================================================================================================

    Does it mean that path of config.bld is to specified somewhere? (If yes, where & how?)
    Does it mean that any package (other than BIOS MCSDK, MCSDK Video, Desktop Linux SDK) is required & I've missed installing it?

    Please reply.
  • If you want detailed console output to better understand, here it is:

    ===================
    root@alice-Precision-T1700:/home/alice/ti_audio2/G711/ti/sdo/codecs/g711adec# make JOULE=YES ENDIAN=BIG ABI=EABI
    "/home/alice/ti_audio2/xdctools_3_23_04_60/xdc" XDCOPTIONS= --xdcpath="/home/alice/ti_audio2/codec_engine_3_24_00_08/packages;/home/alice/ti_audio2/codec_engine_3_24_00_08/cetools/packages" release
    making package.mak (because of package.bld) ...
    Warning: no config.bld file was found along the package path.
    The config.bld file specifies the location of the
    compiler tool-chains required to compile runtime content.
    Without this file, the XDC tools assume no targets are to be
    used.
    generating interfaces for package ti.sdo.codecs.g711adec (because package/package.xdc.inc is older than package.xdc) ...
    translating G711ADEC
    all files complete.
    generating schema include file list ...
    generating external package references package/package.ext.xml ...
    generating package references graph package/package.rel.dot ...
    making release file ti_sdo_codecs_g711adec.zip (because of package/rel/ti_sdo_codecs_g711adec.xdc.inc) ...
    ===================

    End result of it is *.zip file.
    What is expected is, *.out.

    (Hope this info is sufficient to reply)

    (Let me know if you need more info)
  • Shashwat-

    We were able to get remarkable performance figures with TI speech codecs on c6678:

      NFV Transcoding

    The test setup described on that wiki uses Advantech 32-core and 64-core cards.

    -Jeff
    Signalogic

  • Hi,

    we are facing similar issue , not able to run G711 decoder on DSPC8681E.

    although I am able to compile it on ccs v6 but not able run this .out file

    can anyone help me out how can we do this.

    Thanks,

    Ajita