Ok, riprovato...adesso va senza problemi...in Dop max dsd128
con Hqplayer va in "nativo" fino dsd256 in dop fino a 128
Ok, riprovato...adesso va senza problemi...in Dop max dsd128
con Hqplayer va in "nativo" fino dsd256 in dop fino a 128
Ultima modifica di antonellocaroli : 09-02-2017 a 19:51
sì, ma stai parlando sempre di ciò che accade sull'interfaccia "interna", nel PC... dove la cosa è sostanzialmente irrilevante in ogni caso.
La differenza tra DoP e "nativo" (o comunque lo si voglia chiamare) riguarda invece soprattutto ciò che accade sul bus USB.
non so se sia una definizione canonica ma, personalmente, parlo di "incapsulamento" quando i dati che costituiscono il "payload" vengono aggiunti all'interno di "frame" di un qualche protocollo che aggiunge altri "dati di servizio" (headers/footers, ecc), mentre uso il termine "impacchettamento" quando uno stream viene suddiviso in blocchi di dimensione prestabilita senza aggiungere altro.
lo stesso accade anche con ALSA, quando operi in modalità "nativa".
direi che dipende dalle licenze di SL e PA, nonché da come sono utilizzate le librerie ASIO.
Se tanto PA quanto SL fossero distribuiti con licenza LGPL, il problema non si porrebbe in nessun caso.
Il problema si pone solo nel caso in cui (almeno) uno dei software coinvolti è distribuito con licenza GPL e, se non sono presenti le lib. proprietarie, non funziona niente.
Ma se invece, ad es., le librerie ASIO (proprietarie) fossero caricate dinamicamente a runtime (come "plugin") da PA, e quindi tutto (salvo il supporto ASIO, ovviamente) può funzionare anche se quelle librerie non sono presenti, il problema non si pone. Neanche nel caso lo stesso PA sia distribuito con licenza GPL.
Idem se PA fosse LGPL e (se compilato con quella opzione) non potesse funzionare senza la presenza delle lib. ASIO, purché SL (lo stesso eseguibile) possa funzionare anche con una versione di PA che non dipende dalle lib. proprietarie.
Da indagare... ed eventualmente risolvere in qualche modo.
seccante. Non si può sostituire in qualche modo quella specifica istruzione, almeno nel caso di compilazione con compilatori MS?
vedi sopra: ti stai riferendo sempre a ciò che accade all'interno del PC, tra il "software utente" e l'interfaccia di sistema (driver). Laddove questo tipo di overhead è sostanzialmente del tutto ininfluente.
È "in uscita", sul bus USB - laddove le modalità di comunicazione sono definite dall'hardware (interfaccia Xmos o quel che sia) e non cambiano in funzione del sistema - che evidentemente c'è una differenza significativa tra DoP e DSD "nativo".
A quanto sembra, a quel livello, in modalità "nativa" vengono trasferiti soltanto i dati (payload) dello stream DSD, verosimilmente preceduti da comandi che informano l'interfaccia su ciò che sta per ricevere (ed eventualmente seguiti da altri che segnalano la fine dello stream, e/o il passaggio ad una modalità diversa). Presumibilmente (dato che 176.4*32 fa esattamente 5.644,8 = DSD128) tutte le "comunicazioni di servizio" avvengono "off-band", all'interno dell'overhead del protocollo USB e non occupano minimamente la banda destinata al payload audio. Cioè non c'è alcun overhead aggiuntivo (oltre a quello intrinseco del protocollo USB).
non voglio immischiarmi in nessuna guerra di religione, tanto più che riguarda un "campo" che non mi interessa affatto.
Ma, nel caso specifico, il problema è che - se non vado errato - windows e WASAPI non supportano DSD.
Si può aggirare il problema "ingannando" il sistema utilizzando DoP... ma, oltre agli inconvenienti legati all'overhead su USB, resta il fatto che non "sapendo" che in realtà non si tratta di PCM, il sistema potrebbe "pasticciare" indebitamente con lo stream (controlli di volume, mixer - e quindi resampling, ecc).
Per quel poco che ne so io (e sempre se non ho capito male), per quanto ci riguarda il vantaggio principale dei driver ASIO (ovviamente se "veri", non un "wrapper" come ASIO4ALL) è quello di fornire una interfaccia "diretta" all'hardware (cioè in sostanza qualcosa di analogo ad un device di tipo "hw:x,y" di ALSA), che by-passa completamente tutto il sottosistema audio di windows.
qui passo, non ho alcuna idea dei dettagli su quei sistemi. Però ciò che dici mi sembra piuttosto strano: come fai ad utilizzare (direttamente!) un driver ASIO se "non ne conosci" l'interfaccia?
che -se non vado errato- è esattamente ciò di cui avresti bisogno: il supporto al DSD è una funzionalità molto specifica, limitata esclusivamente ad alcuni driver di alcune interfacce!
n'est ce pas, monsieur de La Palice?
Ovvio. Lo stesso vale anche per windows: per poter avere "non-DoP" devi avere una scheda che supporti quella modalità e dei driver specifici che la supportino (non tutti lo fanno).
esatto.
Questo ovviamente perché le "velocità di trasmissione" sul bus USB non sono libere, ma fisse e predeterminate sulla base dei s/r standard PCM. Quindi basta anche un solo bit di overhead ("in banda", cioè all'interno dello stream dei dati audio) per essere costretti ad utilizzare la velocità superiore, che è sempre doppia rispetto alla precedente.
Ultima modifica di UnixMan : 09-02-2017 a 20:50
Ciao, Paolo.
«Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
SL e PA non hanno problemi, è che non puoi distribuire liberamente le SDK di ASIO, quindi il singolo user se lo deve scaricare, come FFMPEG, LAME, MAD,...
No, la particolare istruzione (sigint) non ha una corrisopndneza e - sembra incredibile - non è nemmeno implementabile esternamnete (nel senso che nojn si è certi che restituisca identico risultato).
cmq Mansr ha risposto di aver pubblicato la soluzione modificata che fa uso delle ultime librerie di tutto e si compila in MSVC2015. Dovrò riscaricarmi tutte le librerie e riprovare e certamente non sarà portabile in XP. Considerazione mia, così non passerà mai a standard, dove il target di compilazione è msvc2008 e 2010, poi bisogna vedere su mac.
Ovviamente esiste un'interfaccia di riferimento 'minima' per un dispositivo audio, che tutti i driver di qualsiasi natura devono implementare, altrimenti non funzionano. Fintanto che un driver ASIO implementa quelle API e limitatamente alle funzionalità da esse supportate, viene usato da qualsiaisi applicativo, senza che debba necessariamente sapere che si tratta di un driver ASIO, poi - forse - nella dll distribuita c'è anche un minimo di supporto ad ASIO,non ne ho idea, ma - come già scritto - il problema sono le funzionalità aggiuntive, di cui bisogna informare gli applicativi utente.
Per far questo con PA bisogna ricompilare la dll avendo ASIO SDK installato, producendo così una versione diversa della dll. Forse puoi anche distribuirla, ma cosa fai comprendi tutte le possibili interfacce?
Io non mi ci metto di certo!!!
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
in che senso non hanno problemi? Se una delle due è GPL, non puoi redistribuire un binario che sia stato "linkato" con una libreria "non-free"...
questo di per sé non mi sembra poi un grosso problema. Ma poi si dovrebbero anche compilare da soli SL? Questa sì che invece sarebbe una soluzione poco pratica per la maggior parte dei possibili utenti...
doppiamente seccante. Ma nelle versioni precedenti come facevano?
BTW: torniamo un attimo all'ipotesi gcc su windows: dicevi che manca "make". In che senso? che ti manca il tool o che manca un Makefile specifico?
ribadisco la mia ignoranza in materia, ma... ASIO non ha una sua interfaccia (API) specifica, diversa da quella dei driver diciamo così "nativi" di windows?
Immaginavo di sì, perché ho visto che in genere le applicazioni che non supportano espressamente ASIO non possono proprio usare quei driver (almeno non direttamente): se non c'è (anche) un driver "nativo" (KS, WASAPI o quello che sia), l'interfaccia corrispondente non la vedono proprio. IIRC ad es. per poter usare ASIO con Foobar2000 bisogna installare un apposito plugin (e la gestione è completamente diversa e separata da quella dell'output verso i driver "nativi" di windows).
non sarebbero poi molte, quelle che supportano DSD "non-DoP"... ma, se ho capito bene, non credo sia necessario fare niente del genere: sempre se ho capito bene, ASIO ha "standardizzato" la sua interfaccia (API) per il DSD nativo, per cui basta gestire quella (né più né meno come fatto per ALSA). Presumo che poi siano i driver delle singole interfacce che si fanno carico di gestire le specificità di ognuna...
Ciao, Paolo.
«Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»
Marco,
ad occhio e croce (fatto salvo un problema con ffmpeg, che non ci interessa), non dovrebbe essere un problema compilare sox su windows con gcc (MingGW). Se non ho visto male, è proprio così che vengono prodotti gli eseguibili di sox per windows distribuiti dal sito ufficiale.
http://en.wikipedia.org/wiki/MinGW
32bit: MinGW | Minimalist GNU for Windows
64bit: http://www.mingw-w64.org/
https://duckduckgo.com/?q=building+%2Bsox+windows+mingw
La procedura per il build dovrebbe essere identica a quella per Unix/Linux:
./configure --disable-shared
make
Ultima modifica di UnixMan : 10-02-2017 a 11:54
Ciao, Paolo.
«Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
Ciao, Paolo.
«Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»
Ci sono attualmente 4 utenti che stanno visualizzando questa discussione. (0 utenti e 4 ospiti)