Exemplo n.º 1
0
 def test_point_process_io(self):
     '''Tests for reading/writing point processes'''
     fn = "bobby.PointProcess"
     inputFN = join(self.dataRoot, fn)
     outputFN = join(self.outputRoot, fn)
     
     pp = dataio.open1DPointObject(inputFN)
     pp.save(outputFN)
     
     self.assertTrue(areTheSame(inputFN, outputFN, dataio.open1DPointObject))
Exemplo n.º 2
0
    def test_point_process_io(self):
        '''Tests for reading/writing point processes'''
        fn = "bobby.PointProcess"
        inputFN = join(self.dataRoot, fn)
        outputFN = join(self.outputRoot, fn)

        pp = dataio.open1DPointObject(inputFN)
        pp.save(outputFN)

        self.assertTrue(areTheSame(inputFN, outputFN,
                                   dataio.open1DPointObject))
Exemplo n.º 3
0
def getPulses(praatEXE, inputWavFN, outputPointTierFN, minPitch, maxPitch,
              scriptFN=None):
    
    if scriptFN is None:
        scriptFN = join(utils.scriptsPath, "get_pulses.praat")
    
    argList = [inputWavFN, outputPointTierFN, minPitch, maxPitch]
    utils.runPraatScript(praatEXE, scriptFN, argList)
    
    # Load the output
    pointObj = dataio.open1DPointObject(outputPointTierFN)
    
    return pointObj
Exemplo n.º 4
0
def getPulses(praatEXE, inputWavFN, outputPointTierFN, minPitch, maxPitch,
              scriptFN=None):
    '''
    Gets the pitch/glottal pulses for an audio file.

    http://www.fon.hum.uva.nl/praat/manual/Sound___Pitch__To_PointProcess__peaks____.html
    '''
    if scriptFN is None:
        scriptFN = join(utils.scriptsPath, "get_pulses.praat")
    
    argList = [inputWavFN, outputPointTierFN, minPitch, maxPitch]
    utils.runPraatScript(praatEXE, scriptFN, argList)
    
    # Load the output
    pointObj = dataio.open1DPointObject(outputPointTierFN)
    
    return pointObj
Exemplo n.º 5
0
def getPulses(praatEXE,
              inputWavFN,
              outputPointTierFN,
              minPitch,
              maxPitch,
              scriptFN=None):
    '''
    Gets the pitch/glottal pulses for an audio file.

    http://www.fon.hum.uva.nl/praat/manual/Sound___Pitch__To_PointProcess__peaks____.html
    '''
    if scriptFN is None:
        scriptFN = join(utils.scriptsPath, "get_pulses.praat")

    argList = [inputWavFN, outputPointTierFN, minPitch, maxPitch]
    utils.runPraatScript(praatEXE, scriptFN, argList)

    # Load the output
    pointObj = dataio.open1DPointObject(outputPointTierFN)

    return pointObj
Exemplo n.º 6
0
'''
Praatio example for extracting points in a PointProcess for the vowels specified in a textgrid
'''

import os
from os.path import join

from praatio import tgio
from praatio import dataio

path = join(".", "files")
outputPath = join(path, "point_process_output")

if not os.path.exists(outputPath):
    os.mkdir(outputPath)

tg = tgio.openTextgrid(join(path, "bobby_phones.TextGrid"))
pp = dataio.open1DPointObject(join(path, "bobby.PointProcess"))

newPoints = []
tier = tg.tierDict["phone"]
for start, stop, label in tier.entryList:
    if label.lower()[0] not in ["a", "e", "i", "o", "u"]:
        continue
    newPoints.extend([pp.getPointsInInterval(start, stop), ])

outputPP = dataio.PointObject1D(newPoints, dataio.POINT,
                                pp.minTime, pp.maxTime)
outputPP.save(join(outputPath, "bobby_vowels.PointProcess"))