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
UGens during expansion.Abstract method which must be implemented by creating the actual
UGens 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
- Deprecated