Discussion:
Timestretch
(too old to reply)
Ronny Mandal
2004-01-31 14:59:56 UTC
Permalink
Er det noen som har / vet om det finnes noe dokumentasjon om denne
algoritmen?

Skal jeg ta en kvalifisert gjetning, vil jeg si at ved komprimering blir
noen samples fjernet (etter mønster) mellom hver beat. Ved strekking så
skulle jeg tro at samples mellom hver beat legges til, tilnærmet de som
allerede er der.

Håper på tilbakemelding(er).

Mvh.

Ronny Mandal
Sverre Brubaek
2004-01-31 17:46:30 UTC
Permalink
On Sat, 31 Jan 2004 15:59:56 +0100, "Ronny Mandal"
Post by Ronny Mandal
Er det noen som har / vet om det finnes noe dokumentasjon om denne
algoritmen?
Kan du si litt mer presist hva den gjør?
--
They both savoured the strange warm glow of being much more ignorant
than ordinary people, who were only ignorant of ordinary things.
-- Discworld scientists at work (Terry Pratchett, Equal Rites)
Ronny Mandal
2004-01-31 20:10:53 UTC
Permalink
Post by Sverre Brubaek
Kan du si litt mer presist hva den gjør?
Den forandrer hastigheten på lyd uten å forandre pitch, dvs. uten å
resample.
Sverre Brubaek
2004-02-01 00:59:30 UTC
Permalink
On Sat, 31 Jan 2004 21:10:53 +0100, "Ronny Mandal"
Post by Ronny Mandal
Post by Sverre Brubaek
Kan du si litt mer presist hva den gjør?
Den forandrer hastigheten på lyd uten å forandre pitch, dvs. uten å
resample.
Hmmm... Lenge siden jeg gjorde noe innen signalbehandling men følgende
fremgangsmåte burde fungere (men avhengig av hva du mener med å
resample så ser jeg ikke at man slipper unna det):

Å endre hastigheten er ikke noe problem, det er bare å endre perioden
mellom samplene. Dette kan normaliseres til en standard samplerate ved
å filtrere og desimere (hurtigere avspilling) eller interpolere
(egentlig sette inn null sampler) og filtrere. Normaliseringen bør
gjøres helt til slutt med mindre man har problemer med å håntere
datamengden.

Å endre frekvens kan gjøres ved å modulere og deretter demodulere
signalet med noe forskjellige frekvenser (noe som nok kan forenkles
betydelig når man kikker på matematikken).

For audio tror jeg imidlertid algoritmene som blir brukt er noe
anneledes siden dette produserer noe som ikke høres alt for pent ut.

Du kan f.eks søke videre på 'Time Domain Harmonic Scaling'
--
They both savoured the strange warm glow of being much more ignorant
than ordinary people, who were only ignorant of ordinary things.
-- Discworld scientists at work (Terry Pratchett, Equal Rites)
Gunnar Bjørgum
2004-02-06 17:04:13 UTC
Permalink
Post by Ronny Mandal
Er det noen som har / vet om det finnes noe dokumentasjon om denne
algoritmen?
Skal jeg ta en kvalifisert gjetning, vil jeg si at ved komprimering blir
noen samples fjernet (etter mønster) mellom hver beat. Ved strekking så
skulle jeg tro at samples mellom hver beat legges til, tilnærmet de som
allerede er der.
Det er akkurat same algoritmen som for endring av pitch (og la timing
vere uforandra). Musikk folk vil kalle dette for "pitch shift" medan DSP
folk vil kalle det for "pitch scaling".

Ein veldig enkel måte er som du nemner å spele av samplingane (altså
samle-verdiar) i eit ulikt tempo i forhold til originalen, og så kutte
vekk eller legge til samplingar (innanfor eit gitt tidsluke) for å få
same antal inn og ut i ei tidsluke. Det store problemet er jo å få det
til å hørast naturlig ut. Ein høyrer jo veldig lett når nokre få
samplingar mangler i lyd. Ein teknikk er å anaysere nullgjennomgangane,
og bruke dette som "nodar" til å spleise saman sample-segment. Ein kan
og ta FFT og strekke (ikkje flytte, for då ville det blitt det DSP folk
kaller pitch shift, og det høyrest ikkje fint ut) det i frekvensplanet,
og så FFT tilbake. Dersom ein og vil ha stemmar til å høyrest naturlege
ut (og ikkje få Mikke-Mus-stemme) så kan ein og trekke ut formantar før
ein utfører pitch shift, og så legge tilbake formantane etterpå.

Denne såg jo og nokså fornuftig ut:
http://en.wikipedia.org/wiki/Audio_time_stretching

Helsing Gunnar Bjørgum

Loading...