Obsah fóra hifi.slovanet.sk hifi.slovanet.sk


 
 FAQFAQ   HľadaťHľadať   Zoznam užívateľovZoznam užívateľov   Užívateľské skupinyUžívateľské skupiny   RegistráciaRegistrácia 
 NastaveniaNastavenia   Súkromné správySúkromné správy   PrihláseniePrihlásenie 
https://www.tnt-audio.com/gif/smallstereo_white.gif

Resampling - otázka
Choď na stránku Predchádzajúca  1, 2
 
Pridať novú tému   Zaslať odpoveď    Obsah fóra hifi.slovanet.sk -> Digitál
Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
dustin
Hifi inventar


Založený: 06 október 2006
Príspevky: 4843
Bydlisko: Plzeň

PríspevokZaslal: Ne február 19, 2017 00:21:11    Predmet: Odpovedať s citátom

dihalt napísal:


Kmitočty nad originální fs lze počítat, ovšem zatím mi to dělalo jen bordel.


Jak?

citácia:
lowpass jako anti-aliasing je jen chabá berlička.


Pořád zmiňuješ sox. I ten při oversamplingu nedělá nic jiného, než že chybějící vzorky nahradí za nuly a výsledný stream o Nxfs řízne brickwallem (tedy strmým lowpassem - ten parametr -v z něj udělá pořádně strmý) na fs/2 původního signálu. Tedy žádné vyšší frekvence tam nedostaneš, než byly v původním signálu.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dihalt
Nádejný hifista


Založený: 11 február 2017
Príspevky: 51

PríspevokZaslal: Ne február 19, 2017 00:50:28    Predmet: Odpovedať s citátom

dustin napísal:
dihalt napísal:


Kmitočty nad originální fs lze počítat, ovšem zatím mi to dělalo jen bordel.


Jak?

citácia:
lowpass jako anti-aliasing je jen chabá berlička.


Pořád zmiňuješ sox. I ten při oversamplingu nedělá nic jiného, než že chybějící vzorky nahradí za nuly a výsledný stream o Nxfs řízne brickwallem (tedy strmým lowpassem - ten parametr -v z něj udělá pořádně strmý) na fs/2 původního signálu. Tedy žádné vyšší frekvence tam nedostaneš, než byly v původním signálu.


Ale kdepak, sox rate efekt defaultně interpoluje podle sin křivky, tedy žádný zerohold. Vyšší artefaktické frekvence tam lze dostat třeba "sox input rate -vMa 14112000 rate -va 96000 output", jenže je to poměrně nepatřičný šum i když trochu koreluje s originálním podkladem a navíc některé kombinace rate -v xxxxx rate -v xxx skladbu prodlužjí v čase, podivná chybinka algoritmu. Brickwall moc neznám, nastuduji. Velmi zajímavou vlastností sinc resamplu je Gibbsův efekt, který je silně vidět při resamplu obdélníku právě do nedělitelného samplerate, s tím se moc dělat nedá, maximálně ten lowpass. Přepínač -a je vlastně vypnutí lowpass v efektu rate, mám -va v metodě proto že výsledek musí mít stejný čas jako originál, -v nevím přesně co dělá, píšou jen, že je to nejvyšší kvalita přepočtu, tak ho tam prostě mám a nelituji toho.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dihalt
Nádejný hifista


Založený: 11 február 2017
Príspevky: 51

PríspevokZaslal: Ne február 19, 2017 01:23:17    Predmet: Odpovedať s citátom

miero napísal:
test nebude, skusil som resamplovat dvoma sposobmi a vysledok bol po odcitani rovnaky az do urovne cca -120dB

takto mozes si to odcitat sam:

sox -V3 -M VSTUP1.flac VSTUP2.flac VYSTUP.flac remix 1,3v-1 2,4v-1 stats

a este prikaz na IMHO spravne resamplovanie tej tvojej konkretnej MP3ky

sox --multi-threaded -R -V3 VSTUP.mp3 -b 24 VYSTUP.flac stats vol -1dB rate -v 96k vol +0.7dB stats

t.j. znizit hlasitost pred resamplovanim a dorovnat po resamplovani ... ale dorovnat uplne nejde, lebo ta MP3ka je priserna a limituje uz sama o sebe

a po resamplovani castokrat bez limitacie uz ani nejde uplne dorovnat hlasitost ... i preto DACy musia mat nejaku rezervu aby pri internom oversamplingu nelimitovali ... a zial tie horsie to nemaju poriadne sprave (napr. v NAD D 3020 ci D 7050)


tak, vol 0.75 skvěle stačí na vytvoření prostoru pro resampling, a to ještě není nutně potřeba u skladeb dobře zmástrovaných, resamplovat 44100 přímo do 96000 si dovolím teprve až bude resampler respektovat nejmenší společný násobek, nikdy nenechám svůj DAC aby to zpracovával, nemá příliš kvalitní DSP a raději mu pošlu již předžvejkaná data v nejvyšším možném rozlišení

zde příklad jak to musím dělat aby to grandiózně zvukovalo, je to psané pro linuxový bash:
http://pastebin.com/dcZxsDnY

Není to nic jiného než jen způsob jak se velkým obloukem vyhnout malé-velké chybě.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Ne február 19, 2017 05:47:49    Predmet: Odpovedať s citátom

no neviem, to uz radsej skusit iny algoritmus nez povolovat -a
citácia:
If the −a option is given, then aliasing/imaging above the pass-band is allowed. For example, with 44.1kHz sampling rate, and a resampling band-width of 95%, this means that frequency content above 21kHz can be distorted; however, since this is above the pass-band (i.e. above the highest frequency of interest/audibility), this may not be a problem. The benefits of allowing aliasing/imaging are reduced processing time, and reduced (by almost half) transient echo artefacts.

ked to spravis niekolkokrat po sebe, tak si "umelecky" do nahravky dotvoris hromadu novych nformacii
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Ne február 19, 2017 07:11:48    Predmet: Odpovedať s citátom

skus si este toto bez rate ... t.j. skoro resampling z definicie, akurat rozlozeny na viac krokov

kód:
SINCOPTS="-40k -t 8000"
sox -V3 --multi-threaded \
    "$IN" \
    -b 24 -r 96000 "$OUT" \
    stats \
    upsample 5 sinc -21k -t 1000 vol 5 \
    upsample 2 sinc $SINCOPTS vol 2 \
    upsample 2 sinc $SINCOPTS vol 2 \
    upsample 2 sinc $SINCOPTS vol 2 \
    upsample 2 sinc $SINCOPTS vol 2 \
    upsample 2 sinc $SINCOPTS vol 2 \
    upsample 2 sinc $SINCOPTS vol 2 stats \
    downsample 147 stats


a ak budes menit parametre sinc filtrov, daj pozor aby ti nevypisalo nieco taketo, inak stracas informaciu/hlasitost/...
citácia:
sox INFO sinc: num taps = 32767 (from 36975)

no najdolezitejsi je tam ten prvy "sinc -21k -t 1000" ... ten urci vysledny zvuk ... tie dalsie uz len udrzuju "ticho" nad 21kHz aby sa voslo do vystupnej fs/2 t.j. 48kHz


Naposledy upravil miero dňa Ne február 19, 2017 08:23:59, celkom upravené 1 krát.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Ne február 19, 2017 08:15:41    Predmet: Odpovedať s citátom

hmm, ale toto je podozrive, SoX mozno nerobi spravne resampling pri prechode 220500->96000.

Predchadzajuci prikaz som poupravil takto:
kód:
sox -V3 --multi-threaded \
    "$IN" \
    -b 24 -r 96000 "$OUT" \
    stats \
    upsample 5 sinc -21k -t 1000 vol 5 \
    rate -v 96k stats

Taketo velke urovne su v rozdielovom subore (oproti vystupu z predchadzajuceho prispevku):
kód:
             Overall     Left      Right
DC offset   0.000000  0.000000  0.000000
Min level  -0.000120 -0.000120 -0.000071
Max level   0.000049  0.000049  0.000030
Pk lev dB     -78.40    -78.40    -83.00
RMS lev dB   -144.02   -142.73   -145.85
RMS Pk dB    -112.73   -112.73   -117.40
RMS Tr dB    -162.32   -161.08   -162.32
Crest factor       -   1645.97   1388.20
Flat factor     0.00      0.00      0.00
Pk count           2         2         2
Bit-depth      11/24     11/24     11/24
Num samples    7.20M
Length s      74.998
Scale max   1.000000
Window s       0.050



spectrogram.png
 Description:
normalizovany rozdielovy subor
 Filesize:  246.79 KB
 Viewed:  81 Time(s)

spectrogram.png


Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Ne február 19, 2017 12:40:28    Predmet: Odpovedať s citátom

toto generuje vacsi FLAC subor nez "rate -v 96k" a to ma strmsi filter nez pouziva rate
kód:
SINCOPTS="-40k -t 8000"
sox -V3 --multi-threaded "$IN" \
    -b 24 -r 96000 "$OUT" \
    stats \
    upsample 5 sinc -21k -t 1000 vol 5 \
    upsample 8 sinc $SINCOPTS vol 8 \
    upsample 4 sinc $SINCOPTS vol 4 \
    upsample 2 sinc $SINCOPTS vol 2 \
    downsample 147 stats
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dihalt
Nádejný hifista


Založený: 11 február 2017
Príspevky: 51

PríspevokZaslal: Ne február 19, 2017 12:48:30    Predmet: Odpovedať s citátom

Díky, projdu si to, zajímavé. Jinak povolit -a mohu-musím pokud jde o celočíselné násobky a rate nahoru, bez toho to mění duration. U rate dolu -a nepovolovat, jinak to dělá jakési echo. Ty rozdíly v dB metodou upsample sinc jsou impozantní Surprised

A proč hned na začátku násobit 5x? U mě jsem násobil 5x až na konci, a předtím nejdříve vše 2x abych se nakonec dostal na NSN. A downsample by nemohl být sincnutej, zprůměrovaných 147 hodnot pro jednu výslednou?

Tak další zjištění, kontroluju si časy (duration) originálu a výsledku. Snažím se o to aby se časy dokonale shodovaly, i to totiž jde slyšet. Ta kombinace násobků se sinc způsobila toto: originál 05:37.21, výsledek 05:37.16 (u jiné skladby než z minulého příspěvku), ale jinak to zní velice zajímavě a budu to velmi zkoumat.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Ne február 19, 2017 18:11:51    Predmet: Odpovedať s citátom

Ako zistujes tu dlzku? skus "sox $IN -n stats" ... a tam pozri "Length s". Nejak si neviem predstavit, ako by to malo zmenit dlzku...

Preco najprv 5? Vyslo mi to tak nahodou a dava to najvacsi FLAC subor. Skus si to preusporiadat inak, mozno najdes nieco lepsie :-)

Po downsample uz sinc netreba. Resp. bolo by treba "pred nim" keby tam nebol ziaden iny sinc pred tym. Ale ten prvy to da spravne, a tie dalsie (menej strme) uz filtruju len sum v audiopasme.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dihalt
Nádejný hifista


Založený: 11 február 2017
Príspevky: 51

PríspevokZaslal: Ne február 19, 2017 18:30:12    Predmet: Odpovedať s citátom

miero napísal:
Ako zistujes tu dlzku? skus "sox $IN -n stats" ... a tam pozri "Length s". Nejak si neviem predstavit, ako by to malo zmenit dlzku...

Preco najprv 5? Vyslo mi to tak nahodou a dava to najvacsi FLAC subor. Skus si to preusporiadat inak, mozno najdes nieco lepsie Smile

Po downsample uz sinc netreba. Resp. bolo by treba "pred nim" keby tam nebol ziaden iny sinc pred tym. Ale ten prvy to da spravne, a tie dalsie (menej strme) uz filtruju len sum v audiopasme.


Délku si zjišťuju pomocí "ffmpeg -i input.flac" u originálu i u výsledku. rate -va xxxxx tam mám schválně proto že pak to délku nezmění. Pro násobky si to musím dovolit. Celý řetězec s rate -va pak dává přesně stejnou délku.

Tyhle věci nechci nechat náhodě, musím přemýšlet nad tím co to s tím dělá, poslechnout atakdále. Přeuspořádávám to, pořád to ten sinc zkracuje.

A jak tak přemýšlím nad emulací analogu digitálem (14112000hz Very Happy ) tak spekuluji mezi možnostma, Z celé řady hotových samplů spočítat jediný pomocí sinc (buď to průměruje nebo to interpoluje, nevím) nebo ten jediný z řady prostě vybrat pomocí downsample ve stylu zerohold.


Naposledy upravil dihalt dňa Ne február 19, 2017 22:54:51, celkom upravené 1 krát.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Ne február 19, 2017 19:26:39    Predmet: Odpovedať s citátom

sice ti uplne nerozumiem, ale skus este porovnavat dlzku FLACov a nie MP3 ... u MP3 je dlzka IMHO sporna

resp. u mna sa dlzka nemeni nech robim co robim
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Ne február 19, 2017 19:44:58    Predmet: Odpovedať s citátom

aha..
citácia:
You can decode the file completely to get the actual duration:

ffmpeg -i input.mp3 -f null -
The second to the last line of the console output will show something like:

size=N/A time=00:03:49.12 bitrate=N/A
Where time is the actual duration. In this example the whole process took about 0.5 seconds.

Zdroj: http://stackoverflow.com/questions/10437750/how-to-get-the-real-actual-duration-of-an-mp3-file-vbr-or-cbr-server-side
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dihalt
Nádejný hifista


Založený: 11 február 2017
Príspevky: 51

PríspevokZaslal: Ne február 19, 2017 21:43:02    Predmet: Odpovedať s citátom

miero napísal:
aha..
citácia:
You can decode the file completely to get the actual duration:

ffmpeg -i input.mp3 -f null -
The second to the last line of the console output will show something like:

size=N/A time=00:03:49.12 bitrate=N/A
Where time is the actual duration. In this example the whole process took about 0.5 seconds.

Zdroj: http://stackoverflow.com/questions/10437750/how-to-get-the-real-actual-duration-of-an-mp3-file-vbr-or-cbr-server-side


Zase díky, tak pro flacy to ukazuje shodný časy, mp3 nikoliv. To znamená že je to v pořádku. Přesto záležitost s -va platí, protože časový rozdíl při špatně zvolených přepínačích je tím delší čím delší je skladba. Ale to naštěstí už není náš případ.

Btw. co vyjadřuje num taps?

Zvláštní je jak oproti rate sekvenci sinc posílil středy, nebo utlumil výšky. Přeci jen rate nezanechával ve výškách žádný nesmysly a taky to hobloval do kulata. Zní to velmi dobře a hluboce.

Ještě to čeká test obdélníkem. Jako zdroj si volím ZXtune, kde si vygeneruji obdélníky mého oblíbeného AY Smile
...
Tak obdélníky byly zgibbsovány.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Ne február 19, 2017 23:30:06    Predmet: Odpovedať s citátom

napr. tuto si na ukazku mozes navrhnut vlastny FIR filter http://t-filter.engineerjs.com/ ktory potom ide pouzit v SoXe
- sampling rate 88200
- 0-20000Hz, gain 1, ripple 0.05dB
- 21000-44100, gain 0, att -100dB
- kliknes "Design filter"
- vypocita ti filter s 381 taps ... tzn. 381 riadkov cisel (vpravo)
- tie si ulozis do suboru napr. taps88200.txt
- pouzijes v SoXe namiesto sinc filtra
citácia:
sox -r 88200 -b 24 -n test.wav synth 15 white vol -6dB fir taps88200.txt spectrogram -o test.png


a tuto najdes zoznam programov na navrh FIR filtrov: https://www.minidsp.com/applications/advanced-tools/fir-filter-tools
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dihalt
Nádejný hifista


Založený: 11 február 2017
Príspevky: 51

PríspevokZaslal: Po február 20, 2017 00:01:42    Predmet: Odpovedať s citátom

Opravdu velký dík, tohle jsem už nějakou dobu něúspěšně hledal. A hlavně jak to použít.
...
Předpovídám hodně divokou fitraci. Už na 176400 mi t-filter vypsal samý nuly.
...
https://www.ludd.ltu.se/~torger/brutefir.html Software convolution engine for applying long FIR filters
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Po február 20, 2017 09:10:05    Predmet: Odpovedať s citátom

ten T-Filter je pomala hracka na rychle ukazanie co to robi ... napr. tento funguje dobre a rychlo http://www.iowahills.com/5FIRFiltersPage.html
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Henri
Hifista - zaslúžilec


Založený: 30 marec 2015
Príspevky: 625

PríspevokZaslal: Po február 20, 2017 11:55:23    Predmet: Odpovedať s citátom

Ja by som si ešte raz dovolil zopakovať a zdôrazniť, čo tu odznelo medzi riadkami:
Brickwall filter s vysokým Q - z teoretického hľadiska predstavuje ideálnu strmosť s dobrým potlačením anti-aliasingu ,má však niektoré nevýhody, ktoré sú vysoko nežiaduce ( a v audio praxi je v podstate nepočúvateľný ! ): čim strmší filter je, tým vačši bude pre-ringing okolo strednej / hraničnej frekvencie. To spôsobí, v "lineárnej fáze" oscilácie filtra – čim strmší filter tým dlhšie vyzváňanie.Pri "normálnom" filtrovaní nastane pre-ring po skutočnej príčine oscilácie - takže zvonenie je vo väčšine prípadov maskované .
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Po február 20, 2017 12:43:45    Predmet: Odpovedať s citátom

OK, a aky filter teda doporucujes pouzivat pri resamplingu zo 44100 na 96000? :-)
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Henri
Hifista - zaslúžilec


Založený: 30 marec 2015
Príspevky: 625

PríspevokZaslal: Po február 20, 2017 13:14:36    Predmet: Odpovedať s citátom

Prečo sa v dnešnej dobe držať pri zemi a obmedzovať sa 96 k ? ak by sme išli vyššie tak potom starý dobrý Bessel... Thumbs up
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Po február 20, 2017 13:17:01    Predmet: Odpovedať s citátom

Ozaj, ked dovolis aliasy tak je vhodne resamplovat na nizsiu hlasitost, lebo tie aliasy v sucte so signalom mozu prekrocit max. amplitudu a teda sposobit "clipping".
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Po február 20, 2017 13:18:51    Predmet: Odpovedať s citátom

Bessel? A co jeho group delay? Kde kompenzovat to?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Henri
Hifista - zaslúžilec


Založený: 30 marec 2015
Príspevky: 625

PríspevokZaslal: Po február 20, 2017 13:36:25    Predmet: Odpovedať s citátom

To je síce možne, ale v praxi asi nie dosť bežne, záleží ktorý rád filtrovania použiješ.Už mierne zníženie strmosti oproti Brickwall hodnotia poslucháči ako jasne zvukove zlepšenie
A tom je asi cele to ladenie filtrov?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Henri
Hifista - zaslúžilec


Založený: 30 marec 2015
Príspevky: 625

PríspevokZaslal: Po február 20, 2017 13:43:41    Predmet: Odpovedať s citátom

Ad group delay: obávaš sa vyššieho skreslenia ? tak to neviem, zrejme preto je potrebne to vysoké prevzorkovanie.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Po február 20, 2017 13:47:44    Predmet: Odpovedať s citátom

Pokus Bessel filtra na 220500fs (44100*5) ... akurat bude potrebovat prehravanie a 1/4 hlasitosti a na 192kHz ... na 96kHz nestaci

mozno nieco podobne ma Dohnalik v jeho "optimal transient" filtri

ale zbytocne by tam bolo spektrum skopirovane 3x na 22-96 kHz



bessel-220500-12-043.png
 Description:
 Filesize:  33.08 KB
 Viewed:  48 Time(s)

bessel-220500-12-043.png




Naposledy upravil miero dňa Po február 20, 2017 13:56:13, celkom upravené 3 krát.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Henri
Hifista - zaslúžilec


Založený: 30 marec 2015
Príspevky: 625

PríspevokZaslal: Po február 20, 2017 13:54:13    Predmet: Odpovedať s citátom

miero napísal:
Pokus bessel filtra na 220500fs (44100*5) ... akurat bude potrebovat prehravanie na 192kHz ... na 96kHz nestaci


ved som to napisal, asi nie dosť jasno ?
Henri napísal:
Prečo sa v dnešnej dobe držať pri zemi a obmedzovať sa 96 k ? ak by sme išli vyššie tak potom starý dobrý Bessel... Thumbs up

Henri napísal:
...zrejme preto je potrebne to vysoké prevzorkovanie.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Po február 20, 2017 13:57:39    Predmet: Odpovedať s citátom

samozrejme ze ano ... ale radsej som to zopakoval ;-)
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dihalt
Nádejný hifista


Založený: 11 február 2017
Príspevky: 51

PríspevokZaslal: Po február 20, 2017 14:44:29    Predmet: Odpovedať s citátom

miero napísal:
toto generuje vacsi FLAC subor nez "rate -v 96k" a to ma strmsi filter nez pouziva rate
kód:
SINCOPTS="-40k -t 8000"
sox -V3 --multi-threaded "$IN" \
    -b 24 -r 96000 "$OUT" \
    stats \
    upsample 5 sinc -21k -t 1000 vol 5 \
    upsample 8 sinc $SINCOPTS vol 8 \
    upsample 4 sinc $SINCOPTS vol 4 \
    upsample 2 sinc $SINCOPTS vol 2 \
    downsample 147 stats


Má modifikace, 5x na začátku znělo trochu jinak než když je na konci.

kód:

vol "$volume" \
                upsample 2 sinc -21k -t 1000 vol 2 \
                upsample 2 sinc -40k -t 8000 vol 2 \
                upsample 2 sinc -40k -t 8000 vol 2 \
                upsample 2 sinc -40k -t 8000 vol 2 \
                upsample 2 sinc -40k -t 8000 vol 2 \
                upsample 2 sinc -40k -t 8000 vol 2 \
                upsample 5 sinc -40k -t 8000 vol 5 \
                downsample 147
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
miero
Hifi inventar


Založený: 08 september 2010
Príspevky: 10530
Bydlisko: Praha

PríspevokZaslal: Po február 20, 2017 15:15:09    Predmet: Odpovedať s citátom

je to mozne...
citácia:
Use the following guidelines when you manually specify factorizations.
* Use two or three stages for optimal or near optimal results.
* Use the largest factor at the highest sampling frequency. Decimate in order from the largest to the smallest factor and interpolate in order from the smallest to the largest factor.

Zdroj: http://zone.ni.com/reference/en-XX/help/371325F-01/lvdfdtconcepts/mstage_mrate_filt/
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dihalt
Nádejný hifista


Založený: 11 február 2017
Príspevky: 51

PríspevokZaslal: Ne marec 05, 2017 13:18:19    Predmet: FIR Odpovedať s citátom

Takže zkoumám co vlastně FIR filtry nabízí. Jenže narazil jsem na problém. Jak pomocí FIR ustavit vztah mezi fs 44100 a 14112000 abych pak mohl decimovat na svých 96000? Lze FIR filtrem nějak předem pomocí koeficientů simulovat posouvání výpočtového okna mezi fs, díky tomu bych zřejmě nemusel vytvářet mnoho samplů navíc, nepoužít oněch virtuálních 14Mhz? FIR dlouhý přesně 147 vteřin nebude asi nijak malý? Něco asi ještě nechápu Very Happy
_________________
"nehledejte za tím spiknutí, pokud je lajdáctví dostatečným vysvětlením"
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
dihalt
Nádejný hifista


Založený: 11 február 2017
Príspevky: 51

PríspevokZaslal: Pi júl 15, 2022 19:50:45    Predmet: Za všechno může čas Odpovedať s citátom

Už před rokem jsem skončil s experimenty s algoritmy, jakýmikoliv algoritmy včetně těch realizovaných harwarově. Důvodem je matematická nedostatečnost a nutnost ořezávání do tvaru funkce.

Příroda, akustika má něco co matematika nikdy mít nebude - šmrnc. Elektronika je stále blíže k akustice než jakákoliv virtualizace, matematizace. Možná se pletu, ale příroda osciluje maličko do spirály, to hudbě dodává její kouzlo a účinky. Ořezání do tvaru fukce sinus tuto spirálu znehodnotí do tvaru kruhu. A to je důvod, proč jsou filtrované nahrávky takové jaké jsou.


Po všech pokusech se SoX a Audacity přišlo na řadu jednodušší řešení. Propojit DAC tikající na 44100 s ADC na 48000. Vzniklá data popisují stále správnou strmost, a tím se více hodí na koncové DAC při reprodukci.

Tímto jsem degradoval počítač na pouhé záznamové zařízení, jež už nikdy nesmí do nahraných dat zasáhnout algoritmem, a to ani softvolume. Mezi DAC a ADC mám analogový mix, kterým doslova doladím hlasitost. Tento proces jsem si pracovně nazval "osciluji komparátorem", protože když komparátoru v ADC pošlu dlouhý impuls z 0 na maximum, komparátor zaosciluje a nejvyšší hladinu oscilace je možné použít k doladění vztahu mezi samplovačkami. Podobně ale opačně komparátor zaosciluje u impulsu z maxima na nulu.

Žádný lowpass, žádný interpolační filtr neumí tak pěkně hrát jako komparátor. Zkrátka součinnost kvalitních součástek namísto matematické "přesnosti".

To, co rozkmitá výsledný signál z hrany na "křivuli", se nazývá Gibbsonův jev. Cílem nemá být jej zcela omezit, jak by se mohlo zdát, ono to prostě nejde. Mým poznatkem a cílem je rozkmitat jej elektronicky, nikoliv matematicky. Pro tento účel je rozumně navržený vstup ADC převodníku ideální(operační zesilovač v zapojení komparátor), provádí korekci samplů korektně. Nic lepšího jsem za ty roky nevyzkoumal, místo toho objevil matematickou nedostatečnost. Samozřejmě se to týká jakéhokoliv signálového processingu na bázi výpočtů - ekvalizéry, volume, různé efekty a defekty jako normalizace a dynamic range compression. Pokud tyto jdou konstruovat elektronicky, nechť se tak děje. Teprve až finální signál ať je nasamplován - dnes raději do 48kHz vzhledem k rozšířenosti 48k DAC, plošného vysílání na téže frekvenci.

Není to dobrá zpráva pro fanoušky VST a digitálního "pohodlí"?

Dále na otázku jestli je převod do vyšší samplovačky lepší než do nižší odpovím asi tak: Díky matematické nedostatečnosti (málo známý fenomén) není možné dosáhnout perfektní strmosti ani u frekvencí vzájemně soudělitelných. U převodu DA-AD je naopak strmost zachována a tam je to jedno, pouze podle kvality součástek a napájecích zdrojů se objevuje šum, brum, cvrlikání, podle kvality zdrojů a převodníků. Tyto neduhy jdou minimalizovat kvalitním stíněným zdrojem. Nahrával jsem notebookem z baterie bez připojené sítě, jen tak pro ověření pravosti svého tvrzení.

----
Mohu-li skromně připomenout problém strmosti, připomenu. Strmost chápu jako celkovou sumu samplů v originálním záznamu signálu. V ideálním případě je taková suma rovna nule, strmost zůstává rovná. V případech, které jsou všude kolem ke slyšení, je strmost narušena resamplujícím filtrem. Jakákoliv matematika softwarová nebo harwarová (DSP procesy) strmost systematicky posunují, říkám tomu že to hraje "nakřivo", odtud rozdíl mezi pravdou a křivdou. Odtud mám důležité pravidlo pro digitální záznamy: přehrávej(DAC) data přesně tak jak jsi je nahrál(ADC). Chceš-li resamplovat, vezmi DAC, přehrávej data, pomocí ADC je nahraj do nové samplerate. V podstatě přeosciluješ záznam do nového záznamu komparátorem tvého ADC. Strmost bude neporušena. Maličká nevýhoda takového postupu je, že rychleji než realtime tento proces provádět nelze. Naproti tomu rychlejší resampl metody matematické jsou neposlouchatelné a frustrující, hraje to třebaže čistě, jede to šejdrem. Dnešní DAC zabudované do lowcost přehrávačů mají DAC natvrdo 48000Hz přičemž drtivá většina záznamů jest ve 44100Hz. 96000Hz? Hezké, ale jde šejdrem taky, problém nesoudělitelnosti a matematické nedostatečnosti nenechá strmost rovnou. A tak z pravdy vzniká křivda. Už více jak dvacet let.
----

PS: Víte, že strmost má vliv na činnost rovnovážného systému člověka? A že ten souvisí s psychickou pohodou? Neudělá to mořskou nemoc, to ne, zde mířím k ladění a rozladění až na neurologické úrovni.

_________________
"nehledejte za tím spiknutí, pokud je lajdáctví dostatečným vysvětlením"
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:   
Pridať novú tému   Zaslať odpoveď    Obsah fóra hifi.slovanet.sk -> Digitál Časy uvádzané v GMT + 1 hodina
Choď na stránku Predchádzajúca  1, 2
Strana 2 z 2

 
Prejdi na:  
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.
Môžete pripojiť súbory do tohto fóra.
Môžete sťahovať súbory z tohto fóra.


Powered by phpBB © 2001, 2005 phpBB Group
Slovenský preklad phpBB Slovak - www.pcforum.sk
TOPlist