Pseudocodice per un eco che utilizza la ricorsione [chiuso]

-1

Usando lo pseudocodice, quale sarebbe il codice per un eco che usa la ricorsione?

AGGIORNAMENTO: sembra che avrei dovuto essere più chiaro. Per eco intendo il suono del pattern che si manifesta quando echeggia, non come eco in quanto aggiunge ripetutamente a sé stessi dove self eguaglia zero. Qualche idea su come sarebbe il codice per un'eco "vera"? Ad esempio, ho pensato a "echo (reduce-volume (); exit-if-silent; echo ())" ma ero sicuro che la logica avesse senso.

UPDATE-2: Lavorando attraverso la mia logica sopra un notato, manca un modo per tenere conto del "feedback positivo", che suppongo sia richiesto.

link

    
posta blunders 08.01.2012 - 06:59
fonte

1 risposta

3
echo sound clip S at volume V:
    if V is zero, done. (Exit recursion.)
    start playing S.
    V = V * F.
    Wait for time T.
    echo sound clip S at volume V.

F è il fattore di attenuazione, e suppongo che un buon valore per esso sarebbe 0,5

T è il ritardo tra le ripetizioni dell'eco, simula la distanza del muro di eco.

Nota: naturalmente, questa è solo una ricorsione di coda, quindi può essere trasformata banalmente in un ciclo. Tuttavia, è possibile estenderlo per simulare più muri di eco a distanze diverse, nel qual caso la ricorsione potrebbe essere il modo migliore per farlo.

Il feedback positivo non può essere tenuto in considerazione senza lavorare con i singoli campioni di cui è composta la forma d'onda, che richiede una soluzione del tutto diversa e molto più complicata.

    
risposta data 08.01.2012 - 09:43
fonte

Leggi altre domande sui tag