final case class PitchesToViterbi(lags: D, strengths: D, numIn: I = 14, peaks: D, maxLag: I, voicingThresh: D = 0.45, silenceThresh: D = 0.03, octaveCost: D = 0.01, octaveJumpCost: D = 0.35, voicedUnvoicedCost: D = 0.03) extends SingleOut[Double] with Product with Serializable
A UGen that takes concurrent pitch tracker paths, and conditions them for the
Viterbi algorithm. The inputs are typically taken from AutoCorrelationPitches
,
and from this a suitable add
signal is produced to be used in the Viterbi
UGen.
The output are matrices of size (numIn + 1).squared
.
Warning: This is still not thoroughly tested.
- lags
pitches given as sample periods, such as returned by
AutoCorrelationPitches
.- strengths
strengths corresponding to the
lags
, such as returned byAutoCorrelationPitches
.- numIn
number of paths / candidates. to this the unvoiced candidate is added
- peaks
the peak amplitude of the underlying input signal, one sample per pitch frame, used for the unvoiced candidate.
- maxLag
the maximum lag time, corresponding to the minimum pitch
- voicingThresh
threshold for determining whether window is voiced or unvoiced.
- silenceThresh
threshold for determining whether window is background or foreground.
- octaveCost
weighting factor for low versus high frequency preference.
- octaveJumpCost
costs for moving pitches up and down. to match the parameters in Praat, you should multiply the "literature" value by
0.01 * sampleRate / stepSize
(typically in the order of 0.25)- voicedUnvoicedCost
cost for transitioning between voiced and unvoiced segments. to match the parameters in Praat, the "literature" value by
0.01 * sampleRate / stepSize
(typically in the order of 0.25) see StrongestLocalMaxima see Viterbi
- Alphabetic
- By Inheritance
- PitchesToViterbi
- Serializable
- SingleOut
- SomeOut
- Lazy
- GE
- UGenSource
- Expander
- Lazy
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new PitchesToViterbi(lags: D, strengths: D, numIn: I = 14, peaks: D, maxLag: I, voicingThresh: D = 0.45, silenceThresh: D = 0.03, octaveCost: D = 0.01, octaveJumpCost: D = 0.35, voicedUnvoicedCost: D = 0.03)
- lags
pitches given as sample periods, such as returned by
AutoCorrelationPitches
.- strengths
strengths corresponding to the
lags
, such as returned byAutoCorrelationPitches
.- numIn
number of paths / candidates. to this the unvoiced candidate is added
- peaks
the peak amplitude of the underlying input signal, one sample per pitch frame, used for the unvoiced candidate.
- maxLag
the maximum lag time, corresponding to the minimum pitch
- voicingThresh
threshold for determining whether window is voiced or unvoiced.
- silenceThresh
threshold for determining whether window is background or foreground.
- octaveCost
weighting factor for low versus high frequency preference.
- octaveJumpCost
costs for moving pitches up and down. to match the parameters in Praat, you should multiply the "literature" value by
0.01 * sampleRate / stepSize
(typically in the order of 0.25)- voicedUnvoicedCost
cost for transitioning between voiced and unvoiced segments. to match the parameters in Praat, the "literature" value by
0.01 * sampleRate / stepSize
(typically in the order of 0.25) see StrongestLocalMaxima see Viterbi
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val lags: D
- def makeUGen(args: IndexedSeq[UGenIn[_]])(implicit b: Builder): UGenInLike[Double]
- Attributes
- protected
- Definition Classes
- PitchesToViterbi → UGenSource
- def makeUGens(implicit b: Builder): UGenInLike[Double]
Abstract method which must be implemented by creating the actual
UGen
s during expansion.Abstract method which must be implemented by creating the actual
UGen
s during expansion. This method is at most called once during graph expansion- returns
the expanded object (depending on the type parameter
U
)
- Attributes
- protected
- Definition Classes
- PitchesToViterbi → Expander
- val maxLag: I
- final def name: String
- Definition Classes
- UGenSource
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val numIn: I
- val octaveCost: D
- val octaveJumpCost: D
- val peaks: D
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val silenceThresh: D
- val strengths: D
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val voicedUnvoicedCost: D
- val voicingThresh: D
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated