Ambiophonics!

Discussioni varie, audio e non.
Avatar utente
UnixMan
sostenitore
Messaggi: 12314
Iscritto il: 27 ott 2005, 22:34
Località: L'Aquila (Italy)
Has thanked: 134 times
Been thanked: 61 times
Contatta:

Ambiophonics!

Messaggio da UnixMan »

Ciao a tutti,

avete mai sentito parlare di "Ambiophonics"?

http://www.ambiophonics.org/Tutorials/U ... onics.html

In breve, questi signori sostengono che il sistema stereo e` fondamentalmente "sbagliato". Ma che esiste un modo per riprodurre piu` "correttamente" anche le registrazioni stereo esistenti (per maggiori info seguite i link):
The home stereo and 5.1 reproduction arrangement that we are all familiar with is psychoacoustically flawed. There is simply no way conventional stereo or 5.1 can recreate the panoramic spread and depth of sound we hear in concert halls, churches, theaters, or rock concerts. With Ambiophonic sound reproduction, however, you really can be there.
Ambiophonics is based on almost a century of psychoacoustics research on how the ear/brain localizes sound. This historical research, combined with current research, tells us how conventional stereo destroys good sound localization and how to fix the problem. Ambiophonics fixes most of stereo’s problems by using crosstalk reduction with two closely-spaced front speakers—separated only 20 to 30 degrees. Yet the sonic stage created can be 150-180-degrees wide! Just how this can happen is a wonderful tale of how laboratory findings can produce unexpected and beautiful results.
Sul sito, oltre ad una semplice descrizione accessibile ai piu`, ci sono varie pubblicazioni scientifiche molto interessanti per chi vuole capirne di piu`.

Dell'argomento se ne parla da molto tempo in questo thread su diyaudio.com: "Try Ambiophonics with your speakers", ma il metodo proposto inizialmente (la "sound barrier" in mezzo ai diffusori tra questi e l'ascoltatore) non e` esattamente la cosa piu` pratica al mondo... :tmi:

(ok, qui` c'e` qualcuno che ne fa anche di peggio :wasntme: e magari dovrebbe provare anche questa... ;) che forse funziona meglio ]:) ).

BTW, ora sono disponibili dei semplici software multipiattaforma (sono scritti in Java, girano ovunque sia disponibile il JRE) che permettono di sperimentare facilmente il "sistema" Ambiophonics in tutta comodita` e senza accrocchi strani:

Ambiophonic Audio Player

Ambiophonic Transcoder

Se avete un sistema "liquido" basato su PC (Windoze o Linux) o Mac, potete provarlo subito (dovete solo riposizionare i diffusori).

Al momento (non essendo a casa) io ho avuto modo di provarlo solo sulle cassettine di plastica del PC sulla scrivania (delle Philips tutto sommato non male nel loro genere, ma che sono pur sempre quel che sono), ma nondimeno i risultati sono a dir poco stupefacenti. Provare per credere...

Nota per i Linuxiani:

i programmi si avviano rispettivamente con:

$ java -jar /usr/local/bin/AmbiophonicAudioPlayer.jar

e

$ java -jar /usr/local/bin/AmbiophonicTranscoder.jar

(ovviamente in entrambi i casi supponendo che avete copiato i relativi .jar nella dir /usr/local/bin/).

Il player attualmente supporta solo il formato wav. Se (giustamente) tenete le traccie compresse in FLAC (o qualche altro formato lossless), per evitare di dover decomprimere preventivamente le traccie per ascoltarle, potete utilizzare una "named pipe" (FIFO):

$ mkfifo ~/buffer.wav

dal player aprite il file "buffer.wav" come se fosse un file normale. Quindi, mandate in play le traccie che volete banalmente decomprimendole "al volo" in wav nel FIFO, ad esempio con "sox":

$ sox -S *.flac ~/buffer.wav

(il "-S" e` opzionale). Il "trucco" della named pipe dovrebbe essere applicabile in qualsiasi sistema Unix-like, quindi credo anche su MacOS/X.

Buon ascolto... e fatemi/ci sapere!
Ciao, Paolo.

«Se tu hai una mela, e io ho una mela, e ce le scambiamo, 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.»
Avatar utente
UnixMan
sostenitore
Messaggi: 12314
Iscritto il: 27 ott 2005, 22:34
Località: L'Aquila (Italy)
Has thanked: 134 times
Been thanked: 61 times
Contatta:

Re: Ambiophonics!

Messaggio da UnixMan »

Da un post su diyaudio:
Ralph Glasgal ha scritto:Imagine a club of black and white photography enthusiasts. They have brought the resolution and contrast of their photos to a high level and discuss lenses, developer, and enlargement paper on their forum. Now somebody shows them a color photograph. Nobody in the club is impressed because the color masks the contrast they have struggled so hard to get just right and the color appears to have reduced the resolution or the fine detail somehow. Also they feel the color is not fully correct. So they do not add color to their hobby.

The point of this analogy is that the stereo loudspeaker triangle (not really the recordings) is an artform and thus its adherents do not have to consider as relevant the realism or dimensional fidelity that binaural reproduction (as in Ambiophonics and other methods) can produce. Like color, I do believe the addition of ITD, ILD, surround ambience (in full bore Ambiophonics) and the elimination of comb filtering does detract or distract one from the purity of tonal accuracy which many if not most audiophiles may treasure above all else.
Ciao, Paolo.

«Se tu hai una mela, e io ho una mela, e ce le scambiamo, 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.»
Avatar utente
UnixMan
sostenitore
Messaggi: 12314
Iscritto il: 27 ott 2005, 22:34
Località: L'Aquila (Italy)
Has thanked: 134 times
Been thanked: 61 times
Contatta:

Re: Ambiophonics!

Messaggio da UnixMan »

Sul sito di Stephan mi era sfuggito questo altro utile programma: Audio Mastering Suite

che, oltre a fare un mucchio di altre cose, permette anche di pre-processare (con l'algoritmo "RACE") files wav che poi possono essere salvati e (ri)masterizzati su CD. In questo modo anche chi non ha un PC (o Mac) utilizzabile come sorgente puo` provare l'Ambiophonics sul proprio impianto.
Ciao, Paolo.

«Se tu hai una mela, e io ho una mela, e ce le scambiamo, 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.»
Avatar utente
vince
sostenitore
Messaggi: 624
Iscritto il: 14 giu 2009, 04:38
Località: Pordenone
Been thanked: 2 times

Re: Ambiophonics!

Messaggio da vince »

Interessante, vale la pena fare una prova. L'unica scocciatura sembra il posizionamento dei diffusori. entro i 20°... praticamente di fronte al punto d'ascolto se non ho capito male.

V.
Vincenzo
_________________________________________________________________________________________________________
Condivisione è bello.
Avatar utente
UnixMan
sostenitore
Messaggi: 12314
Iscritto il: 27 ott 2005, 22:34
Località: L'Aquila (Italy)
Has thanked: 134 times
Been thanked: 61 times
Contatta:

Re: Ambiophonics!

Messaggio da UnixMan »

l'angolo dal punto di ascolto deve essere compreso esattamente tra i 20° ed i 30°, ne più e ne meno... si, sono praticamente di fronte (se nel mezzo hai un video, le metti giusto attaccate ai lati dello schermo. ;) ). A quanto dicono - ed adducono argomentazioni decisamente convincenti - la posizione così stretta e frontale è fondamentale per evitare un bel pò di rogne (i perchè ed i per come sono spiegati chiaramente sul sito).

Ieri sera abbiamo provato a casa di George.

Setup: Laptop (Win XP+foobar+VST+ambio.one) -> Emu 1616m -> MyRef -> SF "Concerto Home".

Risultato: S-T-U-P-E-F-A-C-E-N-T-E ! :o ^_^ :clap: :clap: :clap:

Non solo l'immagine è eccezionale (in tutte e 3 le dimensioni!), ma ne guadagnano anche molti altri parametri quali dettaglio, ricchezza armonica/timbrica e naturalezza generale. Rispetto alla maggior parte dei sistemi stereo che si sentono in giro è veramente come passare dal bianco/nero al colore!

Come accennato, non abbiamo usato i tool Java che ho segnalato nel post precedente ma il suo solito foobar2000 con l'aggiunta dell'Ambiophonics Processor VST: ambio.one.

(per usare i plugin VST come "ambio.one" con foobar serve un VST Host/Wrapper quale e.g. foo_dsp_vst o foo_dsp_vstwrap).

Se usate windoze, probabilmente questa attualmente è la soluzione più comoda. Ed indubbiamente funziona molto bene! :nod:
Ciao, Paolo.

«Se tu hai una mela, e io ho una mela, e ce le scambiamo, 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.»
Avatar utente
vince
sostenitore
Messaggi: 624
Iscritto il: 14 giu 2009, 04:38
Località: Pordenone
Been thanked: 2 times

Re: Ambiophonics!

Messaggio da vince »

Ciao Paolo,
come avete settato i parametri relativi alle frequenze?
la versione Java che hai linkato prevede (di default) di limitare l'effetto dell'algoritmo al range 0 - 4.5KHz, con la possibilità di estendere a tutta la banda audio.


Vincenzo
Vincenzo
_________________________________________________________________________________________________________
Condivisione è bello.
Avatar utente
UnixMan
sostenitore
Messaggi: 12314
Iscritto il: 27 ott 2005, 22:34
Località: L'Aquila (Italy)
Has thanked: 134 times
Been thanked: 61 times
Contatta:

Re: Ambiophonics!

Messaggio da UnixMan »

Se non ricordo male è scritto tutto qui: http://www.ambiophonics.org/Tutorials/U ... Part2.html

A quanto ho capito a frequenze superiori l'azione dell'algoritmo "RACE" non è più necessaria e rischia solo di dare problemi, per cui in generale la limitazione a 4.5KHz è bene lasciarla. BTW, prova e senti che succede. :) Comincia a mettere a punto il sistema con la limitazione inserita, poi quando sei riuscito a farlo funzionare bene così puoi provare a toglierla...

Quasi dimenticavo: il perfetto bilanciamento dei canali è fondamentale (...visto come funziona il "RACE" non è difficile intuirne il perchè). Dato che con (pre)ampli a tubi e/o in generale senza NFB è raro che tale condizione sia rispettata, trova almeno il modo di introdurre un controllo del bilanciamento!
Ciao, Paolo.

«Se tu hai una mela, e io ho una mela, e ce le scambiamo, 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.»
Avatar utente
plovati
sostenitore
Messaggi: 8067
Iscritto il: 05 ott 2005, 20:19
Località: Italy
Has thanked: 4 times
Been thanked: 53 times

Re: Ambiophonics!

Messaggio da plovati »

Io proverei anche.. uso già foobar. Ma non è che mi fate cortesemente un riassuntino e un file di installazione con tutto quello che serve per fare andare 'sta diavoleria?
_________
Piergiorgio
Avatar utente
vince
sostenitore
Messaggi: 624
Iscritto il: 14 giu 2009, 04:38
Località: Pordenone
Been thanked: 2 times

Re: Ambiophonics!

Messaggio da vince »

ciao,
nessuna installazione.
basta scaricare il player linkato da paolo, magari le due tracce con il pink noise che trovi sul sito chiamate left e right per posizionare i diffusori e suonare un file wav

se hai foobar puoi usare il vst se non ho capito male, ma per provare ti conviene usare il player java linkato da paolo...!?

A me su windoz il player funziona, ma non ho quel computer collegato all'impianto.
Su Linux non va.... aspettiamo Paolo :oops:
Vincenzo
_________________________________________________________________________________________________________
Condivisione è bello.
Avatar utente
plovati
sostenitore
Messaggi: 8067
Iscritto il: 05 ott 2005, 20:19
Località: Italy
Has thanked: 4 times
Been thanked: 53 times

Re: Ambiophonics!

Messaggio da plovati »

Seee, vabbè.
Ma un trattatello 'for dummies' che non hanno voglia tempo banda e capacità per girare l'etere informatico a caccia di pezzi e informazioni?
_________
Piergiorgio
Avatar utente
vince
sostenitore
Messaggi: 624
Iscritto il: 14 giu 2009, 04:38
Località: Pordenone
Been thanked: 2 times

Re: Ambiophonics!

Messaggio da vince »

Spero di esserti d'aiuto...
il player è qui
http://www.hotto.de/download/AmbiophonicAudioPlayer.zip
14Kb
dalle istruzioni riportate sul sito
http://www.hotto.de/software/ambiophoni ... layer.html

1.) Posizionare i diffusori con una angolazione di 20 -30 gradi
2.) Lanciare il player AAp senza cambiare le impostazioni di attenuation e delay
3.) Aprire file wav di musica strumentale o i file di test (http://www.hotto.de/download/left.wav - http://www.hotto.de/download/right.wav) per posizionare al meglio i diffusori. Cambiare il posizionamento fino a che il suono del file left.wav non sembra provenire da dietro al diffusore sinistro e il file right.wav da dietro al diffusore destro.

il player funziona solo se è installato java sulla tua macchina.
Vincenzo
_________________________________________________________________________________________________________
Condivisione è bello.
Avatar utente
vince
sostenitore
Messaggi: 624
Iscritto il: 14 giu 2009, 04:38
Località: Pordenone
Been thanked: 2 times

Re: Ambiophonics!

Messaggio da vince »

Vabbé è impressionante!
non sono sicuro che non alteri il timbro di alcuni strumenti.
Interessante sarebbe provare con classica/orchestra
Vincenzo
_________________________________________________________________________________________________________
Condivisione è bello.
Avatar utente
UnixMan
sostenitore
Messaggi: 12314
Iscritto il: 27 ott 2005, 22:34
Località: L'Aquila (Italy)
Has thanked: 134 times
Been thanked: 61 times
Contatta:

Re: Ambiophonics!

Messaggio da UnixMan »

sentito che robba? da non credere... ^_^
Ciao, Paolo.

«Se tu hai una mela, e io ho una mela, e ce le scambiamo, 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.»
Avatar utente
vince
sostenitore
Messaggi: 624
Iscritto il: 14 giu 2009, 04:38
Località: Pordenone
Been thanked: 2 times

Re: Ambiophonics!

Messaggio da vince »

ma il transcode a te funzia?
se ho inteso dovrebbe prendere lo stream audio da qualsiasy player e con qualsiasi formato e processarlo, ma non mi vede nessun input.

P.S. era openjava che non faceva andare il player.
Vincenzo
_________________________________________________________________________________________________________
Condivisione è bello.
Avatar utente
UnixMan
sostenitore
Messaggi: 12314
Iscritto il: 27 ott 2005, 22:34
Località: L'Aquila (Italy)
Has thanked: 134 times
Been thanked: 61 times
Contatta:

Re: Ambiophonics!

Messaggio da UnixMan »

plovati ha scritto:Io proverei anche.. uso già foobar. Ma non è che mi fate cortesemente un riassuntino e un file di installazione con tutto quello che serve per fare andare 'sta diavoleria?
Allora, per prima cosa ti serve un aggiuntivo (plugin) per foobar per permettere l'uso dei plugin "VST" con foobar. Scarica questo:

http://pelit.koillismaa.fi/plugins/show.php?id=213

ed installalo, il che significa semplicemente estrarre il file
"foo_dsp_vstwrap.dll" che e` nel .zip e copiarlo nella directory dei plugins di foobar2000, che di solito e`:

C:\Programmi\foobar2000\components

Quindi devi abilitarlo dal "DSP manager" di foobar (Ctrl-P to bring Properties window up, then select Playback->DSP Manager and be sure that "George Yohng's VST Wrapper" is in the 'Active DSPs' column). Dovrebbe comparire una icona nella "system tray" (in basso a destra sulla barra. Se non appare, prova a chiudere e riavviare foobar).

Poi devi scaricare ambio.one, ad es. da qui`: http://www.fileden.com/files/2007/7/1/1 ... e_revA.zip

estrai il file "ambio_one.dll" dallo zip. Se esiste una directory:

c:\Programmi\Steinberg\Vstplugins

mettilo li` dentro. Altrimenti crea una directory "VST" dentro la dir di installazione di foobar, ad es.:

C:\Programmi\foobar2000\VST

e mettilo li` dentro.

Ora vai sull'icona del VST wrapper (nella system tray) e seleziona "VST Setup...". Seleziona ed attiva "ambio.one". Dovrebbe apparire la relativa finestra:
ambio.one.revA.jpg
Fatto (è più difficile a dirsi che a farsi! :D ). Ora devi solo spostare i diffusori ponendoli davanti a te con un angolo compreso tra 20 e 30 gradi rispetto al punto di ascolto.

Fai partire qualche traccia. Aspetta un po` di tempo per abituarti alla sconvolgente presentazione che presumibilmente hai davanti, poi comincia a giocare con i settaggi. Prima di tutto (e piu` che altro) devi regolare quella del delay, che dipende tra l'altro dalla distanza tra i diffusori e tra questi ed il punto di ascolto, poi eventualmente le altre per rifinire. Procedi con calma e per gradi. Alla fine devi ottenere una immagine con una copertura completa di 180 gradi! :o

(ovviamente solo se nella registrazione ci sono "sorgenti" sonore a tali angoli, e.g. applausi del pubblico, ecc).

Buon ascolto! :)
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Ciao, Paolo.

«Se tu hai una mela, e io ho una mela, e ce le scambiamo, 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.»
Avatar utente
UnixMan
sostenitore
Messaggi: 12314
Iscritto il: 27 ott 2005, 22:34
Località: L'Aquila (Italy)
Has thanked: 134 times
Been thanked: 61 times
Contatta:

Re: Ambiophonics!

Messaggio da UnixMan »

vince ha scritto:ma il transcode a te funzia?
il "Transcoder" si puo` usare solo per prendere uno stream da un ingresso della scheda audio e mandare il segnale processato ad una uscita.
vince ha scritto:se ho inteso dovrebbe prendere lo stream audio da qualsiasi player e con qualsiasi formato e processarlo, ma non mi vede nessun input.
purtroppo no. Lo puoi fare, ma solo con un "trucco", cioe` creando una interfaccia "loopback" virtuale con un "virtual output" a cui mandi l'output del player ed un "virtual input" che funge da ingresso per il transcoder.

Su windows c'e` un programmino, Virtual Audio Cable, che permette di fare una cosa del genere (e` uno "shareware" a pagamento). Ma si fa` prima (e forse anche meglio) ad usare il VST "ambio.one".

Su Linux si potrebbe fare abbastanza facilmente aggiungendo qualche riga nel file ~/.asoundrc, ma fai prima ad usare il player con il trucco del FIFO. ;)

(oh, pero` il player manda l'output sulla uscita di default, per cui devi mettere l'uscita di default verso l'impianto (settando "pcm.!default" nel ~/.asoundrc).

BTW, tanto per dare una idea delle cosettine che si possono fare mettendo qualche riga in quel file, questo:

Codice: Seleziona tutto

#defaults.pcm.rate_converter "lavcrate"
#defaults.pcm.rate_converter "lavcrate_higher"
#defaults.pcm.rate_converter "samplerate"
#defaults.pcm.rate_converter "samplerate_best"
#defaults.pcm.rate_converter "speexrate"
#defaults.pcm.rate_converter "speexrate_best"

#defaults.pcm.dmix.rate 48000
#defaults.pcm.dmix.rate 88200
#defaults.pcm.dmix.rate 96000
#defaults.pcm.dmix.rate 176400
#defaults.pcm.dmix.rate 192000

############################################################################
# Give our cards some friendly aliases.

# Intel HDA analog
#
pcm.hda "default:CARD=Intel"

# Intel HDA digital (S/PDIF output)
#
pcm.hdad "iec958:CARD=Intel,DEV=0"

# Julia channels 1&2 (analog & tapped I2S out)
#
pcm.Juli12 "front:CARD=Juli,DEV=0"

# Julia channels 3&4 (optical out)
#
pcm.Juli34 "iec958:CARD=Juli,DEV=0"

############################################################################
# Upsampling slaves
############################################################################

# use sox for smart/complex upsampling...
pcm.HD {
         type file
         slave {
                 pcm null
         }
         format "raw"
         file "| schedtool -a 1 -R -p 1 -e /usr/local/bin/sox-resample.sh %c %b %r"
}

pcm.hda192 {
        type plug
        slave {
                pcm "hda"
                rate 192000
        }
}

pcm.J192 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                channels 2
                rate 192000
        }
}

pcm.J176 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                channels 2
                rate 176400
        }
}

pcm.J96 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                rate 96000
        }
}

pcm.JD96 {
        type plug
        slave {
                pcm "Juli34"
                format S32_LE
                rate 96000
        }
}

pcm.J88 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                rate 88200
        }
}

pcm.JD88 {
        type plug
        slave {
                pcm "Juli34"
                format S32_LE
                rate 88200
        }
}


pcm.J48 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                rate 48000
        }
}

pcm.JD48 {
        type plug
        slave {
                pcm "Juli34"
                format S32_LE
                rate 48000
        }
}

############################################################################
# 'multi' plugin allows us to create many slave devices and then distribute
# the stream's channels between the slaves.
#
# Here we define Slave a for Julia ch 1&2 (analog & I2S) and Slave b for
# HDA S/PDIF. Then we use channel binding to send channels 0 & 1 to the
# Juli@ and channels 2 & 3 to the Intel HDA.
#
pcm.multi4 {
        type multi
        slaves.a {
                pcm "hda"
                channels 2
        }
        slaves.b {
                pcm "Juli12"
                channels 2
        }
        bindings.0.slave a
        bindings.0.channel 0
        bindings.1.slave a
        bindings.1.channel 1
        bindings.2.slave b
        bindings.2.channel 0
        bindings.3.slave b
        bindings.3.channel 1
}

# Here we define Slave a for Julia ch 1&2 (analog & I2S)
# and Slave b for 3&4 (S/PDIF).
# Then we use channel binding to send channels 0 & 1 to
# analog/I2S and channels 2 & 3 to S/PDIF.
#
pcm.multi6 {
        type multi
        slaves.a {
                pcm "Juli34"
                channels 2
        }
        slaves.b {
                pcm "Juli12"
                channels 2
        }
        slaves.c {
                pcm "hda"
                channels 2
        }
        bindings.0.slave a
        bindings.0.channel 0
        bindings.1.slave a
        bindings.1.channel 1
        bindings.2.slave b
        bindings.2.channel 0
        bindings.3.slave b
        bindings.3.channel 1
        bindings.4.slave c
        bindings.4.channel 0
        bindings.5.slave c
        bindings.5.channel 1
}

############################################################################
# Here we are using the 'route' plugin to send the signal unchanged to
# a multi-channel device. Since the incoming stream is only 2-channel,
# we use the transfer table to copy channel 0 slave's input channel 0,
# channel 1 to slave's 1, and again channel 0 to slave's 2, etc.
# The last column (1.0) is the volume, which we are leaving unchanged.

pcm.both {
        type route
        slave {
                pcm multi4
                channels 4
        }
        ttable.0.0 1.0
        ttable.1.1 1.0
        ttable.0.2 1.0
        ttable.1.3 1.0
}

pcm.all {
        type route
        slave {
                pcm multi6
                channels 6
        }
        ttable.0.0 1.0
        ttable.1.1 1.0
        ttable.0.2 1.0
        ttable.1.3 1.0
        ttable.0.4 1.0
        ttable.1.5 1.0
}

############################################################################

pcm.M192 {
        type plug
        slave {
                pcm "both"
                format S32_LE
                channels 2
                rate 192000
        }
}

pcm.M96 {
        type plug
        slave {
                pcm "all"
                format S32_LE
                channels 2
                rate 96000
        }
}

#pcm.TV  "hda"
pcm.TV  "J192"

# set default device...
pcm.!default "J192"
#pcm.!default "HD"
e` il mio attuale .asoundrc... :-P

Needless to say, aggiungere uno "slave" che prende l'output da un qualsiasi programma e lo manda alla FIFO (che poi fai leggere al player) e` banale... ;)
vince ha scritto:P.S. era openjava che non faceva andare il player.
si, funziona solo con il JRE di Sun. Metti quello e togli di mezzo i vari gcj, ecc (tranne ovviamente quanto eventualmente richiesto come dipendenza da altri programmi).
Ciao, Paolo.

«Se tu hai una mela, e io ho una mela, e ce le scambiamo, 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.»
Avatar utente
vince
sostenitore
Messaggi: 624
Iscritto il: 14 giu 2009, 04:38
Località: Pordenone
Been thanked: 2 times

Re: Ambiophonics!

Messaggio da vince »

Sarebbe comodo poter utilizzare il transcoder con una virtual sound device e rimandare l'audio processato in uscita.
In questo modo il player non se ne accorge e si può continuare ad usare il sistema come al solito.
Ho googlato un po' ma non riesco a capire come creare una virtual sound device.

V.
Vincenzo
_________________________________________________________________________________________________________
Condivisione è bello.
Avatar utente
plovati
sostenitore
Messaggi: 8067
Iscritto il: 05 ott 2005, 20:19
Località: Italy
Has thanked: 4 times
Been thanked: 53 times

Re: Ambiophonics!

Messaggio da plovati »

Ma funziona anche con file flace e ape?
Perche se abilito ambio.com nella riproduzione con foobar perdo un sacco di bassi ed é come se collegassi le casse in controfase..
_________
Piergiorgio
Avatar utente
Echo
sostenitore
Messaggi: 2627
Iscritto il: 02 set 2008, 23:59
Località: Caldarola-Marche-Italy

Re: Ambiophonics!

Messaggio da Echo »

UnixMan ha scritto:
vince ha scritto:ma il transcode a te funzia?
il "Transcoder" si puo` usare solo per prendere uno stream da un ingresso della scheda audio e mandare il segnale processato ad una uscita.
vince ha scritto:se ho inteso dovrebbe prendere lo stream audio da qualsiasi player e con qualsiasi formato e processarlo, ma non mi vede nessun input.
purtroppo no. Lo puoi fare, ma solo con un "trucco", cioe` creando una interfaccia "loopback" virtuale con un "virtual output" a cui mandi l'output del player ed un "virtual input" che funge da ingresso per il transcoder.

Su windows c'e` un programmino, Virtual Audio Cable, che permette di fare una cosa del genere (e` uno "shareware" a pagamento). Ma si fa` prima (e forse anche meglio) ad usare il VST "ambio.one".

Su Linux si potrebbe fare abbastanza facilmente aggiungendo qualche riga nel file ~/.asoundrc, ma fai prima ad usare il player con il trucco del FIFO. ;)

(oh, pero` il player manda l'output sulla uscita di default, per cui devi mettere l'uscita di default verso l'impianto (settando "pcm.!default" nel ~/.asoundrc).

BTW, tanto per dare una idea delle cosettine che si possono fare mettendo qualche riga in quel file, questo:

Codice: Seleziona tutto

#defaults.pcm.rate_converter "lavcrate"
#defaults.pcm.rate_converter "lavcrate_higher"
#defaults.pcm.rate_converter "samplerate"
#defaults.pcm.rate_converter "samplerate_best"
#defaults.pcm.rate_converter "speexrate"
#defaults.pcm.rate_converter "speexrate_best"

#defaults.pcm.dmix.rate 48000
#defaults.pcm.dmix.rate 88200
#defaults.pcm.dmix.rate 96000
#defaults.pcm.dmix.rate 176400
#defaults.pcm.dmix.rate 192000

############################################################################
# Give our cards some friendly aliases.

# Intel HDA analog
#
pcm.hda "default:CARD=Intel"

# Intel HDA digital (S/PDIF output)
#
pcm.hdad "iec958:CARD=Intel,DEV=0"

# Julia channels 1&2 (analog & tapped I2S out)
#
pcm.Juli12 "front:CARD=Juli,DEV=0"

# Julia channels 3&4 (optical out)
#
pcm.Juli34 "iec958:CARD=Juli,DEV=0"

############################################################################
# Upsampling slaves
############################################################################

# use sox for smart/complex upsampling...
pcm.HD {
         type file
         slave {
                 pcm null
         }
         format "raw"
         file "| schedtool -a 1 -R -p 1 -e /usr/local/bin/sox-resample.sh %c %b %r"
}

pcm.hda192 {
        type plug
        slave {
                pcm "hda"
                rate 192000
        }
}

pcm.J192 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                channels 2
                rate 192000
        }
}

pcm.J176 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                channels 2
                rate 176400
        }
}

pcm.J96 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                rate 96000
        }
}

pcm.JD96 {
        type plug
        slave {
                pcm "Juli34"
                format S32_LE
                rate 96000
        }
}

pcm.J88 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                rate 88200
        }
}

pcm.JD88 {
        type plug
        slave {
                pcm "Juli34"
                format S32_LE
                rate 88200
        }
}


pcm.J48 {
        type plug
        slave {
                pcm "Juli12"
                format S32_LE
                rate 48000
        }
}

pcm.JD48 {
        type plug
        slave {
                pcm "Juli34"
                format S32_LE
                rate 48000
        }
}

############################################################################
# 'multi' plugin allows us to create many slave devices and then distribute
# the stream's channels between the slaves.
#
# Here we define Slave a for Julia ch 1&2 (analog & I2S) and Slave b for
# HDA S/PDIF. Then we use channel binding to send channels 0 & 1 to the
# Juli@ and channels 2 & 3 to the Intel HDA.
#
pcm.multi4 {
        type multi
        slaves.a {
                pcm "hda"
                channels 2
        }
        slaves.b {
                pcm "Juli12"
                channels 2
        }
        bindings.0.slave a
        bindings.0.channel 0
        bindings.1.slave a
        bindings.1.channel 1
        bindings.2.slave b
        bindings.2.channel 0
        bindings.3.slave b
        bindings.3.channel 1
}

# Here we define Slave a for Julia ch 1&2 (analog & I2S)
# and Slave b for 3&4 (S/PDIF).
# Then we use channel binding to send channels 0 & 1 to
# analog/I2S and channels 2 & 3 to S/PDIF.
#
pcm.multi6 {
        type multi
        slaves.a {
                pcm "Juli34"
                channels 2
        }
        slaves.b {
                pcm "Juli12"
                channels 2
        }
        slaves.c {
                pcm "hda"
                channels 2
        }
        bindings.0.slave a
        bindings.0.channel 0
        bindings.1.slave a
        bindings.1.channel 1
        bindings.2.slave b
        bindings.2.channel 0
        bindings.3.slave b
        bindings.3.channel 1
        bindings.4.slave c
        bindings.4.channel 0
        bindings.5.slave c
        bindings.5.channel 1
}

############################################################################
# Here we are using the 'route' plugin to send the signal unchanged to
# a multi-channel device. Since the incoming stream is only 2-channel,
# we use the transfer table to copy channel 0 slave's input channel 0,
# channel 1 to slave's 1, and again channel 0 to slave's 2, etc.
# The last column (1.0) is the volume, which we are leaving unchanged.

pcm.both {
        type route
        slave {
                pcm multi4
                channels 4
        }
        ttable.0.0 1.0
        ttable.1.1 1.0
        ttable.0.2 1.0
        ttable.1.3 1.0
}

pcm.all {
        type route
        slave {
                pcm multi6
                channels 6
        }
        ttable.0.0 1.0
        ttable.1.1 1.0
        ttable.0.2 1.0
        ttable.1.3 1.0
        ttable.0.4 1.0
        ttable.1.5 1.0
}

############################################################################

pcm.M192 {
        type plug
        slave {
                pcm "both"
                format S32_LE
                channels 2
                rate 192000
        }
}

pcm.M96 {
        type plug
        slave {
                pcm "all"
                format S32_LE
                channels 2
                rate 96000
        }
}

#pcm.TV  "hda"
pcm.TV  "J192"

# set default device...
pcm.!default "J192"
#pcm.!default "HD"
e` il mio attuale .asoundrc... :-P

Needless to say, aggiungere uno "slave" che prende l'output da un qualsiasi programma e lo manda alla FIFO (che poi fai leggere al player) e` banale... ;)
vince ha scritto:P.S. era openjava che non faceva andare il player.
si, funziona solo con il JRE di Sun. Metti quello e togli di mezzo i vari gcj, ecc (tranne ovviamente quanto eventualmente richiesto come dipendenza da altri programmi).
...e pensare che quando al bottomaudio ti ho chiesto se usavi il pc per "processare" l'audio mi hai guardato come se avessi detto una eresia :grin: :grin: :grin:

comunque non ho ben capito la posizione delle casse c'è un disegni da qualche parte?
...siate affamati, siate folli!! S.J.
http://gabrielligiorgio.wordpress.com/
Avatar utente
UnixMan
sostenitore
Messaggi: 12314
Iscritto il: 27 ott 2005, 22:34
Località: L'Aquila (Italy)
Has thanked: 134 times
Been thanked: 61 times
Contatta:

Re: Ambiophonics!

Messaggio da UnixMan »

Echo ha scritto:...e pensare che quando al bottomaudio ti ho chiesto se usavi il pc per "processare" l'audio mi hai guardato come se avessi detto una eresia :grin: :grin: :grin:
all'epoca infatti facevo l'idiofilo e mi limitavo a mandare al DAC lo stream cosi` com'era... :)

Poco dopo ho scoperto che l'upsampling in software va` infinitamente meglio di quello integrato nel DAC. E la decodifica HDCD ovviamente puo` essere solo utile farla, in quei pochi dischi in cui e` usata. Ma non parlerei di processing vero e proprio... finche` non e` arrivata questa nuova diavoleria. :lol:
Echo ha scritto:comunque non ho ben capito la posizione delle casse c'è un disegni da qualche parte?
segui i link del tutorial... c'e` tutto li. :tmi:

Cmq e` come al solito, solo che invece di avere le casse "larghe" (in teoria nel sistema "stereo" dovrebbero formare un triangolo equilatero con il punto di ascolto e quindi un angolo di 60 gradi, anche se spesso in pratica si mettono ancora piu` larghe, quindi con angoli maggiori) le devi mettere "strette" (vicine tra loro) a formare un angolo di appena 20 - 30 gradi rispetto al punto di ascolto.
Ciao, Paolo.

«Se tu hai una mela, e io ho una mela, e ce le scambiamo, 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.»
Rispondi
  • Argomenti simili
    Risposte
    Visite
    Ultimo messaggio