Soy un audiófilo informático, he usado Windows (con ASIO4ALL) y OSX para audio. Ahora estoy haciendo de Ubuntu 13 mi HTPC/Stereo Audio. Para empezar, desactivé el audio Pulse y usé GooMusicplayer con ALSA.
Mi DAC tiene capacidad para 24 bits y 96 kHz. Parece que no puedo encontrar una configuración para que ALSA establezca la frecuencia de muestreo de salida. ¿Cómo puedo configurarlo?
Respuesta1
Alsa utiliza por defecto la misma frecuencia de muestreo y formato que la fuente. Sin embargo, es posible forzar la frecuencia de muestreo hacia arriba (o hacia abajo).
Aquí tienes una forma de hacerlo. (en/etc/asound.confo~/.asoundrc)
pcm.device{
format S24_LE
rate 96000
type hw
card 0
device 0
}
Luego simplemente haga que ese pcm sea esclavo de otro, como su pcm predeterminado (estéreo) (advertencia: el formato de 24 bits no funcionará a menos que tenga una tarjeta compatible, normalmente uso S32_LE, que funciona en la mayoría de las tarjetas).
pcm.!default{
type plug
slave.pcm "device"
}
Sin embargo, lo anterior solo funcionará para fuentes estéreo (por lo que si reproduces desde una fuente 5.1 que usará de forma predeterminada el pcm envolvente 51, las cosas se volverán un poco más complicadas)
La única forma que conozco (y uso personalmente) sobre cómo forzar la frecuencia de muestreo de fuentes no estéreo es tomando partes deeste asound.conf/asoundrc(enlace muerto) y modificándolos. (Nota: yo no escribí ese archivo)
(Puedes encontrar miasound.confen esta pregunta y simplemente cópielo directamente en lugar de pasar por la molestia de modificarlo manualmente a continuación)
Primero copie el pcm "dmixed" y modifique su sección de hardware a la frecuencia de muestreo y formato deseados.
Luego copie los pcms !default, envolvente40 y envolvente51 tal como están. Esto efectivamente mezclará toda la salida y convertirá la frecuencia de muestreo de todas las fuentes 2.0, 4.0 y 5.1 a la frecuencia de muestreo establecida en el pcm dmixed.
En ese archivo de configuración también puede encontrar interesante el pcm "upmix20_51", ya que es una forma eficaz de mezclar fuentes 2.0 a 5.1 duplicando selectivamente los sonidos en los otros canales. Si desea usarlo, tendrá que cambiar el tipo de "enchufe" a "ruta" y luego configurarlo como esclavo del pcm predeterminado.
pcm.!default{
type plug
slave.pcm "upmix20_51"
}
Como "surround51" que utiliza ese pcm utiliza "dmixed" como esclavo, la frecuencia de muestreo forzada también se aplicará a este pcm.
Lamentablemente, tal como están las cosas ahora, las fuentes mono solo saldrán por el altavoz izquierdo, pero eso no es un problema ya que las fuentes de sonido mono son raras en estos papás. El ejemplo que acabo de dar sería exactamente cómo tengo el mío propio.asound.confconfigurado, disfrútelo si tiene una configuración de altavoces 5.1 y desea forzar frecuencias de muestreo de 96 kHz.
En teoría, pensaría que forzar la frecuencia de muestreo no logrará nada para usted (ya que es absurdo pensar que mejoraría la calidad del audio de su fuente que tenía una frecuencia de muestreo más baja), por lo que será un Es mucho mejor configurar la aplicación para utilizar una salida de 96 kHz.
Pero en mi caso tuve algunos problemas con los sonidos crepitantes (en juegos específicos, como Xcom: Enemy Unknown) si no forzaba la frecuencia de 96 kHz o 44,1 kHz. Dado que no pierdo nada al forzar 96 kHz (no aumenta ni disminuye la calidad de las fuentes de 44,1/48 kHz), fue una solución perfecta.
Respuesta2
La frecuencia de muestreo del dispositivo es por defecto la que la aplicación ha configurado para él, es decir, la frecuencia de muestreo del archivo original.
Respuesta3
Las otras respuestas son algo correctas.
La mayoría de las tarjetas de sonido no tienen multicanal de forma predeterminada. Si tiene una de esas tarjetas que sí tiene un mezclador multicanal, probablemente no necesite leer aquí. ALSA mezcla múltiples sonidos en software.
Generalmente son posibles 2 opciones:
Omita por completo la salida del software de mezcla y podrá disfrutar de una mayor gama de sonido (mayor frecuencia de muestreo y velocidad de bits, por ejemplo, canalización a 6 o más altavoces).
¡Sólo un programa puede funcionar con la tarjeta de sonido!
Habilite la mezcla de software y pierda algo de calidad que probablemente no notará de todos modos (Asus Xonair DX con Sennheiser HD598 probado, no notó diferencia alguna, usó flacs de frecuencia de muestreo de 6 canales de 96 khz y de 2 canales de 192 khz).
¡Más de un programa puede funcionar de esa manera! No soy un audiófilo, eso sí, al menos todavía no.
La segunda opción está habilitada de forma predeterminada si su hardware no admite la mezcla de varias transmisiones al mismo tiempo.
NOTA:También existe una tercera opción. ALSA se puede configurar con remuestreo en el software, pero según mi experiencia, si bien es posible ajustar todas las aplicaciones para que se vuelvan a muestrear a la máxima frecuencia de muestreo y velocidad de bits, introdujo un retraso notable en los juegos FPS, lo cual NO ESTÁ BIEN. para un jugador (un tercio de segundo más o menos, cuando disparé las balas con una pistola, lo que me molestó muchísimo).
Tenga en cuenta que la tercera opción probablemente no sea práctica por varias razones:
- No lo probé bien, pero supongo que algunas aplicaciones aún pueden tener problemas.
- La mayoría de las colecciones de audio tienen una frecuencia de muestreo de 44,1/44 khz con una frecuencia de 16 bits, a menos que uses mucho FLAC, pero incluso entonces, FLAC debe tener una frecuencia de muestreo más alta.
- el muestreo ascendente NO proporciona una mejor calidad de sonido (en teoría sí, pero si usas auriculares baratos, no lo notarás, estoy 99% seguro).
- El retraso en los juegos es muy real, a menos que haya hecho algo mal en mi
.asoundrc
archivo.
Para hacer las cosas más confusas, las cosas pueden empeorar en el buen sentido. Puede crear "dispositivos" con diferentes configuraciones (canales/velocidad/frecuencia de muestreo/salida física y configuración de entrada). Y algunas aplicaciones pueden usar dispositivos que usted crea manualmente, otras no. Me molesta mucho.
Los más notorios y problemáticos: flash player.
Esta respuesta es válida para alguien que no utiliza auriculares conectados por USB. Tienen sus propias tarjetas de sonido integradas y tengo un conocimiento limitado al respecto, probablemente sea más cierto para aquellos con tarjetas de sonido integradas en la placa base. Todavía se puede aplicar a auriculares USB, pero tómelo todo con cautela. Supongo que probablemente, si no, el 10% de todas las tarjetas de sonido producidas usarían mezcla de hardware de todos modos, ya que el hardware carecería de esta opción. La salida óptica es una gran excepción. La salida óptica AFAIK no necesita mezclador. La demultiplexación se realiza en el "receptor", donde se realiza en el hardware. No confíes en mi palabra.
Respuesta4
Gracias por la información anterior @Cestarian. Esto debería ayudarme a conseguir que la interfaz de audio USB semiprofesional alcance la frecuencia de muestreo estandarizada con mi grabación (96K). Encuentro esto muy revelador al configurar esa máquina para el estudio.
Para ayudarte, ya que tú me ayudaste, responderé estas preguntas:
" En teoría, creo que forzar la frecuencia de muestreo no logrará nada para usted (ya que es absurdo pensar que mejoraría la calidad del audio de su fuente que tenía una frecuencia de muestreo más baja), por lo que será Es mucho mejor configurar la aplicación para utilizar una salida de 96 kHz.
Pero en mi caso tuve algunos problemas con los sonidos crepitantes (en juegos específicos, como Xcom: Enemy Unknown) si no forzaba la frecuencia de 96 kHz o 44,1 kHz. Dado que no pierdo nada en absoluto al forzar 96 kHz (no aumenta ni disminuye la calidad de las fuentes de 44,1/48 kHz), fue una solución perfecta."
Hay una aplicación en la que se puede tomar una señal digital y convertirla a un multiplicador mayor que su original: Reducción de Jitter Digital. Sería interesante conocer la precisión de una computadora frente a una caja convertidora de frecuencia de muestreo externa utilizada en los estudios de masterización para este propósito.
en el segundo: imagino que tiene que haber un cuadro de procesamiento que debe ocurrir cuando la frecuencia de muestreo no está definida. Lógicamente, tendría que detectar los datos entrantes del disco duro y luego formatearlos (si no son correctos) en el flujo de datos en lugar de simplemente enviarlos al flujo de datos. El sonido utiliza procesamiento en tiempo real y no CPU. Pero como también estás haciendo muestreos, podrías estar arreglando la fluctuación de la frecuencia de muestreo de las fuentes en el archivo de sonido del juego.