Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RPi kao audio izvor
#21
To sa transportom i sa sa resemplingom je najjednostavnije uporediti sa na primer klasicnim digitalnim komunikacija izmedju dva neka redjaja.

Na primer, treba da se seriskom vezom prenese TACNO informacija sa jende na drugu stranu, sve u BIT da bude tacno i pri tome nemate mehanizme sa "recover" izgubljenih paketa niti parrity check, kao klasican primer seriske USART komunikacije na 115200 Baud 8N1. Dakle samo potpuno tacan clock sa jedne i druge strane moze to da obezbedi, stim sto postoji neki nivo tolerancije u razlici u clcock-u dokle moze to da radi bez greske i problem sa tom tolerancijom se pogorsava kako raste Baud rate. Kod Audio 44.1ksps 16bit 2 kanala (i bez ikakvog oversampling) to se vec penje na 1.4Mbaud i raste kako se menja neki od parametra.

Sta bi u ovom primeru radio resampling? Smile
Sta ce da se desi sa informacijom ako tu dodamo ili oduzmemo neki BIT, pa naravno da to nije vise isto kakvom god matematim dodavali/oduzimali te bitove ...
Reply
#22
A zamisli koja je tek količina podataka kada se šalje 24bit 705,6/768kHz informacija, doduše USB2 linijom. U ovom slučaju se radi o apsemplingu, jednostavnom množenju SR baze (44.1k ili 48k) 4, 8 ili 16 puta. U mom slučaju to nije qrčenje već se u tih novonastalih 15 novih između dva originalna sempla posebnim algoritmom, proračunom, ubacuje informacija koja treba što približnije da ocrta neku analognu krivu koju bi stvorio gramofon ili studijski trakaš recimo. Uz to se sada na višim frekvencijama vrši digitalno (kompjutersko) filtriranje te se konverteru prosleđuje čisti signal pa nam na izlazu DAC-a ne treba inače obavezni digi filter, najveće zlo i kvariša digitalije.
Reply
#23
(05-04-2020, 06:46 AM)zbotic Wrote: Ja imam 5 Rpia u različitim konfiguracijama (DAC, USB, SPDIF, I2S) i mogu kazati da je previše faktora u igri da bi se bilo koji sistem mogao proglasiti lošim. Vrlo je važan i software itd. Mjesta za eksperimentiranje i poboljšanje je beskonačno, tako da ništa ne treba uzeti zdravo za gotovo. Lupetaju se po netu priče ne valja napajanje, ne valja USB, ne valja ovo ili ono, a sve su to gluposti koje je samo potrebno uštimati.....

BTW radim upravo i jedan super-streamer na bazi Rpia, AK4137 i PCM1792  pa kada dođe vrijeme staviti ću poneku fotografiju.....
Bukvalno je samo zamenjena plocica sa istom sd karticom na picore pleyeru, nema drugih izmena u sistemu. Prvenstveno mi treba dobar strimer sa spdif izlazom jer koristim moj dac, ostale kombinacije me ne interesuju
Reply
#24
Jevreme-ovi postovi po meni zaslužuju novu temu - gde i pod kojim imenom želiš da pokrenem novu?
"Pretpostavka je majka zajeba..." : D.V. - Dude
Reply
#25
Sledece nedelje bi trebao uporediti i kineza sa digione signature pa cu izneti i ta slusna iskustva. Postavlja se pitanje onda informacije za sve dac-ove koji imaju svoj klok sinhronizacija podataka izmedju izvora (transporta) i dac-a. Ispada da je jedino resenje sopstveni bafer u koji ce se ucitati podaci pa iz njega generisati klok ali i tada mora jednom da zafali informacija ako postoje neusaglasenost slanja podataka i potrosnje istih podataka. Prakticno bi za takav uredjaj trebalo definisati koliko dugo moze on da radi iz sopstvene memorije ako se iskljuci izvor. Za nas audifile bi rekli dovoljno mi je da mi jedan ceo album od sat vremena moze da stane u bafer jer ako se ogranicim na jednu pesmu sta ako zelim da slusam koncert koji traje duze. Ako na ovaj nacin razmisljamo ispada da nam cd uredjaj ili dvd uredjaj kao izvor ne odgovara i da bi nam neki zapis u vidu flac-a ili wav fajla mnogo vise odgovarao jer mozemo da manipulisemo sa njim koristeci nas takt. Dobro i dosli smo da RPI sa svojim klokom moze da radi korektno a sa dodatnim klokom na spdif konverteru bi po tom razmisljanju mogao da pravi probleme. Da li spdif konverter koji se kaci na rpi ima svoj procesor koji ce preuzimati podatke od rpi kao racunara i prosledjivati konverteru po potrebi. Ovaj deo sinhronizacija izmedju dva digitalna uredja mi je nejasan i verovatno neko moze da da bolju informaciju kako to sve funkcionise
Reply
#26
Hehe, @nik, vidi, kako moze bilo koji algoritam da popuni medju prostor izmedju dva neka sempla?
Jednom kada se diskretizuje audio signal, sve izmedju semplova je nepovratno izgubljena informacija.
Mozda taj algoritam nije dobro proracunao, mozda je realna tacka ipak malo vise trebala da bude, ili mozda malo nize, sto je bas tu gde je algoritam proracunao? 
Mi ne slusamo ciste sinuse niti trouglaste signale pa da mozemo sa velikom verovatnocom da tvrdimo da je medju tacka bas tu trebala da bude vec vrlo ne-periodicne signale sto inace cini muziku Smile
To sve spada u domen "matematickog bajanja" ili ti kako-se-kome-vise-svidja, zato i stavljaju po programima vise razlicitih algoritama pa korisnik bira. Kako je to bilo u stvarnosti to nakon digitalizacije signala na zalost ne moze vise da se zna.
Reply
#27
Mozda sam zakukuljio prethodni post pa cu za clanove koji ne prate temu pokusati da pojednostavim u par recenica:

1. konstatovali smo da kasnjenje bita koji nosi informaciju o signalu utice na ispravnost signala. Da se to ne bi desilo mora da postoji sinhronizovanost izmedju izvora koji salje signal, sto je u slucaju cd plejera transport, i dac-a koji treba da primi informaciju i prenese u ispravan audio signal.

2. povela se tema o raznim frekvencijama uzorkovanja i pretvaranje jedne frekvencije u drugu sto nije ispravno jer vi ako imate nesto sto je definisano u vremenu sa recimo 10 tacaka, ako pokusate da razvucete na 12 tacaka u nekim segmentima cete duplirati prethodnu tacku a time vremenski zakasniti neke informacije i pokvariti signal. Zakljucak je, bar moj da bi najbolje bilo reprodukovati u sempling frekvenciji u kojoj je i snimano.

3. Nik je ponovio po ko zna koji put da njegov racunar 16 bitni signal sa 44.1kHz frekvencijom uzorkovanja odredjenim softverom pretvara u 32bitni signal sa vecom frekvencijom uzorkovanja i tvrdi da je to savrseno. Istina je da njegov dac u sebi ima dsp koji uspesno vraca informaciju iz softvera jer je oba softvera pisao isti covek i prilagodio jedan za drugi. Postavlja se pitanje simulacije tacaka koje nedostaju u signalu prilikom povecanja broja bita.

4. Ako nam dac ima fiksni klok a koristimo neki drugi transport, navedeno je da je jedino resenje da postoji master klok koji ce sinhronizovati sve komponente u lancu

5. Na kraju smo se vratili na RPi razmatrajuci prethodno navedene probleme, koliko kvalitetno moze da se prosledi digitalni zapis u audio format a da se ne izgubi informacija.

Mislim da sam sazeo prethodni malo haotican tok razgovora da bi se lakse nastavio razgovor
Reply
#28
Ekstenzijom logike da je diskretizacija i kvantizacija analognog signala proces pri kome se gube informacije sledi logičan zaključak da je analogni signal nemoguće diskretizovati bez gubitaka, ma koliko visok bio takt diskretizacie i broj bitova pri kvantizaciji.

Istina je sledeća: signal s ograničenim frekventnim opsegom nema komponente iznad polovine frekvencije takta i diskretizuje se bez gubitaka po frekventnom sastavu. 
Tačnost kvantizacije je funkcija broja bita u reči i ona zavisi od nivoa šuma u signalu i elektronici - nema još uvek mikrofona koji idu do 24 bita, a nema ni A/D, odn. D/A konvertora koji mogu da iskoriste sva 24 bita. 
Tako diskretizovan signal se može ponovo vratiti u analogni domen, do granice šuma.

Pozdrav
Reply
#29
@nik
Jos samo ovo, zamisli da ti algoritmi za upsampling "stvarno rade", ko nas onda sprecava da uradimo jos jednu takvu iteraciju nad signalom, pa ko nas sprecava jos jednu, pa jos jednu i tako dokle nam se cefne Smile
Tako bi onda hipoteticki dosli do toga da npr i 8bit 8kHz DAC-ovi zvuce kao i ovi sadasnji najmoderniji sto je slozices se ipak nemoguce Wink
Reply
#30
@Miki
Apsempling je jednostavno množenje i tu nema nepoznanica. Takvu operaciju izvodi i najjednostavniji audio softver. Proširenje reči na 32 bita je takođe vrlo jednostavno - dopisuju se nule.

Ono šta nije jednostavno jeste kreirati uspešan algoritam koji će tim praznim novonastalim pozicijama pridodati neku vrednost napona koja će zaista na najbolji način dočarati deo krive analognog signala. Jedan od najuspešnijih softvera studijske namene sa upravo takvim algoritmima jeste iZotope. Autor softvera koji ja koristim je čak optužen za krađu softverskog koda a optužio ga je tvorac još jednog moćnog audio plejera - tvorac JPlay softvera. Naravno da kod nije kraden već je rezultat rada računarskog genija. Analogna kriva o kojoj pričamo nikada nije prosta sinusoida već rapavo izreckana linija puna oštrih vrhova i dubokih provalija.  Zadatak tog algoritma jeste predviđanje oblika krive te se zove 'Arc prediction'.

Nakon ovog koraka sledi primena filtracije na granicama signala ali se filtracija sada izvodi na 305,6/384kHz - daleko van audio područja pa i frekventnog područja samog pojačala, s tim da se posledice filtracije vraćaju duboko nazad, i u čujno audio područje. O ovome niti jedan proizvođač konvertora ne piše niti iznosi podatke tj. nivo signala i procenat izobličenja. Osnovni zadatak ove filtracije je apsolutno očuvanje faze signala. Čitava ideja jeste očuvanje faze signala pa se i projekat zove 'Phasure'.

E sad, zabava ne bi bila potpuna da ne postoji još jedan filter, tzv 'Custom Arc Prediction' koji nije različit od početnog ali predstavlja drugu fazu filtracije koja se primenjuje nad početnom filtracijom. Ova je sada daleko blaža da bi se održali svi tranzijenti ukoliko ih ima. Sada su tačke uzorkovanja pomerene, kao što bi to bilo urađeno kod svake filtracije a rezultati su striktno provereni na najmoćnijem analognom FFT analizatoru današnjice. Pri postavci filtera vodi se računa da se zpravo oni najsitniji tranzijenti sačuvaju. Skoro je dao primer, to su tranzijenti koje stvara vosak gudala pri prelasku preko žica a čiji nedostatak pravi razliku violine i flaute Smile
Kod ovog 'Custom' filtera na 176,4/192kHz ne mogu se naći tačke koje ne diraju fazu pa su izabrani oni koji sa najboljim kompromisom. 

Što je viši umnožak (apsempling) lakše se i bolje radi i filtracija ali opet to zavisi od samo konvertera: sa povećanjem količine podataka dolazimo i do nekog limita šta sam konverter može da postigne.

Množenje i 32 i 64 puta je sasvim moguće ali još nemamo konverter koji radi na 1,536MHz ili 3,072MHz. A i pisanje algoritma bi verovatno potrajalo ohoho godina ili decenija možda Smile

Dodavanjem nula tj. proširenjem reči na 32 bita dobili smo ogroman broj kombinacija vrednosti napona te time omogućili softversku atenuaciju signala bez gubitka i najsitnije informacije. U 24 bita i nema audio zapisa a retko koji chip i stigne do te cifre, najbolji primerci očitaju moožda 22,5 bita.

Nema DSP-a u DAC-u već Xilinx Spartan FPGA napunjen što bi rekli 'proprietary' kodom.
Reply
#31
@nik potpuno te razumem ali opet se vratimo na primer ne sa ovim high-end spravama, nego low-end, hajde da se primene ti svi algoritmi i tehnike na naprimer 8bit 8kHz DAC i da vidimo dokle to moze da se istera a da zvuci pristojno? Smile
Tada kada taj 8bit 8kHz DAC "zazvuci" makar kao ko CD ili ajd malo realnije kao stereo FM prijemnik onda cu da poverujem u sve te algoritme i tehnike!
Nisam slepi mis i ne mogu da cujem preko par desetina kHz nikako, ne mogu o tome da sudim na tim frekvencijama koje spominjes, na ovim nizim mogu Smile
Zelim da cujem POC tj sto bi mi programeri rekli "Proof of concept" pa onda dalje da se taj koncept primeni samo sa vecim Bit/Sample rate.

PS: Mene to stvarno interesuje, bez sale, stvarno bih voleo da vidim/cujem validne POC-ove jer mi tako nesto fali na mom experimentalnom DSP baziranom Class-D Audio pojacavacu, https://yu3ma.net/wp/wp-content/uploads/...AMP-r3.pdf
Ako bude prilike da se vidimo na skupu i da vam donesem da cujete tu spravu kako zvuci sa 12bit i 48kHz procesiranjem, to je samo proba koncepta, ja sam veoma zadovoljan kako to zvuci, naravno uvek moze da se šilji i budzi dalje sa brzim/boljim delovima, poenta je prikazati neke rezultate sa nekim konceptom.

PS2: Taj DSP pojacavac je izmedju ostalog osmisljen tako da se volume kontrola ne radi na ulazu gde je to "pipavo" nego na izlazu preko promene napona napajanja izlaznog mosta! Probao i to radi bas kako sam predvideo, stim sto su mi se neki drugi problemi javljali vezani za drajvovanje izlaznih MOS-FET jer tada nisam znao za Si8233 izolovane drajvere. Takodje je ideja da se izbaci analogni ulaz i da se potpuno raskrsti sa analogijom sa te strane, ideja je da dolazi digitalni signal. Sve u svemu vrlo zanimljiv koncept za experimentisanje ...
Reply
#32
(05-05-2020, 01:00 AM)nik Wrote: @Miki
Apsempling je jednostavno množenje i tu nema nepoznanica. Takvu operaciju izvodi i najjednostavniji audio softver. Proširenje reči na 32 bita je takođe vrlo jednostavno - dopisuju se nule.

Dodavanjem nula tj. proširenjem reči na 32 bita dobili smo ogroman broj kombinacija vrednosti napona te time omogućili softversku atenuaciju signala bez gubitka i najsitnije informacije. U 24 bita i nema audio zapisa a retko koji chip i stigne do te cifre, najbolji primerci očitaju moožda 22,5 bita.
Ako se dodaju nule to znaci da signal ostaje nepromenjen samo bude utisan ili pojacan u zavisnosti od strane sa koje se dodaju nule. pri tome amplitudska rezolucija ostaje identicna, odnosno ako smo imali 16 bitni original to i ostaje 16 bitni zapis pri preprodukciji. bilo koji drugi nacin razvlacenja 16 bitnog signala u puni amplitudski opseg 32 bitne reci mora da izmisli tacke koje ne postoje. U redu ako sa 16 pretvara na 32 dodace na svako drugo mesto nulu, a sta ako a 24 pretvarana 32?
Reply
#33
Ne dodaješ nule 'na svako drugo mesto'. Zapisuješ 32-bitnu informaciju kao broj sa predznakom (Signed Value). Kako se čita i tumači ima npr u ovaj videJo a ovde navodimo moguće kombinacije tj. vrednosti u plusu i minusu (zamena za vrednosti tj. nivo napona u audio signalu)

Ako imaš 16-bitnu informaciju, postoji 65.536 mogućih kombinacija, pola od toga sa predznakom minus, dakle od -32.768 do +32.767. Sa 32-bitnom reči broj kombinacija je 4.294.967.296 iliti od -2.147.483.648 do +2.147.483.647. Poslednji bit odlučuje da li je broj pozitivan ili negativan.

A atenuacija je moguća nekih 37-38dB u koracima po 0,5dB (nemam softver ispred sebe ali tu je negde) a ne neku 'punu skalu' od recimo 100dB.
Reply
#34
(05-05-2020, 03:17 AM)mikikg Wrote: @nik potpuno te razumem ali opet se vratimo na primer ne sa ovim high-end spravama, nego low-end, hajde da se primene ti svi algoritmi i tehnike na naprimer 8bit 8kHz DAC i da vidimo dokle to moze da se istera a da zvuci pristojno? Smile
Tada kada taj 8bit 8kHz DAC "zazvuci" makar kao ko CD ili ajd malo realnije kao stereo FM prijemnik onda cu da poverujem u sve te algoritme i tehnike!
Nisam slepi mis i ne mogu da cujem preko par desetina kHz nikako, ne mogu o tome da sudim na tim frekvencijama koje spominjes, na ovim nizim mogu Smile
Zelim da cujem POC tj sto bi mi programeri rekli "Proof of concept" pa onda dalje da se taj koncept primeni samo sa vecim Bit/Sample rate.

PS: Mene to stvarno interesuje, bez sale, stvarno bih voleo da vidim/cujem validne POC-ove jer mi tako nesto fali na mom experimentalnom DSP baziranom Class-D Audio pojacavacu, https://yu3ma.net/wp/wp-content/uploads/...AMP-r3.pdf
Ako bude prilike da se vidimo na skupu i da vam donesem da cujete tu spravu kako zvuci sa 12bit i 48kHz procesiranjem, to je samo proba koncepta, ja sam veoma zadovoljan kako to zvuci, naravno uvek moze da se šilji i budzi dalje sa brzim/boljim delovima, poenta je prikazati neke rezultate sa nekim konceptom.

PS2: Taj DSP pojacavac je izmedju ostalog osmisljen tako da se volume kontrola ne radi na ulazu gde je to "pipavo" nego na izlazu preko promene napona napajanja izlaznog mosta! Probao i to radi bas kako sam predvideo, stim sto su mi se neki drugi problemi javljali vezani za drajvovanje izlaznih MOS-FET jer tada nisam znao za Si8233 izolovane drajvere. Takodje je ideja da se izbaci analogni ulaz i da se potpuno raskrsti sa analogijom sa te strane, ideja je da dolazi digitalni signal. Sve u svemu vrlo zanimljiv koncept za experimentisanje ...

Miki,
Nažalost nisam programer pa da zaista pomognem u kreiranju koda ali ovo što navodiš je sasvim razumljivo i prihvatljivo. Ni jedan 16-bitni chip ne prima svih 16 bitova informacije već možda stigne do 14. 14-bitni možda 11-12. Ali to je dovoljno informacija da naše uvo bude zadovoljno onim što izlazi i iz tih 11 ili 14 bitova. Frekventno u 24-bita nema ničega, nema frekvencija koje nam trebaju. Povećana je mogućnost dinamike signala.
Reply
#35
Po tome sto ste napisali pretvaranje 16 bitnog signala u 32 u stvari nije povecanje rezolucije amplitudskih nivoa nego onih dodatnih 16 bita koristi za digitalni volume a da se ne izgubi informacija. U nacelu imamo isti 16 bitni zapis na 32 bitnom konverteru
Reply
#36
Pa to i jeste cilj. Svako igranje sa SR ili dužinom reči je intervenisanje na originalu i to je uvek veštak, prevara i to ne može da zvuči kako treba.
Ali smo usput dobili fenomenalno izfiltrirani izlazni signal, dobili savršenu atenuaciju i ako je bila uključena funkcija, svaku numeru na istom nivou glasnoće, nezavisno je li numera sa istog ili drugog albuma - nema skakanja na pot predpojačala/pojačala.
Ostale funkcije su takođe bitne ali nisu za ovu priliku/topik. Najbitnija bi bila kresanje operativnog sistema, optimizacija za audio.

EDIT
Moram da se korigujem: dodavanjem 15 novih semplova (ne postojećih u originalu) ipak se vrši 'izmena' originala a cilj je optimalnije definisanje oblika signala tj. nivoa napona koji će vernije doneti analognu amplitudu. Da se vratim na uobičajeni strujni stepenik: nema jednog širokog stepenika već mnogo više kraćih, različitih po visini.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)