Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
entryList.append((startTime, endTime, label))
newTG.addTier(IntervalTier(tierName, entryList,
tierStartTime, tierEndTime))
else:
while True:
try:
time, labelI = _fetchRow(tierData, '', startTimeI)
label, startTimeI = _fetchRow(tierData, '', labelI)
except (ValueError, IndexError):
break
label = label.strip()
entryList.append((time, label))
newTG.addTier(PointTier(tierName, entryList,
tierStartTime, tierEndTime))
return newTG
entryList = tg.tierDict[tierName].entryList
startTimeList = [entry[0] for entry in entryList]
nucleusSyllableList = uwe_sr.toAbsoluteTime(name, syllableNucleiPath,
startTimeList)
flattenedSyllableList = [nuclei for sublist in nucleusSyllableList
for nuclei in sublist]
wavFN = join(wavPath, name + ".wav")
duration = audio_scripts.getSoundFileDuration(wavFN)
oom = my_math.orderOfMagnitude(len(flattenedSyllableList))
labelTemplate = "%%0%dd" % (oom + 1)
entryList = [(timestamp, labelTemplate % i)
for i, timestamp in enumerate(flattenedSyllableList)]
print(flattenedSyllableList)
tier = tgio.PointTier("Syllable Nuclei", entryList, 0, duration)
tgFN = join(tgPath, name + ".TextGrid")
tg = tgio.openTextgrid(tgFN)
tg.addTier(tier)
tg.save(join(outputPath, name + ".TextGrid"))
continue
newEntryList.append((newTimestamp, label))
# Determine new min and max timestamps
timeList = [float(subList[0]) for subList in newEntryList]
newMin = min(timeList)
newMax = max(timeList)
if newMin > self.minTimestamp:
newMin = self.minTimestamp
if newMax < self.maxTimestamp:
newMax = self.maxTimestamp
return PointTier(self.name, newEntryList, newMin, newMax)
break
label = label.strip()
tierEntryList.append((timeStart, timeEnd, label))
tier = IntervalTier(tierName, tierEntryList, tierStart, tierEnd)
else:
while True:
try:
time, timeI = _fetchRow(tierData, "number = ", labelI)
label, labelI = _fetchRow(tierData, "mark =", timeI)
except (ValueError, IndexError):
break
label = label.strip()
tierEntryList.append((time, label))
tier = PointTier(tierName, tierEntryList, tierStart, tierEnd)
newTG.addTier(tier)
return newTG
timeList = [time for time, label in entryList]
if minT is not None:
timeList.append(float(minT))
if maxT is not None:
timeList.append(float(maxT))
if maxT is None and pairedWav is not None:
maxT = _getWavDuration(pairedWav)
try:
minT = min(timeList)
maxT = max(timeList)
except ValueError:
raise TimelessTextgridTierException()
super(PointTier, self).__init__(name, entryList, minT, maxT)
def textgridManipulateDuration(tgFN, ratioList):
tg = tgio.openTextgrid(tgFN)
adjustedTG = tgio.Textgrid()
for tierName in tg.tierNameList:
fromTier = tg.tierDict[tierName]
adjustedTier = None
if isinstance(fromTier, tgio.IntervalTier):
adjustedTier = _morphIntervalTier(fromTier, ratioList)
elif isinstance(fromTier, tgio.PointTier):
adjustedTier = _morphPointTier(fromTier, ratioList)
assert(adjustedTier is not None)
adjustedTG.addTier(adjustedTier)
return adjustedTG
errorList = []
for i in range(1, len(pitchList)):
lastPitch = pitchList[i - 1][1]
currentPitch = pitchList[i][1]
ceilingCutoff = currentPitch / maxJumpThreshold
floorCutoff = currentPitch * maxJumpThreshold
if((lastPitch <= floorCutoff) or (lastPitch >= ceilingCutoff)):
currentTime = pitchList[i][0]
errorList.append([currentTime, currentPitch / lastPitch])
if tgToMark is not None:
tierName = "pitch errors"
assert(tierName not in tgToMark.tierNameList)
pointTier = tgio.PointTier(tierName, errorList,
tgToMark.minTimestamp,
tgToMark.maxTimestamp)
tgToMark.addTier(pointTier)
return errorList, tgToMark