PDA

Visualizza la versione completa : [ALGORITMO] Riprodurre brani in base ai gusti musicali


Enigma86
20-03-2011, 22:25
Salve a tutti,
tempo fa mi sono imbattuto in un quesito. Posso realizzare un programma(con qualsiasi linguaggio di programmazione) che ti seleziona delle soundtrack in base ai tuoi gusti personali o magari in base a quelle canzoni che ascolto più spesso?

Sono un programmatore, ma non riesco a pensare come poter realizzare o magari solo abbozzare una soluzione. Per questo chiedo il vostro aiuto. Avete per caso qualche idea?

Grazie in anticipo a tutti.
Aspetto vostre notizie.

MItaly
20-03-2011, 22:44
Un modo semplice è vedere quali sono le canzoni più riprodotte, e assegnare a ciascuna un punteggio in base a quanto spesso viene saltata (ad esempio con una media sulla percentuale di canzone a cui si arriva quando viene saltata); in base a questo punteggio si stila una classifica delle canzoni "più piaciute".

Metodi più sofisticati si basano su un'analisi "manuale" delle caratteristiche di ogni brano, e su un'analisi delle caratteristiche comuni ai brani più ascoltati, in base a cui si possono ottenere dei "profili di caratteristiche gradite"; è questo il metodo usato da siti come Pandora.

Enigma86
20-03-2011, 22:52
innanzitutto ti ringrazio per la risposta.

Come faccio, programmaticamente parlando, a realizzare la prima soluzione che hai proposto?
Nel senso, come si potrebbe realizzare un programma tale da svolgere questa mansione?

Grazie 1000
Aspetto tue notizie

MItaly
20-03-2011, 23:16
Be', il tuo programma dovrebbe essere il player usato dall'utente per riprodurre i file; a questo punto dovresti avere in un database una riga per ogni canzone, e memorizzare in un campo il numero di riproduzioni, nell'altro la somma delle percentuali di canzone a cui si è arrivati ogni volta.
Quando la canzone termina (perché skippata o finita) aggiungi uno al numero di riproduzioni, e aggiungi all'altro campo la percentuale di canzone a cui si è arrivato. In questa maniera hai una media mobile del punto a cui è skippata la canzone; tendenzialmente se non viene mai skippata (media del punto di skip: 100% della canzone) vuol dire che piace, se viene skippata sempre immediatamente (media: 0%) allora non piace. In base a questo ti puoi costruire la tua lista di canzoni in ordine di gradimento.

VincenzoTheBest
21-03-2011, 00:45
Originariamente inviato da Enigma86
programma(con qualsiasi linguaggio di programmazione) che ti seleziona delle soundtrack in base ai tuoi gusti personali

Scriverne uno del genere sarebbe più interessante ;) ma se vuoi ottenere un vero sistema corretto ed affidabile, devi saperti muovere nel mondo del Machine Learning.

menphisx
21-03-2011, 01:14
Allora puoi contare il numero di volte che la traccia viene prodotta, quanti minuti vengono ascoltati per ognuna, quante volte di seguito viene ascoltata, qual'è la prima canzone che viene ascoltata all'avvio del programma, confrontare le varie canzoni che vengono ascoltate all'avvio del programma, da quanto tempo non si ascolta una traccia, analizzare il modo ciclico con cui le tracce vengono ascoltate, ad esempio, guardare con che cadenza una traccia viene ascoltata, ogni x giorni, ogni y settimane, ecc... in base a questo e al punteggio, proporla, del tipo: "Questa canzone ti piace, ma non l'ascolti da x tempo.... Vuoi ascoltarla?".
Ricordati che non ascoltare una traccia da tanto tempo non significa che non piaccia, a volte uno si dimentica, o va a periodo.
Insomma fai un po' di analisi statistiche, ed in base a quelle tiri fuori un risultato.
Oppure ti avventuri nelle reti neurali e negli algoritmi genetici.

Loading