Forum Flash, Actionscript, PHP e MySQL
[AS3]Confrontare due tracce audio

 
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » Actionscript 3.0
Precedente  Successivo 
Autore Messaggio
nannez
nuovo utente
nuovo utente



Registrato: 27/03/11 22:04
Messaggi: 1
Località: Italia

MessaggioOggetto: [AS3]Confrontare due tracce audio
Inviato: 27.03.11 | 22:08
Rispondi citando

Ciao a tutti,
vorrei realizzare un karaoke che in qualche modo alla fine dell'esecuzione confronti due tracce audio.
Mi spiego meglio: la base dovrebbe essere un file midi, poi una persona canta e alla fine della canzone l'applicazione dovrebbe confrontare le due tracce e dirmi quanto è stata accurata la persona che ha cantato per esempio restituendo una percentuale di accuratezza.
Qui sotto vi riporto il codice con cui acquisisco due file mp3 e ne stampo il grafico.
 
Codice:
public function MainSuono():void
{
    snd1.load(new URLRequest("record1.mp3"));
    snd2.load(new URLRequest("record2.mp3"));
    snd1.addEventListener(Event.COMPLETE, Caricato);
    snd2.addEventListener(Event.COMPLETE, Caricato);
            
}
public function Caricato(e:Event):void
{
            
    var bArray:ByteArray = new ByteArray();
    var lun:Number = Math.floor((e.target.length / 1000) * 44100);
    e.target.extract(bArray, lun);
    var step:int = bArray.length / 256;
    var alt:Number = 0;
    bArray.position = 0;
    var vet:Vector.<Number> = new Vector.<Number>();
    for (i = 0; i < 256; i++ )
    {
            vet[i] = bArray.readFloat();
            bArray.position = i * step;
                
    }
    stampaGrafico(vet);
    indice+=400;
}
public function stampaGrafico(v:Vector.<Number>):void
{
    var curva:Sprite = new Sprite();
    addChild(curva);
    curva.graphics.clear();
    curva.graphics.moveTo(4, 200 + indice);
    if (indice == 1)
    {
        curva.graphics.lineStyle(3, 0xCCFFAA);
        curva.name = "Pino";
        arrey.push(v);
    }
    else
    {
        curva.graphics.lineStyle(3, 0x00CCEE);
        curva.name = "Nino";
        arrey.push(v);
    }
    for (i = 0; i < 256; i++ )
    {
        curva.graphics.lineTo(i,(200+indice) - (v[i] * 300));
        curva.graphics.endFill();
    }
    curva.addEventListener(MouseEvent.CLICK, Play);
}

Il mio problema è quindi il confronto delle due tracce, io ho pensando di scorrere il vettore che contiene le tracce e confrontarne i valori, quindi fare un delta tra i valori della prima traccia e quelli della seconda.
Spero di essermi spiegato e che qualcuno riesca ad aiutarmi magari utilizzando gli elementi che ho gia, altrimenti potete suggerirmi qualche tutorial (anche in inglese).
Grazie in anticipo
Torna in cima
Profilo Messaggio privato  
Sponsor
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona

MessaggioOggetto:
Inviato: 03.04.11 | 17:13
Rispondi citando

Ciao nannez,
si l'idea è giusta... se alleghi il FLA o il codice completo compreso di Play ed altri metodi che utilizzi, possiamo provare ad aiutarti...

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » Actionscript 3.0 Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

Discussioni Simili
Topic Autore Forum Risposte Ultimo Messaggio
Nessun nuovo messaggio conversazioni audio off gio Hardware & Software Upgrade! 1 22.07.04 | 21:41 Leggi gli ultimi messaggi
fish
Nessun nuovo messaggio preload audio... ARIELE ActionScript & Server Side 2 17.03.05 | 17:41 Leggi gli ultimi messaggi
ARIELE
Nessun nuovo messaggio Impazzito il mio audio in xp HqO Hardware & Software Upgrade! 0 19.01.09 | 21:14 Leggi gli ultimi messaggi
HqO
Nessun nuovo messaggio Problemi audio Coach Linux 1 02.05.07 | 10:14 Leggi gli ultimi messaggi
giammy
Nessun nuovo messaggio piccola modifica audio Lupin77 Flash Generale 9 15.03.07 | 21:56 Leggi gli ultimi messaggi
Lupin77



 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum
Non puoi allegare files in questo forum
Non puoi downloadare gli allegati in questo forum



Powered by phpBB © 2001, 2002 phpBB Group - phpBB SEO Designed by coachdesign - © 2003-2005