featexmod icon indicating copy to clipboard operation
featexmod copied to clipboard

Multiband transient trigger

Open Oeyvind opened this issue 9 years ago • 3 comments

Separate transient triggers for energy in hi/mid/low bands. This should probably not be implemented by using the multiband envelope follower directly, since transients often give significant energy in all bands. The multiband transient trigger should ideally be "monophonic" in that it only register a transient in one band at a time. A classification algorithm might be used, but perhaps a more lightweight approach could be to combine full range transient detection with e.g. centroid and crest to identify which band the transient is most perceptually significant. Comparision between the energy levels of the multiband envelope generators might possibly also be used for this purpose(?)

Oeyvind avatar May 27 '16 08:05 Oeyvind

Additional comment on the use of centroid/crest: The centroid gives an indication of where in the spectrum the energy is focused. The aim is to counteract that the centroid goes high on noisy sounds. Crest seems to be low on noisy sound, high during cleaner tonal sounds. Try (centroid * crest) as an indicator of perceptual timbral weight of the transient. Probably, the centroid on "clean tone" transients should be mapped by taking the typical pitch range (say 200Hz-1000Hz), mapping it to the (useful) spectral range (say 200Hz to 5000Hz) ... ?

Experimentation results:

  • crest on voc:
    • high on "splutter-like" sound
    • high on long tone
    • low on long noise sound
  • flux on voc:
    • high on splutter
    • low on long tone
    • high on long noise

Oeyvind avatar May 27 '16 09:05 Oeyvind

Spectral spread may possibly also be used instead of crest. Mfcc indication of voiced/unvoiced can similary be used for the purpose of "perceptual centroid scaling"(?)

Oeyvind avatar May 27 '16 09:05 Oeyvind

The multiband transieng trigger can also (additionally) be output as a "timbral state" indicator, a radio-button-like indicator showing the band where the latest transient was detected.

Oeyvind avatar May 27 '16 09:05 Oeyvind