Bånder

SongSearchService
in package

Table of Contents

Properties

$discogsClient  : DiscogsClient
$matchingStrategy  : MatchingStrategy
$musicBrainzClient  : MusicBrainzClient
$qualityValidator  : QualityValidator

Methods

__construct()  : mixed
searchAllSources()  : array<string|int, mixed>
Search all sources for song metadata
searchDiscogs()  : array<string|int, mixed>|null
Search Discogs for song (via release context)
searchFuzzy()  : array<string|int, mixed>
Search for song with fuzzy matching - returns structured results
searchMusicBrainz()  : array<string|int, mixed>|null
Search MusicBrainz for song
searchWithAlbumContext()  : array<string|int, mixed>
calculateRelevanceScore()  : float
convertMusicBrainzRecordingToArray()  : array<string|int, mixed>
Convert MusicBrainz recording to standardized array format
extractSongArtists()  : array<string|int, mixed>
extractSongGenres()  : array<string|int, mixed>
findSongInAlbumMetadata()  : array<string|int, mixed>|null
findSongInMusicBrainzRelease()  : array<string|int, mixed>|null
findTrackInDiscogs()  : array<string|int, mixed>|null
generateSongTitleVariations()  : array<string|int, mixed>
Generate song title variations for fuzzy matching
isRelevantMatch()  : bool

Properties

Methods

searchAllSources()

Search all sources for song metadata

public searchAllSources(Song $song) : array<string|int, mixed>
Parameters
$song : Song
Return values
array<string|int, mixed>

searchDiscogs()

Search Discogs for song (via release context)

public searchDiscogs(Song $song) : array<string|int, mixed>|null
Parameters
$song : Song
Return values
array<string|int, mixed>|null

searchFuzzy()

Search for song with fuzzy matching - returns structured results

public searchFuzzy(Song $song) : array<string|int, mixed>
Parameters
$song : Song
Return values
array<string|int, mixed>

searchMusicBrainz()

Search MusicBrainz for song

public searchMusicBrainz(Song $song) : array<string|int, mixed>|null
Parameters
$song : Song
Return values
array<string|int, mixed>|null

searchWithAlbumContext()

public searchWithAlbumContext(Song $song, array<string|int, mixed> $albumMetadata) : array<string|int, mixed>
Parameters
$song : Song
$albumMetadata : array<string|int, mixed>
Return values
array<string|int, mixed>

calculateRelevanceScore()

private calculateRelevanceScore(mixed $recording, Song $song) : float
Parameters
$recording : mixed
$song : Song
Return values
float

convertMusicBrainzRecordingToArray()

Convert MusicBrainz recording to standardized array format

private convertMusicBrainzRecordingToArray(mixed $recording) : array<string|int, mixed>
Parameters
$recording : mixed
Return values
array<string|int, mixed>

extractSongArtists()

private extractSongArtists(mixed $songData, string $source) : array<string|int, mixed>
Parameters
$songData : mixed
$source : string
Return values
array<string|int, mixed>

extractSongGenres()

private extractSongGenres(mixed $songData, string $source) : array<string|int, mixed>
Parameters
$songData : mixed
$source : string
Return values
array<string|int, mixed>

findSongInAlbumMetadata()

private findSongInAlbumMetadata(Song $song, array<string|int, mixed> $albumMetadata) : array<string|int, mixed>|null
Parameters
$song : Song
$albumMetadata : array<string|int, mixed>
Return values
array<string|int, mixed>|null

findSongInMusicBrainzRelease()

private findSongInMusicBrainzRelease(array<string|int, mixed> $releaseData, Song $song) : array<string|int, mixed>|null
Parameters
$releaseData : array<string|int, mixed>
$song : Song
Return values
array<string|int, mixed>|null

findTrackInDiscogs()

private findTrackInDiscogs(array<string|int, mixed> $releaseData, Song $song) : array<string|int, mixed>|null
Parameters
$releaseData : array<string|int, mixed>
$song : Song
Return values
array<string|int, mixed>|null

generateSongTitleVariations()

Generate song title variations for fuzzy matching

private generateSongTitleVariations(string $title) : array<string|int, mixed>
Parameters
$title : string
Return values
array<string|int, mixed>

isRelevantMatch()

private isRelevantMatch(mixed $recording, Song $song) : bool
Parameters
$recording : mixed
$song : Song
Return values
bool

        
On this page

Search results