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.

VoLIB TDU (DTMF+CP)

Hi there,

I am trying to make TDU identify three CP tones (dial tone, ringback and busy tone). Actually initial target is DTMF and CP detection together.

DTMF and CP detection works well but separately. However when I add dtmf between dial tone and ringback TDU cannot identify ringback properly. But other CP tones are detected without problems.

My audio tests are (8khz, 16-bit, u-law)

1. dialtone.pcm - fine

2. ringback.pcm - fine

3. busytone.pcm - fine

4. cp_full.pcm (dial, ringtone, busy) - fine

5. dtmf_cp.pcm (dial, dtmf, ringtone, busy) - ringtone is missed.

 

Question:

1. Is it possible to detect DTMF and CP tones with one TDU instance?

2. If so how to adjust TDU properly?

For test I am using TDU demo (Volib 2_1_0_1)

My settings:

  tbool overwrite_scr;       /* FALSE: Overwrite scratch buffers between calls */



tduSim.cfgCtl.u.cpt.startFreq = 300; tduSim.cfgCtl.u.cpt.endFreq = 700; tduControl (tduInst, tdu_CTL_CPT_ON, &tduSim.cfgCtl);

  • Stan,

    Your question does not seem to be TI-RTOS related.

    Are you using VoLib?  On which device?

  • I am using DSP/BIOS on 5535 core. The question is for VoLIB performance. If there is another place to post this question please suggest it.

    Thank you.

  • Stan,

    I have escalated your issue to a domain expert.  But he may not be able to respond for a few days...

  • Hi David,

    Thanks a lot. It is ok I can wait.

  • Stan,

    Can you send me the tone PCM examples you mentioned for us analysis?

    Regards, Eric

  • Hi, Eric

    Thank you for reply.

    Here is a pcm file I am interested to detect. It is a sequence  of dial-tone -> dtmf number -> ring-back ->busy tone. Actually I was unable to detect all events properly in this file.

    16-bit, mono, Fs-8000Hz, u-law.

    6471.TDU_TEST_FULL.zip

  • Hello Eric,

    Did you try to detect CP events from the file? The topic is still relevant for me.

    Thank you
  • With your file, I only have 10 digits detected. No other tones, let me know what is your observation.
    Regarsd, Eric
  • Here is the detection report:

    test started .....

    Tone: CPT : Event: ON, Time: 140 ms, Power: -10 dBm0, Frame: 178

    Tone: CPT : Event: OFF, Time: 0 ms, Power: -46 dBm0, Frame: 486

    Digit: "3" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 610

    Digit: "3" : Event: ON, Time: 30 ms, Power: -15 dBm0, Frame: 614

    Digit: "3" : Event: OFF, Time: 20 ms, Power: -1044 dBm0, Frame: 628

    Digit: "0" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 636

    Digit: "0" : Event: ON, Time: 30 ms, Power: -13 dBm0, Frame: 640

    Digit: "0" : Event: OFF, Time: 20 ms, Power: -1072 dBm0, Frame: 654

    Digit: "1" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 662

    Digit: "1" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 666

    Digit: "1" : Event: OFF, Time: 20 ms, Power: -1064 dBm0, Frame: 680

    Digit: "9" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 688

    Digit: "9" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 692

    Digit: "9" : Event: OFF, Time: 20 ms, Power: -1033 dBm0, Frame: 706

    Digit: "4" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 714

    Digit: "4" : Event: ON, Time: 30 ms, Power: -13 dBm0, Frame: 718

    Digit: "4" : Event: OFF, Time: 20 ms, Power: -1024 dBm0, Frame: 732

    Digit: "2" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 740

    Digit: "2" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 744

    Digit: "2" : Event: OFF, Time: 20 ms, Power: -1050 dBm0, Frame: 758

    Digit: "6" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 766

    Digit: "6" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 770

    Digit: "6" : Event: OFF, Time: 20 ms, Power: -1072 dBm0, Frame: 784

    Digit: "8" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 792

    Digit: "8" : Event: ON, Time: 30 ms, Power: -13 dBm0, Frame: 796

    Digit: "8" : Event: OFF, Time: 20 ms, Power: -1024 dBm0, Frame: 810

    Digit: "7" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 818

    Digit: "7" : Event: ON, Time: 30 ms, Power: -13 dBm0, Frame: 822

    Digit: "7" : Event: OFF, Time: 20 ms, Power: -1038 dBm0, Frame: 836

    Digit: "5" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 844

    Digit: "5" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 848

    Digit: "5" : Event: OFF, Time: 20 ms, Power: -1024 dBm0, Frame: 862

    Tone: CPT : Event: ON, Time: 140 ms, Power: -15 dBm0, Frame: 1263

    Tone: CPT : Event: ON, Time: 20 ms, Power: -9 dBm0, Frame: 1271

    Tone: CPT : Event: OFF, Time: 0 ms, Power: -49 dBm0, Frame: 1639

    Tone: CPT : Event: ON, Time: 140 ms, Power: -15 dBm0, Frame: 2463

    Tone: CPT : Event: ON, Time: 20 ms, Power: -9 dBm0, Frame: 2471

    Tone: CPT : Event: OFF, Time: 0 ms, Power: -49 dBm0, Frame: 2839

    Tone: CPT : Event: ON, Time: 140 ms, Power: -9 dBm0, Frame: 3665

    Tone: CPT : Event: OFF, Time: 0 ms, Power: -50 dBm0, Frame: 4039

    Tone: CPT : Event: ON, Time: 140 ms, Power: -10 dBm0, Frame: 4462

    Tone: CPT : Event: OFF, Time: 0 ms, Power: -49 dBm0, Frame: 4540

    So, any tones after 23 seconds (the last 3 tones) are not detected. My previous update was wrong.

    What is your observation?

    Regards, Eric

     

  • Eric,

    Thank you for update.

    With settings mentioned above I have this log:

    Tone: CPT : Event: ON, Time: 140 ms, Power: -10 dBm0, Frame: 184
    Tone: CPT : Event: OFF, Time: 0 ms, Power: -65 dBm0, Frame: 486

    Digit: "3" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 610
    Digit: "3" : Event: ON, Time: 30 ms, Power: -15 dBm0, Frame: 614
    Digit: "3" : Event: OFF, Time: 20 ms, Power: -1168 dBm0, Frame: 627

    Digit: "0" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 636
    Digit: "0" : Event: ON, Time: 30 ms, Power: -13 dBm0, Frame: 640
    Digit: "0" : Event: OFF, Time: 20 ms, Power: -1283 dBm0, Frame: 654

    Digit: "1" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 662
    Digit: "1" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 666
    Digit: "1" : Event: OFF, Time: 20 ms, Power: -1168 dBm0, Frame: 680

    Digit: "9" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 688
    Digit: "9" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 692
    Digit: "9" : Event: OFF, Time: 20 ms, Power: -1140 dBm0, Frame: 706

    Digit: "4" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 714
    Digit: "4" : Event: ON, Time: 30 ms, Power: -13 dBm0, Frame: 718
    Digit: "4" : Event: OFF, Time: 20 ms, Power: -1056 dBm0, Frame: 732

    Digit: "2" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 740
    Digit: "2" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 744
    Digit: "2" : Event: OFF, Time: 20 ms, Power: -1140 dBm0, Frame: 757

    Digit: "6" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 766
    Digit: "6" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 770
    Digit: "6" : Event: OFF, Time: 20 ms, Power: -1283 dBm0, Frame: 783

    Digit: "8" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 792
    Digit: "8" : Event: ON, Time: 30 ms, Power: -13 dBm0, Frame: 796
    Digit: "8" : Event: OFF, Time: 20 ms, Power: -1104 dBm0, Frame: 810

    Digit: "7" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 818
    Digit: "7" : Event: ON, Time: 30 ms, Power: -13 dBm0, Frame: 822
    Digit: "7" : Event: OFF, Time: 20 ms, Power: -1120 dBm0, Frame: 836

    Digit: "5" : Event: ALERT ON, Time: 15 ms, Power: -83 dBm0, Frame: 844
    Digit: "5" : Event: ON, Time: 30 ms, Power: -14 dBm0, Frame: 848
    Digit: "5" : Event: OFF, Time: 20 ms, Power: -1104 dBm0, Frame: 862

    Tone: CPT : Event: ON, Time: 140 ms, Power: -15 dBm0, Frame: 1263
    Tone: CPT : Event: ON, Time: 20 ms, Power: -9 dBm0, Frame: 1271

    Tone: CPT : Event: OFF, Time: 0 ms, Power: -49 dBm0, Frame: 1639
    Tone: CPT : Event: ON, Time: 140 ms, Power: -15 dBm0, Frame: 2463

    Tone: CPT : Event: ON, Time: 20 ms, Power: -9 dBm0, Frame: 2471
    Tone: CPT : Event: OFF, Time: 0 ms, Power: -49 dBm0, Frame: 2839

    So somehow my result even worse at the end.
  • And one more interesting thing. I have another pcm file where all tones (events) are successfully detected.  It consists of  the same tones but their order is different (ringback ->dialtone-> busytone-> dtmf). There is a small fake detect, but the rest is fine.

     Tone: CPT     :  Event:  ON,  Time:  140 ms,  Power:  -7 dBm0,  Frame: 662

     Tone: CPT     :  Event: OFF,  Time:    0 ms,  Power: -42 dBm0,  Frame: 1038

     Tone: CPT     :  Event:  ON,  Time:  140 ms,  Power: -11 dBm0,  Frame: 1863

     Tone: CPT     :  Event:  ON,  Time:   20 ms,  Power:  -5 dBm0,  Frame: 1871  ----- STRANGE

     Tone: CPT     :  Event: OFF,  Time:    0 ms,  Power: -48 dBm0,  Frame: 2239

     Tone: CPT     :  Event:  ON,  Time:  140 ms,  Power:  -7 dBm0,  Frame: 3062

     Tone: CPT     :  Event: OFF,  Time:    0 ms,  Power: -44 dBm0,  Frame: 3438

     Tone: CPT     :  Event:  ON,  Time:  140 ms,  Power: -10 dBm0,  Frame: 4324

     Tone: CPT     :  Event: OFF,  Time:    0 ms,  Power: -65 dBm0,  Frame: 4626

     Tone: CPT     :  Event:  ON,  Time:  140 ms,  Power:  -6 dBm0,  Frame: 5301

     Tone: CPT     :  Event: OFF,  Time:    0 ms,  Power: -51 dBm0,  Frame: 5379

     Tone: CPT     :  Event:  ON,  Time:  140 ms,  Power:  -6 dBm0,  Frame: 5501

     Tone: CPT     :  Event: OFF,  Time:    0 ms,  Power: -47 dBm0,  Frame: 5579

     Tone: CPT     :  Event:  ON,  Time:  140 ms,  Power:  -6 dBm0,  Frame: 5701

     Tone: CPT     :  Event: OFF,  Time:    0 ms,  Power: -46 dBm0,  Frame: 5779

     Tone: CPT     :  Event:  ON,  Time:  140 ms,  Power:  -6 dBm0,  Frame: 5902

     Tone: CPT     :  Event: OFF,  Time:    0 ms,  Power: -47 dBm0,  Frame: 5978

     Digit: "3"     :  Event: ALERT  ON,  Time:   20 ms,  Power: -83 dBm0,  Frame: 6071

     Digit: "3"     :  Event:  ON,  Time:   30 ms,  Power: -22 dBm0,  Frame: 6074

     Digit: "3"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6087

     Digit: "0"     :  Event: ALERT  ON,  Time:   15 ms,  Power: -83 dBm0,  Frame: 6096

     Digit: "0"     :  Event:  ON,  Time:   30 ms,  Power: -20 dBm0,  Frame: 6100

     Digit: "0"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6113

     Digit: "1"     :  Event: ALERT  ON,  Time:   15 ms,  Power: -83 dBm0,  Frame: 6122

     Digit: "1"     :  Event:  ON,  Time:   30 ms,  Power: -21 dBm0,  Frame: 6126

     Digit: "1"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6139

     Digit: "9"     :  Event: ALERT  ON,  Time:   15 ms,  Power: -83 dBm0,  Frame: 6148

     Digit: "9"     :  Event:  ON,  Time:   30 ms,  Power: -21 dBm0,  Frame: 6152

     Digit: "9"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6165

     Digit: "4"     :  Event: ALERT  ON,  Time:   15 ms,  Power: -83 dBm0,  Frame: 6174

     Digit: "4"     :  Event:  ON,  Time:   30 ms,  Power: -20 dBm0,  Frame: 6178

     Digit: "4"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6191

     Digit: "2"     :  Event: ALERT  ON,  Time:   20 ms,  Power: -83 dBm0,  Frame: 6201

     Digit: "2"     :  Event:  ON,  Time:   30 ms,  Power: -22 dBm0,  Frame: 6204

     Digit: "2"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6217

     Digit: "6"     :  Event: ALERT  ON,  Time:   15 ms,  Power: -83 dBm0,  Frame: 6226

     Digit: "6"     :  Event:  ON,  Time:   30 ms,  Power: -22 dBm0,  Frame: 6230

     Digit: "6"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6243

     Digit: "8"     :  Event: ALERT  ON,  Time:   15 ms,  Power: -83 dBm0,  Frame: 6252

     Digit: "8"     :  Event:  ON,  Time:   30 ms,  Power: -20 dBm0,  Frame: 6256

     Digit: "8"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6269

     Digit: "7"     :  Event: ALERT  ON,  Time:   15 ms,  Power: -83 dBm0,  Frame: 6278

     Digit: "7"     :  Event:  ON,  Time:   30 ms,  Power: -20 dBm0,  Frame: 6282

     Digit: "7"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6295

     Digit: "5"     :  Event: ALERT  ON,  Time:   15 ms,  Power: -83 dBm0,  Frame: 6304

     Digit: "5"     :  Event:  ON,  Time:   30 ms,  Power: -21 dBm0,  Frame: 6308

     Digit: "5"     :  Event: OFF,  Time:   20 ms,  Power: -1283 dBm0,  Frame: 6321

    3438.st_test.zip

  • Can you specify what is the platform? C55x, C64x+, C66x? COFF or ELF? Rel 2.1.0.1?
  • For testing purposes I am using TMS320C5515EVM.
    So it is:
    CCS 5.5,
    C5515,
    COFF,
    volib_C55_2_1_0_1 CPU3
  • IN the previous test, I used C66x package. Then I tried C55x volib_C55_2_1_0_1 CPU3, I saw the same issue as you did. I will open a ticket and track it.
    Regards, Eric
  • Many thanks) I appreciate it.

  • Hi Eric,

    Is there any news?
  • Stan,

    I haven't get any update when this can be fixed yet. As you might know, the last VoLIB was released in 2013, it was not an actively developed project. So, the expectation is that there need some time for this to be resolved. Sorry for this!

    Regards, Eric

     

  • Eric,

    Thank you. It is OK. I just want to make sure that question is still there.
  • Hi Eric,

    How long it might take to get an answer? The issue has not been resolved and I still hope to get a solution.

    Thank you
  • Stan,

    Sorry, Volib is our legacy product. In this month, we may have a meeting to discuss when will be the next release. I don't have an answer at this moment but will keep you updated.

    Regards, Eric

     

  • Eric,

    Thank you for updating. Hope next release will come soon.