Documentation ¶
Index ¶
- Constants
- Variables
- func HashColsInOneSec() float64
- func NewMP3Reader(path string, sampleRate int, bits int) (*mp3Reader, error)
- func SaveToPng(img image.Image, path string) error
- func VisualizeSpectre(spectre [][]Float, peaks []Peak, hashes []Hash) image.Image
- type Float
- type Gaussian
- type Hash
- type Hashes
- type HashesByTime
- type Matcher
- type Peak
- type PeakPair
- type PeakSpectr
- type PeakSpectrSlice
- type ValIdx
- type ValIdxs
Constants ¶
View Source
const ( // Максимально допустимое отклонение масштабирования от 1 (без масштабирования) ScaleAllowedDiff = 0.3 // ScaleEpsilon задает порог учета временного масштабирования трека, ниже которого считаем все без учета масштаба ScaleEpsilon = 0.001 )
View Source
const ( // целевая Hz при получении PCM звука SampleRate = 11025 // Размер окна FFT FFTWinSize = 1 << (binBits + 1) // Величина перекрывания окон FFT FFTOverlap = FFTWinSize / 2 // Половина ширины окна FFT FFTHalfWinSize = FFTWinSize / 2 )
Variables ¶
View Source
var ( ErrWrongParams = errors.New(`Wrong params`) ErrMmapFail = errors.New(`mmap fail`) )
Functions ¶
func HashColsInOneSec ¶
func HashColsInOneSec() float64
Сколько колонок (элементов []Hash) в одной секунде трека
Types ¶
type Hash ¶
func (Hash) ToPeakPair ¶
type Hashes ¶
type Hashes []Hash
Hashes сортирует по возрастанию значения поля Hash
func FindHashes ¶
func PeakPairsToHashes ¶
type HashesByTime ¶
type HashesByTime []Hash
HashesByTime сортирует по возрастанию времени, а при равных - по возрастанию Hash.TimeDiff
func (HashesByTime) Len ¶
func (h HashesByTime) Len() int
func (HashesByTime) Less ¶
func (h HashesByTime) Less(i, j int) bool
func (HashesByTime) Swap ¶
func (h HashesByTime) Swap(i, j int)
type Matcher ¶
type Matcher struct {
// contains filtered or unexported fields
}
func NewMatcher ¶
func NewMatcher() *Matcher
type Peak ¶
func GenPeaksFromMp3 ¶
type PeakSpectr ¶
type PeakSpectrSlice ¶
type PeakSpectrSlice []PeakSpectr
PeakSpectrSlice сортирует по убыванию Val
func (PeakSpectrSlice) Len ¶
func (p PeakSpectrSlice) Len() int
func (PeakSpectrSlice) Less ¶
func (p PeakSpectrSlice) Less(i, j int) bool
func (PeakSpectrSlice) Swap ¶
func (p PeakSpectrSlice) Swap(i, j int)
Click to show internal directories.
Click to hide internal directories.