Project management of NTIS P1 Cybernetic Systems and Department of Cybernetics | WiKKY

Project

General

Profile

Actions

Task #4211

closed

Task #3677: RA3b - Phonetically justified parameters (spectral tilt, ...)

Task #3970: Formant-based join cost computation

Praat script to compute spectral slopes

Added by Tihelka Dan almost 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Start date:
02.06.2017
Due date:
% Done:

0%

Estimated time:

Description

This has been suggested in #4176:

We can try experimenting with some spectral slope measures. These typically compare energy in specific spectral bands. I would try the measure which Honza Volín introduced, which calculates the ratio of a low and high frequency band energy. The low band is defined as 350-1100 Hz (so it excludes the band corresponding to F0), the high band includes the 2300-5500 Hz frequency range (excluding the F2 range, which is important to convey phonemic differences).

Thus, we need spectral slope values computed somehow. Radek S. suggested that "In Praat, you can use the command Get band energy difference... 350 1100 2300 5500."

Could you, please, have a look at such slopes computation? For spkr_AJ now (and store them to data/non-mastered/zkracene-pauzy/param/spectral-slopes/). For more details about slopes computation contact Radek or Tomáš, or see #971 where some description of spectral slopes is given.


Files

get_slope.py (5.31 KB) get_slope.py Hanzlíček Zdeněk, 09.06.2017 15:35
Actions #1

Updated by Hanzlíček Zdeněk almost 7 years ago

  • Status changed from New to Assigned
Actions #2

Updated by Tihelka Dan almost 7 years ago

  • Description updated (diff)
Actions #3

Updated by Hanzlíček Zdeněk almost 7 years ago

I gave up programming in PRAAT, since all my efforts were in vain.
Therefore I wrote a simple script in Python (utilizing SPTK toolkit).
Computed values are stored in ASF format in the requested directory.

Actions #4

Updated by Tihelka Dan over 6 years ago

  • Status changed from Assigned to Resolved
  • Assignee changed from Tihelka Dan to Hanzlíček Zdeněk

Just few notes to ASF format:

  • there is no space allowed in the comment block. Correct must be:
    #!ASF!#
    #
    # band_1_avg, band_2_avg ... average amplitudes inside frequency bands
    # width ... distance between centra of band 1 and band2 [Hz]
    # slope = ( band_2_avg - band_1_avg ) / width.
  • there mus be a space after/before special comment tag:
    < band_1_begin = 350 >

I recommend to use asf.ASF class to build and store the ASF format, instead of hand-crafted writer.
I have fixed the issues by myself, so just keep them in mind. You can close the task now ...

Actions #5

Updated by Hanzlíček Zdeněk over 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF