SongQualityValidator
extends BaseQualityValidator
in package
Table of Contents
Constants
- HIGH_CONFIDENCE_THRESHOLD = 0.8
- MIN_QUALITY_THRESHOLD = 0.4
Properties
Methods
- __construct() : mixed
- isHighConfidenceMatch() : bool
- isValidMatch() : bool
- scoreMatch() : float
- calculateStringSimilarity() : float
- Enhanced international string similarity
- hasAnyField() : bool
- normalizeText() : string
- Normalize text for international comparison
- extractDuration() : int|null
- extractMetadataArtists() : array<string|int, mixed>
- scoreAdditionalInfo() : float
- scoreArtistMatch() : float
- scoreDurationMatch() : float
- scoreTitleSimilarity() : float
- scoreTrackPosition() : float
Constants
HIGH_CONFIDENCE_THRESHOLD
private
mixed
HIGH_CONFIDENCE_THRESHOLD
= 0.8
MIN_QUALITY_THRESHOLD
private
mixed
MIN_QUALITY_THRESHOLD
= 0.4
Properties
$textSimilarity
protected
TextSimilarityService
$textSimilarity
Methods
__construct()
public
__construct(TextSimilarityService $textSimilarity) : mixed
Parameters
- $textSimilarity : TextSimilarityService
isHighConfidenceMatch()
public
isHighConfidenceMatch(array<string|int, mixed> $metadata, BaseModel|Song $model, float $qualityScore) : bool
Parameters
Return values
boolisValidMatch()
public
isValidMatch(array<string|int, mixed> $metadata, float $qualityScore) : bool
Parameters
- $metadata : array<string|int, mixed>
- $qualityScore : float
Return values
boolscoreMatch()
public
scoreMatch(array<string|int, mixed> $metadata, BaseModel|Song $model) : float
Parameters
Return values
floatcalculateStringSimilarity()
Enhanced international string similarity
protected
calculateStringSimilarity(string $str1, string $str2) : float
Parameters
- $str1 : string
- $str2 : string
Return values
floathasAnyField()
protected
hasAnyField(array<string|int, mixed> $data, array<string|int, mixed> $fields) : bool
Parameters
- $data : array<string|int, mixed>
- $fields : array<string|int, mixed>
Return values
boolnormalizeText()
Normalize text for international comparison
protected
normalizeText(string $text) : string
Parameters
- $text : string
Return values
stringextractDuration()
private
extractDuration(array<string|int, mixed> $metadata) : int|null
Parameters
- $metadata : array<string|int, mixed>
Return values
int|nullextractMetadataArtists()
private
extractMetadataArtists(array<string|int, mixed> $metadata) : array<string|int, mixed>
Parameters
- $metadata : array<string|int, mixed>
Return values
array<string|int, mixed>scoreAdditionalInfo()
private
scoreAdditionalInfo(array<string|int, mixed> $metadata) : float
Parameters
- $metadata : array<string|int, mixed>
Return values
floatscoreArtistMatch()
private
scoreArtistMatch(array<string|int, mixed> $metadata, Song $song) : float
Parameters
- $metadata : array<string|int, mixed>
- $song : Song
Return values
floatscoreDurationMatch()
private
scoreDurationMatch(array<string|int, mixed> $metadata, Song $song) : float
Parameters
- $metadata : array<string|int, mixed>
- $song : Song
Return values
floatscoreTitleSimilarity()
private
scoreTitleSimilarity(array<string|int, mixed> $metadata, Song $song) : float
Parameters
- $metadata : array<string|int, mixed>
- $song : Song
Return values
floatscoreTrackPosition()
private
scoreTrackPosition(array<string|int, mixed> $metadata) : float
Parameters
- $metadata : array<string|int, mixed>