Documentation ¶
Overview ¶
chromaprint provides bindings to the Chromaprint library, which is a library for extracting audio fingerprints.
Index ¶
- Variables
- func New(rate, channels int, duration time.Duration) *fingerprint
- func PrintVersion(w io.Writer)
- type Client
- type Config
- type Meta
- type Response
- type ResponseArtist
- type ResponseError
- type ResponseGroup
- type ResponseMatch
- type ResponseMedium
- type ResponseRecording
- type ResponseRelease
- type ResponseTrack
Constants ¶
This section is empty.
Variables ¶
View Source
var (
DefaultConfig = Config{
Key: defaultClientId,
Timeout: defaultTimeout,
Rate: defaultQps,
Base: baseUrl,
}
)
View Source
var (
ErrQueryRateExceeded = errors.New("query rate exceeded")
)
Functions ¶
func New ¶
Create a new fingerprint context, with the expected sample rate, number of channels and the maximum duration of the data to put into the fingerprint. Returns nil if the context could not be created.
func PrintVersion ¶
Types ¶
type Meta ¶
type Meta uint
const ( META_RECORDING Meta = (1 << iota) META_RECORDINGID META_RELEASE META_RELEASEID META_RELEASEGROUP META_RELEASEGROUPID META_TRACK META_COMPRESS META_USERMETA META_SOURCE META_MIN = META_RECORDING META_MAX = META_SOURCE META_NONE Meta = 0 META_ALL = META_RECORDING | META_RECORDINGID | META_RELEASE | META_RELEASEID | META_RELEASEGROUP | META_RELEASEGROUPID | META_TRACK | META_COMPRESS | META_USERMETA | META_SOURCE )
func (Meta) FlagString ¶
type Response ¶
type Response struct { Status string `json:"status"` Error ResponseError `json:"error"` Results []*ResponseMatch `json:"results"` }
type ResponseArtist ¶
type ResponseError ¶
type ResponseGroup ¶
type ResponseGroup struct { Id string `json:"id"` Type string `json:"type,omitempty"` Title string `json:"title,omitempty"` Releases []ResponseRelease `json:"releases,omitempty"` }
type ResponseMatch ¶
type ResponseMatch struct { Id string `json:"id"` Score float64 `json:"score"` Recordings []ResponseRecording `json:"recordings,omitempty"` }
func (*ResponseMatch) String ¶
func (r *ResponseMatch) String() string
type ResponseMedium ¶
type ResponseMedium struct { Format string `json:"format"` Position uint `json:"position"` TrackCount uint `json:"track_count"` Tracks []ResponseTrack `json:"tracks,omitempty"` }
type ResponseRecording ¶
type ResponseRecording struct { Id string `json:"id"` Title string `json:"title,omitempty"` Duration float64 `json:"duration,omitempty"` Artists []ResponseArtist `json:"artists,omitempty"` ReleaseGroups []ResponseGroup `json:"releasegroups,omitempty"` }
type ResponseRelease ¶
type ResponseRelease struct { Id string `json:"id"` Mediums []ResponseMedium `json:"mediums,omitempty"` }
type ResponseTrack ¶
type ResponseTrack struct { Id string `json:"id"` Artists []ResponseArtist `json:"artists,omitempty"` Position uint `json:"position"` Title string `json:"title,omitempty"` }
Click to show internal directories.
Click to hide internal directories.