Vinnaren i pepparkakshustävlingen!
2013-01-01, 09:36
  #1
Medlem
Hej,

jag har en låt i wav-format. Den kan jag läsa in i matlab med wavread. Sedan vill jag göra en tonartshöjning, dvs öka den totala samplingsfrekvensen med faktor 2^(1/12) Hz, utan att låten blir kortare.

tex:
fil.wav
[y Fs]=wavread('fil.wav')
sound(y,Fs*2^(1/12))

nu är tonartshöjningen gjord, men låten har också blivit snabbare/kortare, det vill jag undvika. Hur gör jag det?

Mvh
Citera
2013-01-01, 10:44
  #2
Medlem
Idé: Fouriertransformera, modifiera frekvensspektrumet, inverstransformera
Citera
2013-01-01, 11:11
  #3
Medlem
arbogaeriks avatar
Citat:
Ursprungligen postat av notebook
Hej,

jag har en låt i wav-format. Den kan jag läsa in i matlab med wavread. Sedan vill jag göra en tonartshöjning, dvs öka den totala samplingsfrekvensen med faktor 2^(1/12) Hz, utan att låten blir kortare.

tex:
fil.wav
[y Fs]=wavread('fil.wav')
sound(y,Fs*2^(1/12))

nu är tonartshöjningen gjord, men låten har också blivit snabbare/kortare, det vill jag undvika. Hur gör jag det?

Mvh

-Lite novis på termerna och övrigt kanske vad gäller sampling av ljud, men:

Samplingsfrekvens är väl bara ett uttryck för hur många ggr/sek man samplar ljudvågerna ifråga?
Man förändrar väl inte våglängden om man varierar samplingsfrevkens?

Som sagt lite novis
Citera
2013-01-01, 11:21
  #4
Medlem
spermaoffrets avatar
http://www.dspdimension.com/admin/time-pitch-overview/
Citera
2013-01-02, 08:35
  #5
Medlem
Citat:
Ursprungligen postat av manne1973
Idé: Fouriertransformera, modifiera frekvensspektrumet, inverstransformera

Ja det är en ide, men jag har bara hanterat olika typer av filter i frekvensspektrumet. Men nu handlar det mer om en förskjutning, och för att låten inte ska förkortas så måste jag på något sätt bibehålla samma mängd data utan att för den delen spela låten snabbare.



Citat:
Ursprungligen postat av arbogaerik
-Lite novis på termerna och övrigt kanske vad gäller sampling av ljud, men:

Samplingsfrekvens är väl bara ett uttryck för hur många ggr/sek man samplar ljudvågerna ifråga?
Man förändrar väl inte våglängden om man varierar samplingsfrevkens?

Japp. Om en låt är inspelad med 44 000 sampel per sekund, och om du sedan spelar upp den med 48 000 sampel per sekund har du gjort en tonartshöjning, och låten blir kortare. Men det är det jag vill undvika.

Som sagt lite novis

Citat:
Ursprungligen postat av spermaoffret
http://www.dspdimension.com/admin/time-pitch-overview/

Där fanns exempel på vad det är jag vill göra, men jag är inte riktigt med på hur
Citera
2013-01-02, 08:36
  #6
Medlem
Citat:
Ursprungligen postat av manne1973
Idé: Fouriertransformera, modifiera frekvensspektrumet, inverstransformera

Ja det är en ide, men jag har bara hanterat olika typer av filter i frekvensspektrumet. Men nu handlar det mer om en förskjutning, och för att låten inte ska förkortas så måste jag på något sätt bibehålla samma mängd data utan att för den delen spela låten snabbare.



Citat:
Ursprungligen postat av arbogaerik
-Lite novis på termerna och övrigt kanske vad gäller sampling av ljud, men:

Samplingsfrekvens är väl bara ett uttryck för hur många ggr/sek man samplar ljudvågerna ifråga?
Man förändrar väl inte våglängden om man varierar samplingsfrevkens?

Som sagt lite novis


Japp. Om en låt är inspelad med 44 000 sampel per sekund, och om du sedan spelar upp den med 48 000 sampel per sekund har du gjort en tonartshöjning, och låten blir kortare. Men det är det jag vill undvika.

Citat:
Ursprungligen postat av spermaoffret
http://www.dspdimension.com/admin/time-pitch-overview/

Där fanns exempel på vad det är jag vill göra, men jag är inte riktigt med på hur
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback