Deutsch   English   Français   Italiano  
<60911112$0$21593$426a74cc@news.free.fr>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.snarked.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!cleanfeed1-a.proxad.net!nnrp1-1.free.fr!not-for-mail
Subject: Re: Pitch shifting
Newsgroups: fr.sci.maths,fr.sci.biologie
References: <608a7a5e$0$3262$426a34cc@news.free.fr>
 <608adea5$0$32492$426a74cc@news.free.fr> <s6eqra$3o0$1@dont-email.me>
 <608b05aa$0$6174$426a74cc@news.free.fr>
 <608bb025$0$12711$426a34cc@news.free.fr>
 <608bb843$0$3688$426a74cc@news.free.fr> <QBMIuQ57mPI7BG2UM9yAP6F_Jv8@jntp>
 <608bf667$0$6472$426a74cc@news.free.fr> <a1SHS6m6XxznjTgCVvJVMgH9cnM@jntp>
 <608bff8b$0$12707$426a74cc@news.free.fr> <rqSAAqcBt1fdpSNzE1Dw42nZnEc@jntp>
 <608d8759$0$12680$426a74cc@news.free.fr>
 <608d91d9$0$27435$426a74cc@news.free.fr>
 <608da8fe$0$3704$426a74cc@news.free.fr>
 <608fa529$0$3714$426a74cc@news.free.fr>
 <608fb1cb$0$6206$426a74cc@news.free.fr>
 <608fd403$0$21617$426a74cc@news.free.fr>
 <608fdfda$0$3674$426a74cc@news.free.fr>
From: robby <me@pla.net.invalid>
Date: Tue, 4 May 2021 11:17:06 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.7.1
MIME-Version: 1.0
In-Reply-To: <608fdfda$0$3674$426a74cc@news.free.fr>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: fr
Lines: 71
Message-ID: <60911112$0$21593$426a74cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 04 May 2021 11:17:06 CEST
NNTP-Posting-Host: 88.165.35.147
X-Trace: 1620119826 news-1.free.fr 21593 88.165.35.147:37748
X-Complaints-To: abuse@proxad.net
Bytes: 5017

Le 03/05/2021 à 13:34, François Guillet a écrit :
> Mais bien sûr Mr j'sais tout. Mais les généralités, bof !
c'étaient juste des réfutations nuancées et prouvées de tes affirmations 
sur la phase et le fonctionnement de l'audition humaine.
Et désolé d'avoir suivi ces cours, ou que des parties relèvent de mon 
background pro.

> Car je n'ai toujours pas la méthode pour traiter la phase, et c'est la 
> seule question que j'ai posée ici. F'=k*F pour la fréquence, donc 
> i'=k*i pour les indices de la FFT, facile. Donne-moi la formule pour 
> la phase, ce devrait être facile pour un cador comme toi.

il y a encore plein d'inconnues dans ton set-up comme dans tes buts 
(i.e. les contraintes qu'ils impliquent).

mais bon, si tu te fiche de la phase, pourquoi ne pas juste la mettre à 
zero, et ne garder que le module de la freq (à décaler à ta guise)  ?
( ou disons, à 2pi.random(f) pour éviter la correlation massive en 0 ).

comme ça elle tombera automatiquement d'aplomb si tu met tes iFFT bout a 
bout.
Sauf si tu fais un recouvrement a la reconstruction, auquel cas il 
manque des infos.


> JE VEUX METTRE LE PITCH SHIFTING SEULEMENT EN BONUS AUDIO
c'est pas la peine de crier. et dire ça ne remplace pas un cahier des 
charges, seule moyen de savoir ce que tu considérera comme "bon" ou 
"mauvais". Mais supposons que tu veuilles juste la continuité. → 
solution ci dessus.

> MES FFT FAITES POUR LE DECODAGE RADIO, LESQUELLES SONT LONGUES !
on ne sait toujours pas si "longue" signifie une fraction de secondes ou 
plusieurs minutes.

> Je ne vais pas tout refaire.

ah mais les données sont déjà acquises ?


>
> En plus les FFT courtes, c'est aussi parce qu'en musique ils sont 
> obnubilités par le temps de latence, ce dont je me fiche.
non, ça n'est pas du tout le problème ici.
Si tu veux avoir du son audible pour de la voix ou transitoires 
musicaux, l'effet de correlation de phase est quasi totalement résolu 
juste en gardant l'espace temporel aux echelles de temps pertinentes ( 
disons > 1/100 ou 1/20 seconde  ), c'est a dire en fenetrant pas plus large.
Mais si tu te fiche réellement de la qualité sonore du moment qu'il n'y 
a pas de discontinuité, alors baste, en effet.

> Je pense qu'il y une solution, et je crois même en être assez proche. 
> Je viens d'utiliser  :
> phase = atan(imag[i]/real[i]) - (2*pi*i*(1-k))
> c'est à dire que je corrige à l'indice i la phase d'une valeur égale 
> au décalage entrainé par la différence de fréquences. Et je n'ai plus 
> de rupture de phase. Mais j'ai maintenant des variations d'amplitude 
> en fonction des fréquences. La solution est sans doute de répartir le 
> décalage de fréquence finale à la fois dans la fréquence et dans la 
> phase, donc de ne pas faire bêtement F'=k*F.

pour l'instant je laisse de côté l'analyse de ce que tu veux dire, mais 
surtout: est-ce que tu fait cette opération dans le spectre, puis iFFT ?
Ou juste après la transformation souhaitée tu fait une resynthèse 
directe "à la mano" ? ( somme des sinusoides ).
Toute la différence porte sur les valeurs de k permises ( parceque 
prendre k = 1.137941 dans un la FFT risque de lui faire tout drôle :-D )

-- 
Fabrice