Difference between revisions of "Open Sound System (Español)"

From ArchWiki
Jump to: navigation, search
(First part of the translation is done, I'm going to bed now.)
 
(update Pkg/AUR templates to reflect new package status)
(41 intermediate revisions by 14 users not shown)
Line 1: Line 1:
[[Category:Sonido (Español)]]
+
[[Category:Sound (Español)]]
[[Category:Audio/Video (English)]]
+
[[Category:Audio/Video (Español)]]
[[Category:HOWTOs (Español)]]
+
[[de:OSS]]
{{i18n_links_start}}
+
[[en:Open Sound System]]
{{i18n_entry|English|OSS}}
+
[[fr:OSS]]
{{i18n_entry|Español|OSS}}
+
[[it:Open Sound System]]
{{i18n_entry|简体中文|OSS (简体中文)}}
+
[[tr:Açık_Ses_Sistemi_(OSS)]]
{{i18n_entry|Français|OSS (Français)}}
+
[[zh-CN:Open Sound System]]
{{i18n_entry|Türkçe|OSS (Türkçe)}}
+
El [http://es.wikipedia.org/wiki/Open_Sound_System Open Sound System] ('''OSS''') es una arquitectura de sonido alternativa para sistemas compatibles con UNIX y POSIX. OSS versión 3 era el sistema original de sonido para Linux y estaba incluido en el kernel hasta que fue reemplazado por [[Advanced Linux Sound Architecture (Español)|Advanced Linux Sound Architecture]] ('''ALSA''') en 2002, año en que la versión 4 de OSS se convirtió en un producto propietario. Luego, OSSv4 volvió a ser software libre en 2007 cuando [http://www.opensound.com/ 4Front Technologies] liberó el código bajo  licencia GPL.
{{i18n_links_end}}
+
Este artículo mostrare como instalar y configura el  '''O'''pen '''S'''ound '''S'''ystem (OSS) a su ordenador.
+
  
== Sobre ==
+
==Comparaciones con ALSA==
 +
A continuación se relacionan algunas ventajas y desventajas de OSS comparado con el uso de Advanced Linux Sound Architecture.
  
El [http://es.wikipedia.org/wiki/Open_Sound_System Open Sound System] es una arquitectura de sonido alternativa para Unix-como y Posix-compatibiles sistemas. OSS versión 3 era la sistema original de sonido para Linux y está en el kernel, pero fue suplantada por ALSA el año 2002, el año en que OSS versión 4 se convirtió en producto propietario. OSSv4 se convirtió en software libre de nuevo el año 2007 cuando
+
=== Ventajas de OSS (usuarios)===
[http://www.opensound.com/ 4Front Technologies] liberaron el código bajo el licenso GPL
+
== Comparación wcon ALSA ==
+
  
Algunos aventajes y desventajes comparado con ALSA (Arquitectura de sonido de Linux avanzada).  
+
*Control sobre el nivel del volumen de cada aplicación.
 +
*Algunas tarjetas de sonido antiguas tienen mejor soporte.
 +
*El tiempo de respuesta inicial en las aplicaciones de audio, en la mayoría de los casos, es mejor.
  
=== OSS aventajes (usuarios) ===
+
===Ventajas de OSS (desarrolladores)===
 +
* Suporte para el controlador en el espacio del usuario.
 +
* Accesibilidad. OSS también funciona con BSDs y Solaris.
 +
* El API es más limpio, más fácil de usar.
  
* Incluye Software Mixer transparent (vmix en espacio kernel), lo que significa que muchas aplicaciones pueden acceder el audio aparato en el mismo momento.
+
===Ventajas de ALSA sobre OSS===
* Control sobre el nivel del volumen de cada una aplicación.
+
* Algunos aparatos viejos tienen mejor suporto (p.e. Creative X-Fi).
+
* El tiempo de responder inicial en las aplicaciones en la mayoría de los casos es mejor .
+
* Mejor suporto para las aplicaciones que utilizan OSS API.  Muchas aplicaciones todavia usan este API, y no necesitan emulación como con ALSA.
+
  
=== OSS avantajes (Productores) ===
+
* Mejor soporte para aparatos de audio USB.
 +
* Soporte para aparatos de audio Bluetooth.
 +
* Soporte para el software de modems [[Wikipedia:AC'97|AC'97]] y [[Wikipedia:Intel_High_Definition_Audio|HD Audio]].
 +
* Mejor soporte para aparatos MIDI.
 +
* Soporte para suspender.
 +
* Mejor soporte para detección de clavijas (''jack'').
  
* El API es más limpio, más fácil de usar y también mejor [http://manuals.opensound.com/developer documentado].
+
{{Nota|
* Suporto para controlador en espacio del usuario.
+
* OSS tiene soporte de salida experimental para dispositivos de audio USB, pero no de entrada.
* Accesibilidad. OSS corre también a BSDs y Solaris.
+
*  OSS soporta dispositivos MIDI con la ayuda de un sintetizador de software como [[Timidity]] o [[FluidSynth]].
* Portabilidad. OSS es [http://revolf.free.fr/Alchimie-7/Alchimie7_OSS_Haiku.en.pdf más fácil] de portar para otras sistemas operativos.
+
}}
  
=== ALSA Aventajas ===
+
==Instalacion==
  
* Mejor suporto para USB audio aparatos.  Con OSS producción de sonido experimental, introducción de sonido no está suportada.
+
Instale {{AUR|oss}} de los [[Official Repositories (Español)|repositorios oficiales]].
* Suporto para Bluetooth audio aparatos.
+
* Suporto para AC'97 y HDAudio dial-up soft-modems como Si3055.
+
* Mejor suporto para MIDI aparados.  Con OSS tendrá que usar software sintetizador como Timidity o Fluidsynth.
+
* Suporto para suspender.  OSS y las programas asociadas tendrán que cerrarse todas primero.
+
* Mejor suporto para detección de clavijera. En algunos HD motherboards usuarios tendrán que apagar el altavoz al introducir los auriculares.  
+
  
== Instalacion ==
+
También hay una versión de desarrollo de OSS disponible en [[AUR]] con el paquete {{AUR|oss-hg}}.
  
Instala OSS así:
+
{{Nota|{{AUR|oss-hg}} no cuenta aún con archivo de unidad para [[systemd]], pero puede utilizar uno desde [https://projects.archlinux.org/svntogit/community.git/tree/trunk/oss.service?h=packages/oss oss]. Para ello, tiene que copiarlo a {{ic|/usr/lib/systemd/system/oss4.service}}.}}
  
# pacman -S oss
+
Esto instalará OSS, ejecute el script de instalación de OSS (desactivando temporalmente los módulos de ALSA) e instale los módulos del kernel de OSS. Dado que ALSA está activado por defecto en los scripts de arranque, es necesario desactivarlo para que no entre en conflicto con OSS. Se puede hacer esto mediante la inclusión del módulo en blacklist:
  
Este instalará los files de OSS y correr el scripto de instalación de OSS que va a incapacitar temporalmente los modules de ALSA, y instalar los modules de kernel de OSS. Pero, como ALSA está activada por incomparecencia los scriptos de arranca, tendrá incapacitarlo para que no impida a OSS al arranque. Eso se hace al editar {{Filename|rc.conf}} añadiendo:
+
{{hc|/etc/modprobe.d/alsa_blacklist.conf|
 +
install soundcore /bin/false}}
  
MODULES=(!soundcore ...
+
Después del blacklisting del modulo, puede [[Daemon|habilitar]] el demonio '''oss''' (o '''oss4''' si está usando la versión de desarrollo) para que se inicie al arranque.
  
Ahora añada el module de OSS:
+
Si su usuario no forma parte del grupo de ''audio'', añádalo,  y '''reinicie sesión''' para que los cambios tengan efecto:
  
  MODULES=(!soundcore ... oss)
+
  # gpasswd -a $USER audio
  
Si su usuario no toma parte en el grupo de audio, añádalo:
+
En caso de que OSS no pueda detectar su tarjeta de sonido cuando reinicie, ejecute:
  
  # gpasswd -a username audio
+
  # ossdetect -v
 +
# soundoff && soundon
  
Ponga OSS en marcha:
+
==Comprobación==
  
# /etc/rc.d/oss start
+
{{Advertencia|El nivel inicial del volumen predeterminado es muy alto. Por eso, no use auriculares y (si es posible) baje físicamente el nivel del altavoz antes de ejecutar la prueba.}}
  
En caso de que OSS no puede detectar su aparado de sonido, corre:
+
'''Comprobar OSS, ejecutando:'''
  
  # ossdetect -v
+
  $ osstest
  
Después {{Codeline|soundoff && soundon}} para reactivarlo.
+
Debería oir música durante la prueba. Si no hay sonido, trate de ajustar el nivel del volumen o consulte la sección de [[Open Sound System (Español)#Solución de problemas|solución de problemas]].
  
== Testing ==
+
Para escuchar sonidos procedentes de más de una aplicación simultáneamente es necesario usar {{ic|vmix}}, el software de mezcla de OSS.
  
Beware the default volume is very loud, avoid using earphones and physically lower the volume of your speakers (if possible) before running the test.
+
'''Comprobar que vmix está habilitado, ejecutando:'''
  
'''Test OSS by running:'''
+
$ ossmix -a | grep -i vmix
  
$ osstest
+
Debería ser posible ver una línea del tipo {{ic|<nowiki>vmix0-enable ON|OFF (currently ON)</nowiki>}}. Si no ve ninguna línea que inicie con {{ic|vmix}}, probablemente significa que {{ic|vmix}} no se ha conectado con el dispositivo de audio. Para conectar {{ic|vmix}}, ejecute la orden:
  
You should be able to hear music during the test process. If there is no audio, try to adjust the volume or refer to the troubleshooting section.
+
$ vmixctl attach device
  
 +
donde ''device'' es la tarjeta de audio, por ejemplo, {{ic|/dev/oss/oss_envy240/pcm0}}.
  
'''See which devices are detected by running:'''
+
Para evitar tener que volver a ejecutar esta orden manualmente en el futuro, puede agregarla en {{ic|/usr/lib/oss/soundon.user}}, como se sugiere en [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Changing_the_default_sound_output este artículo].
 +
 
 +
Si recibe el error '''«Device or resource busy»''' («Dispositivo o recurso ocupado»), debe agregar {{ic|1=vmix_no_autoattach=1}} en {{ic|/usr/lib/oss/conf/osscore.conf}} y, seguidamente, reiniciar.
 +
 
 +
'''Ver qué dispositivos son reconocidos, ejecutando:'''  
  
 
  $ ossinfo
 
  $ ossinfo
  
You should be able to see your devices listed under Device objects or Audio Devices. If the device that you want to use is not at the top on Audio devices or Device objects sections, /usr/lib/oss/etc/installed_drivers needs to be editedThe driver for the device that needs to be used should be at the very top.  A soundoff, soundoff is probably required.  If this does not work, comment all drivers listed that are not your preferred device.
+
Debería ver una lista de los dispositivos en ''Device Objects'' o ''Audio Devices''. Si el dispositivo que desea utilizar no se encuentra en la parte superior de estas secciones, debe editar el archivo {{ic|/usr/lib/oss/etc/installed_drivers}} y colocar el controlador para el dispositivo en la parte superior. Puede ser necesario hacer un:
 +
  $ soundoff && soundon
 +
 
 +
Si esto no funciona, comente todos los controladores, excepto los que figuran para el dispositivo propio.
  
== Volume Control ==
+
==Control del Volumen con el Mezclador==
  
To control the volume of various devices, mixers levels will need to be set. The command line mixer is called {{Codeline|ossmix}}.  It's very like the BSD audio mixer (mixerctl). The graphical mixer is called {{Codeline|ossxmix}} and will require {{Package Official|gtk2}} to be installed.
+
Para controlar el nivel del volumen de los diferentes aparatos, se tienen que ajustar los niveles con los mixers. Hay dos mixers:
 +
* '''ossmix''': un mixer en línea de comandos, similar al mixe de audio {{ic|mixerctl}} de BSD.
 +
* '''ossxmix''': un mixer gráfico basado en GTK+.
  
The basic <tt>ossxmix</tt> controls:
+
Los controles primarios de {{ic|ossxmix}} tendrán el siguiente aspecto:
  
 
<pre>
 
<pre>
Line 122: Line 132:
 
</pre>
 
</pre>
  
# One tab for each sound card
+
# Una pestaña por cada tarjeta de sonido.
# The vmix (virtual mixer) special configurations appear at the top. These include sampling rate and mixer priority.
+
# La configuración especifica de {{ic|vmix}} (mixer virtual) aparece abajo. Eso incluye frecuencia de muestreo (''«sampling rate»'') y prioridad del mexclador (''«mixer priority»'').
# These are your sound card jack configurations (input and output). Every mixer control that is shown here is provided by your sound card.
+
# Estas son las configuraciones (entrada y salida) de las tomas (''«jack»'') de la tarjeta de sonido. Cada controlador del mixer, que se muestra aquí, lo provee su propia tarjeta de sonido.
# Application vmix mixer controls and sound meters. If the application isn't actively playing a sound it will be labeled pcm08, pcm09..., when the application is playing the application name will be shown.
+
# Los controles del mezclador y los medidores del sonido de la aplicación {{ic|vmix}}. Si la aplicación no produce ningún sonido será etiquetada como {{ic|pcm08, pcm09...}}, y, en cuanto reproduzca algún sonido, aparecerá el nombre de la aplicación.
  
=== Color Definitions ===
+
===Definiciones de los Colores===
  
For high definition (HD) audio, {{Codeline|ossxmix}} will color jack configurations by their pre-defined jack colors:
+
Para el audio de alta definición (HD), {{ic|ossxmix}} mostrará la configuración de cada toma (''jack'') coloreada según los siguientes colores predefinidos:
  
 
{| style="border: 1px solid #CCCCCC; background-color: #dddddf"
 
{| style="border: 1px solid #CCCCCC; background-color: #dddddf"
 
! Color
 
! Color
! Type
+
! Tipo
! Connector
+
! Conector
 
|- style=color:black;background:lightgreen
 
|- style=color:black;background:lightgreen
|green
+
|verde
| front channels (stereo output)
+
| canal frontal (salida estéreo)
 
| 3.5mm TRS
 
| 3.5mm TRS
 
|- style=color:white;background:black  
 
|- style=color:white;background:black  
|black
+
|negro
| rear channels (stereo output)
+
| canal posterior (salida estéreo)
 
| 3.5mm TRS
 
| 3.5mm TRS
 
|- style=color:white;background:gray
 
|- style=color:white;background:gray
|grey
+
|gris
| side channels (stereo output)
+
| canal lateral (salida estéreo)
 
|3.5mm TRS
 
|3.5mm TRS
 
|- style=color:black;background:gold
 
|- style=color:black;background:gold
|gold
+
|amarillo
| center and subwoofer (dual output)
+
| central y subwoofer (salida dual)
 
|3.5mm TRS
 
|3.5mm TRS
 
|- style=color:black;background:lightblue
 
|- style=color:black;background:lightblue
|blue
+
|azul
| line level (stereo input)
+
| línea de nivel (entrada estéreo)
 
|3.5mm TRS
 
|3.5mm TRS
 
|- style=color:black;background:pink  
 
|- style=color:black;background:pink  
|pink
+
|rosa
| microphone (mono input)
+
| micrófono (entrada mono)
 
|3.5mm TS
 
|3.5mm TS
 
|}
 
|}
  
=== Saving Mixer Levels ===
+
===Guardar los Niveles del Mezclador===
  
Mixer levels are saved when you shut off your computer. If you want to save the mixer level immediately, as root:
+
Los niveles del mezclador se guardan cuando se apaga el equipo. Si desea guardar el nivel de sonido de inmediato, ejecute, como root:
  
 
  # savemixer
 
  # savemixer
  
{{Codeline|savemixer}} can be used to write mixer levels to a file with the {{Codeline|-f}} switch and restore by the {{Codeline|-L}} switch.
+
{{ic|savemixer}} se puede utilizar para guardar los niveles del mixer en un archivo con el parámetro {{ic|-f}} y restaurarlos con el parámetro {{ic|-L}}.
  
=== Other Mixers ===
+
===Otros Mezcladores===
  
Other mixers that have support for OSS:
+
Otras mixer soportados por OSS:
  
* GNOME - Gnome volume control
+
* {{App|Gnome Volume Control| para [[GNOME]].|http://library.gnome.org/users/gnome-volume-control/stable/|{{Grp|gnome}}}}
* KDE - Kmix - OSS support is being developed.
+
* {{App|Kmix|para [[KDE]].|http://www.kde.org/applications/multimedia/kmix/|{{Pkg|kdemultimedia-kmix}}}}
 +
* {{App|VolWheel|para [[LXDE]].|http://oliwer.net/b/volwheel.html|{{Pkg|volwheel}}}}
  
==Configuring Applications for OSS==
+
:Después de instalar VolWheel, tendrá que hacer lo que sigue para habilitar la compatibilidad con OSS:
 +
:* Añada lo siguiente al archivo {{ic|autostart}} de [[LXDE]] :
 +
  echo "volwheel" >> ~/.config/lxsession/LXDE/autostart
 +
:* Pulse sobre el icono de la bandeja del sistema, eliga ''Preferencias'' y cambie:
 +
:** Driver: '''OSS'''.
 +
:** Default Channel: '''vmix0-outvol''' (averigue qué canal de salida va a utilizar desde {{ic|ossmix}}).
 +
:** Default Mixer: '''ossxmix'''.
 +
:** En la pestaña MiniMixer (opcional), añada '''vmix0-outvol''' y opcionalmente otros.
  
===Skype===
+
==Configurar aplicaciones para OSS==
 +
===Aplicaciones que usan Gstreamer===
  
The <tt>skype</tt> package only includes support for ALSA. To get an OSS-capable Skype, install the <tt>skype-oss</tt> package:
+
Si tiene problemas con las aplicaciones que usan Gstreamer para audio, pruebe eliminando {{Pkg|pulseaudio}}, e instalando el paquete {{Pkg|gstreamer0.10-good-plugins}} que es requerido por {{ic|oss4sink}} y {{ic|oss4src}}.
  
# pacman -S skype-oss
+
Puede cambiar la configuración de GStreamer a fin de enviar el sonido a OSS, en lugar de a ALSA por defecto, con {{ic|gstreamer-properties}} (parte del paquete {{Pkg|gnome-media}} ). Después de iniciar {{ic|gstreamer-properties}}, se tienen que modificar las opciones de la siguiente manera:
 +
* en la sección ''Default Output'': si OSS no está disponible como un plugin, cambie ''Plugin'' por '''Custom''' y ''Pipeline'' por '''oss4sink'''.
 +
* en la sección ''Default Input'': si OSS no está disponible, cambie ''Plugin'' por '''Custom''' y ''Pipeline'' por '''oss4src'''.
  
If you are using x86_64, you can get the [http://aur.archlinux.org/packages.php?ID=18312 bin32-skype-oss] package from AUR.
+
{{Nota|También puede usar {{ic|osssrc}}  como una alternativa a {{ic|oss4src}} si encuentra que reproduce un mejor sonido.}}
  
===Wine===
+
Para algunas aplicaciones (por ejemplo, Rhythmbox, Totem) las configuraciones ajustadas para {{ic|gstreamer-properties}} no tienen ningún efecto, ya que se basan en {{ic|musicaudiosink}} en lugar de {{ic|audiosink}} (el cual es modificado por {{ic|gstreamer-properties}}).
  
* Run <tt>winecfg</tt>.
+
Una posible solución puede consistir en ajustar los valores para {{ic|audiosink}} con {{ic|gstreamer-properties}} y usar {{ic|gconf-editor}} para copiar el valor de {{ic|/system/gstreamer/0.10/default/audiosink}} a {{ic|musicaudiosink}} (en el mismo lugar).
  
$ winecfg
+
Si está utilizando Phonon con el backend GStreamer tendrá que establecer la variable del entorno correspondiente:
  
* Go to the <tt>Audio</tt> tab.
+
export PHONON_GST_AUDIOSINK=oss4sink
  
* Select <tt>OSS Driver</tt>.
+
Agregue esta orden al archivo {{ic|~/.bashrc}} para cargarlo al iniciar sesión.
  
===Gajim===
+
=== Aplicaciones que usan OpenAL ===
By default Gajim uses {{Codeline|aplay -q}} to play a sound. To change this go in Advanced Settings and search for the {{Codeline|soundplayer}} variable. The ossplay program included in the oss package is a good replacement:
+
  
{{Codeline|ossplay -qq}}
+
Por defecto OpenAL utiliza ALSA. Para cambiar esto, simplemente defina que va a usar OSS en {{ic|/etc/openal/alsound.conf}}:
 +
{{hc|/etc/openal/alsound.conf|
 +
drivers<nowiki>=</nowiki>oss
 +
}}
  
===MOC===
+
===Audacity===  
  
To use MOC with OSS v4.1 you must change section OSSMixerDevice to OSSMixerDevice==/dev/ossmix in your config (located in /home/yourusername/.moc).
+
Si [http://audacity.sourceforge.net/ Audacity] se inicia, pero se queja de que no puede abrir el dispositivo o simplemente no funciona nada, entonces puede que esté utilizando {{ic|vmix}}, ya que Audacity espera hasta tener el acceso exclusivo al dispositivo de sonido. Para solucionar este problema, antes de iniciar audacity, ejecute:
And now MOC should work with OSS v4.1.
+
Or you can compile moc-svn package from AUR (he got support for new vmix).
+
For issue with interface change OSSMixerChannel===to OSSMixerChannel===Any channel and after start mocp press w (change to sofware mixex) that will help and you can change the volume power.
+
  
===Applications that use Gstreamer===
+
$ ossmix vmix0-enable OFF
  
Remove pulseaudio and gstreamer*-pulse programs and libraries.
+
Puede restaurar {{ic|vmix}}, después de terminar con audacity, ejecutando:
  
To change the gstreamer setting to output the sound to OSS instead of the default ALSA, run:
+
$ ossmix vmix0-enable ON
  
gstreamer-properties
+
===Gajim===
  
Change the '''Default Output''' plugin to custom and the change the pipeline to:
+
Por defecto, [http://gajim.org/ Gajim] usa {{ic|aplay -q}} para reproducir sonido. Para OSS puede cambiarlo por el equivalente {{ic|ossplay -qq}}, para lo cual vaya a ''Editar > Preferencias > Avanzado'', y abra ''Editar Configuración Avanzada'' y modifique la variable {{ic|soundplayer}} en consecuencia.
  
oss4sink
+
===MOC===
  
For the input:
+
Para utilizar [[Moc|MOC]] con OSS v4.1 debe cambiar la sección {{ic|OSSMixerDevice}} en {{ic|/dev/ossmix}} del archivo de configuración (ubicado en {{ic|~/.moc}}). Si tiene problemas con la interfaz pruebe cambiando {{ic|OSSMixerChannel}} presionando {{ic|w}} en {{ic|mocp}} (para cambiar a mixer software).
  
oss4src
+
===MPD===
  
{{Note|It's not certain that the input will sound better with oss4src compared to osssrc, so change this only if it improves your input sound. < confirmation on this please >}}
+
[[MPD]] se configura a través de {{ic|/etc/mpd.conf}} o {{ic|~/.mpdconf}}. Compruebe ambos archivos, en busca de algo que se parezca a:
 +
{{hc|/etc/mpd.conf|
 +
...
 +
audio_output {
 +
    type    "alsa"
 +
    name    "Some Device Name"
 +
}
 +
...}}
  
If you are using phonon with the gstreamer backend you will need to set the environmental variable.  To add to your current user:
+
Si encuentra una configuración de ALSA no comentada (esto es, las líneas que comienzan sin almohadilla {{ic|#}}) como la de arriba, comente todas las salidas, o bórrelas, y añada lo siguiente:
 +
{{hc|/etc/mpd.conf|
 +
...
 +
audio_output {
 +
    type    "oss"
 +
    name    "Nombre del Dispositivo OSS"
 +
}
 +
...}}
  
export PHONON_GST_AUDIOSINK=oss4sink
+
No deberían ser necesarias configuraciones ulteriores para los demás usuarios. Sin embargo, si experimenta problemas (MPD no funciona correctamente después de que se haya reiniciado), o si prefiere tener un archivo de configuración específico (es decir, más configurado por el usuario, menos configurado automáticamente), la salida de audio para OSS puede ser específicamente configurada de la siguiente manera:
  
Add this to your {{Filename|~/.bashrc}} to be loaded on login.
+
* Primeramente ejecute:
  
===Firefox >=3.5===
+
$ ossinfo | grep /dev/dsp
  
Firefox 3.5 introduces the <video> and <audio> tag support and can play ogg media out of the box. However, it currently can't be compiled with ALSA and OSS support at the same time. So you need to install the [http://aur.archlinux.org/packages.php?ID=28110 xulrunner-oss] package.
+
* Busque una línea similar a {{ic|/dev/dsp -> /dev/oss/<SOME_CARD_IDENTIFIER>/pcm0}}. Tome nota de {{ic|<SOME_CARD_IDENTIFIER>}} y añada las líneas resaltadas en negrita a {{ic|audio_output}} de OSS en el archivo de configuración MPD:
 +
{{hc|/etc/mpd.conf|
 +
...
 +
audio_output {
 +
    type            "oss"
 +
    name            "Nombre del Dispositivo OSS"
 +
    '''device          "/dev/oss/<SOME_CARD_IDENTIFIER>/pcm0"'''
 +
    '''mixer_device    "/dev/oss/<SOME_CARD_IDENTIFIER>/mix0"'''
 +
}
 +
...
 +
}}
  
1. Stop firefox.
+
Consulte también: [[Music Player Daemon#Global Configuration]].
2. Remove the xulrunner package without dependency check: sudo pacman -Rd xulrunner
+
3. Install xulrunner-oss package from AUR using yaourt or [http://wiki.archlinux.org/index.php/ABS ABS].
+
4. Start firefox.
+
  
 
===Mplayer===
 
===Mplayer===
  
If you are using gui (smplayer etc.) you will find the oss output at the audio settings. Using on cli you should specify the sound output: mplayer -ao oss /some/file/to/play.mkv If you don't want to brother typing it over and over again add "ao=oss" to your config file. (/home/$USER/.mplayer/config)
+
Si está utilizando la interfaz gráfica de usuario (SMplayer, GNOME MPlayer, etc.), es necesario cambiar la configuración de la salida de OSS en los ajustes de audio. Si usa [[MPlayer]], desde la línea de comandos debe especificar la salida de sonido:  
  
===Other applications===
+
$ mplayer -ao oss /some/file/to/play.mkv
  
* If you can't get sound from an application not listed here, try looking at the [http://www.4front-tech.com/wiki/index.php/Configuring_Applications_for_OSSv4 Configuring Applications for OSSv4] page.
+
Si no quiere molestarse en escribirla una y otra vez, agregue {{ic|1=ao=oss}} al propio archivo de configuración ({{ic|~/.mplayer/config}}).
* Search OSS specific packages by using {{Codeline|pacman -Ss -- '-oss'}} and [http://aur.archlinux.org/packages.php?K=-oss&start=0&PP=100| in AUR].
+
  
==Troubleshooting==
+
Consulte también: [[Mplayer#Configuration]].
  
===Troubleshooting HDAudio devices===
+
===Skype===
  
====Understanding why problems arise====
+
El paquete {{Pkg|skype}} solo incluye soporte para ALSA, ya que el soporte para OSS fue eliminado en las versiones recientes. Para tener una versión OSS compatible con [[Skype]], instale el paquete {{AUR|skype-oss}} desde el repositorio Community.
+
If you have a HDAudio sound device, it's very likely that you will have to adjust some mixer settings before your sound works.
+
  
HDAudio devices are very powerful in the sense that they can contain a lot of small circuits (called ''widgets'') that can be adjusted by software at any time. These controls are exposed to the mixer, and they can be used, for example, to turn the earphone jack into a sound input jack instead of a sound output jack.
+
O utilice {{Pkg|pulseaudio}} con module-oss: Modifique {{Ic|/etc/pulse/default.pa}}, comentando la línea que comienza con {{Ic|load-module module-udev-detect}} y añada {{Ic|1=load-module module-oss device="/dev/dsp" sink_name=output source_name=input mmap==0}}.
  
However, there is a side effect, mainly because the HDAudio standard is more flexible than it perhaps should be, and because the vendors often only care to get their ''official drivers'' working.
+
Véase también: [[Skype#Skype-OSS Sound (Pre-2.0)]].
  
Then, when using HDAudio devices, you often find disorganized mixer controls, that doesn't work at all by default, and you are forced to try every mixer control combination, until it works.
+
=== VLC media player ===
 +
Puede seleccionar OSS como la salida por defecto en las configuraciones de audio.
  
====How to solve====
+
===Wine===
  
Open <tt>ossxmix</tt> and try to change every mixer control in the ''middle area'', that contains the sound card specific controls, as explained in the previous "[[OSS#The_mixer|The mixer]]" section.
+
Para proporcionar soporte de OSS en [[Wine]] inicie:
 +
$ winecfg
  
You'll probably want to setup a program to record/play continously in the background (e.g. {{Codeline|ossrecord - | ossplay -}} for recording or {{Codeline|osstest -lV}} for playing), while changing mixer settings in ossxmix in the foreground.
+
y, en la pestaña {{ic|Audio}}, seleccione {{ic|OSS Driver}}.
  
* Raise every volume control slider.
+
Consulte también: [[Wine#Sound]].
* In each option box, try to change the selected option, trying all the possible combinations.
+
* If you get noise, try to lower and/or mute some volume controls, until you find the source of the noise.
+
  
Please note again that you do '''not''' need to change any controls in the ''top area'' nor in the ''bottom area'', as they are virtual <tt>vmix</tt>-related mixer controls.
+
===Otras aplicaciones===
  
* Editing {{Codeline|/usr/lib/oss/conf/oss_hdaudio.conf}} uncommenting and changing ''hdaudio_noskip=0'' to a value from 0-7 can give you more jack options in ossxmix
+
* Si no puede hacer funcionar una aplicación no listada aquí, pruebe buscando en la página [http://www.4front-tech.com/wiki/index.php/Configuring_Applications_for_OSSv4 Configurar Aplicaciones para OSSv4].
I had to edit mine to ''hdaudio_noskip=7'' for my sub/rear speaker to work on my laptop, restart oss for the changes to take effect {{Codeline|/etc/rc.d/oss restart}}
+
* Busque los paquetes específicos para OSS usando {{ic|pacman -Ss -- -oss}} o busque en [https://aur.archlinux.org/packages.php?K=-oss&start=0&PP=100 AUR].
  
===MMS sound cracking in totem===
+
==Consejos y trucos==
If your stream sounds with cracks or strange noise in totem like it did with me then you could try to play it with another backend like ffmpeg (mplayer). That "fixed" the issue for me. This will not fix the issue that somehow pops up in gstreamer when playing MMS streams but it will give you the option to play it with good sound quality. Playing it in mplayer is simple:
+
===Usar las teclas multimedia con OSS===
# mplayer mmsh://yourstreamurl
+
  
===Microphone playing through output channels===
+
Una manera fácil de activar/desactivar el sonido y subir/bajar el volumen es usar el script {{AUR|ossvol}} disponible en [[AUR]]. Para más información sobre el script consulte [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#ossvol este artículo] de la wiki de OSS.
  
OSS by default plays back the microphone through the speakers. To disable this in ossxmix find the misc section. Check off every "input-mix-mute" to disable this.
+
Una vez instalado, escriba:
 
+
===Troubleshooting other issues===
+
 
+
* If you get distorted sound, try lowering some volume control sliders.
+
 
+
* If you need to change the default sound card, look at [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Changing_the_default_sound_output here].
+
 
+
* If you have another issues, try searching or asking for help at the [http://www.4front-tech.com/forum 4front forums].
+
 
+
==Tips and tricks==
+
 
+
===Using multimedia keys with OSS===
+
An easy way to mute/unmute and increase/decrease the volume is to use the [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#ossvol {{Codeline|ossvol}} script] available in [[AUR]].
+
 
+
Once you installed it try to toggle the sound:
+
 
  $ ossvol -t
 
  $ ossvol -t
 +
para silenciarlo, o:
 +
$ ossvol -h
 +
para ver las órdenes disponibles.
  
Type {{Codeline|ossvol -h}} for the other commands.
+
{{Nota|Si {{ic|ossvol}} da un error como '''Bad mixer control name(987) 'vol'''', tiene que editar el script {{ic|/usr/bin/ossvol}} y cambiar la variable {{ic|CHANNEL}} al canal por defecto (normalmente {{ic|vmix0-outvol}}).}}
 
+
If you don't know how to assign commands to your multimedia keys, see [[Extra Keyboard Keys]].
+
 
+
==={{Codeline|ossvol}} troubleshooting===
+
If you get an error like:
+
Bad mixer control name(987) 'vol'
+
you need to edit the script ({{Filename|/usr/bin/ossvol}}) and change the value of the {{Codeline|CHANNEL}} variable which is at the beginning of the script. For example mine is {{Codeline|CHANNEL<nowiki>=</nowiki>"vmix0-outvol"}}.
+
 
+
*'''Note''' if you are using xbindkeys for your multimedia keys adding this
+
"ossmix vmix0-outvol -- +1"
+
raise volume
+
"ossmix vmix0-outvol -- -1"
+
lower volume
+
 
+
to the raise/lower volume section of your .xbindkeysrc file is an easy way to adjust the volume
+
 
+
===Changing the Sample Rate===
+
 
+
Changing the output sample rate is not obvious at first. Sample rates can only be changed by the superuser and vmix must be unused by any programs when a change is requested. Before you follow any of these steps, ensure you are going through a receiver/amplifier and using quality speakers and not simply computer speakers. If you are only using computer speakers, don't bother changing anything here as you won't notice a difference.
+
 
+
By default the sample rate is 48000hz. There are several conditions in which you may want to change this. This all depends on your usage patterns. You want the sample rate you are using to match the media you use the most. If your computer has to change the sampling rate of the media to suit the hardware it is likely, though not guaranteed that you will have a loss in audio quality. This is most noticable in downsampling (ie. 96000hz &rarr; 48000hz). There is an article about this issue in [http://www.stereophile.com/news/121707lucky/ "Stereophile"] which was [http://lists.apple.com/archives/coreaudio-api/2008/Jan/msg00272.html discussed] on Apple's "CoreAudio API" mailing list if you wish to learn more about this issue. 
+
 
+
Some example sample rates:
+
 
+
* 44100hz - Sample rate of standard [http://en.wikipedia.org/wiki/Red_Book_%28audio_CD_standard%29 Red Book] audio cds.
+
* 88000hz - Sample rate of [http://en.wikipedia.org/wiki/Super_Audio_CD SACD] high definition audio discs/downloads. It is rare that your motherboard will support this sample rate.
+
* 96000hz - Sample rate of most high definition audio downloads. If your motherboard is an [http://en.wikipedia.org/wiki/AC%2797 AC'97] motherboard, this is likely to be your highest bitrate.
+
* 192000hz - Sample rate of BluRay, and some (very few) high definition downloads. Support for external audio reciever equipment is limited to high end audio. Not all motherboards support this. An example of a motherboard chipset that would support this includes [http://en.wikipedia.org/wiki/Intel_High_Definition_Audio Intel HDA audio].
+
 
+
To check what your sample rate is currently set to:
+
 
+
# Run <code>"ossmix | grep rate"</code>.
+
 
+
You are likely to see <code>"vmix0-rate <decimal value> (currently 48000) (Read-only)"</code>.
+
 
+
If you do not see a "vmix0-rate" (or "vmix1-rate", etc.) being outputted, than it probably means that vmix is disabled. In that case, OSS will use the rate requested by the program which uses the device, so this section doesn't apply. Exception: envy24(ht) cards have a setting envy24.rate which has a similiar function (see "oss_envy24" manpage). You can follow these steps, but at step 2, change with ossmix the value of "envy24.rate" as well.
+
 
+
Steps to affect the change:
+
 
+
# First, make sure your card is able to use the new rate. Run "ossinfo -v2" and see if the wanted rate is in the "Native sample rates" output.
+
# As root, run <code>"/usr/lib/oss/scripts/killprocs.sh"</code>. Be aware, this will close any program that currently has an open sound channel (examples being media players, Firefox as of 3.5 if you have xulrunner-oss installed, and the gnome volume control).
+
# After all programs occupying vmix are terminated, run as root: <code>"vmixctl rate /dev/dsp 96000"</code> replacing the rate with your desired sample rate.
+
# Run <code>"ossmix | grep rate"</code> and check for <code>"vmix0-rate <decimal value> (currently 96000) (Read-only)"</code> to see if you were successful.
+
 
+
===Changing the Default Sound Output===
+
 
+
When running osstest, the first test passes for the first channel, but not for the stereo or right channel, it sounds distorted/hisses.  If this is what your sound is like, then it's set to the wrong output.
+
 
+
      *** Scanning sound adapter #-1 ***
+
      /dev/oss/oss_hdaudio0/pcm0 (audio engine 0): HD Audio play front
+
      - Performing audio playback test...
+
      <left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)>
+
 
+
The left sounded good, the right and stereo were the distorted ones.
+
  
Let the test continue until you get a working output:
+
Si desea utilizar las teclas multimedia con {{ic|ossvol}}, consulte [[Extra Keyboard Keys]] y asegúrese de que están correctamente configuradas. Después puede utilizar, por ejemplo, [[Xbindkeys]] para asociarlo al script {{ic|ossvol}}. Añada lo siguiente al archivo {{ic|~/.xbindkeysrc}}:
      /dev/oss/oss_hdaudio0/spdout0 (audio engine 5): HD Audio play spdif-out
+
{{hc|~/.xbindkeysrc|
      - Performing audio playback test...
+
# Toggle mute
      <left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)>
+
"ossvol -t"
 +
    m:0x0 + c:121
 +
    XF86AudioMute
  
If this passed the test on all left, right and stereo, proceed to next step.
+
# Lower volume
 +
"ossvol -d 2"
 +
    m:0x0 + c:122
 +
    XF86AudioLowerVolume
  
So from here:
+
# Raise volume
[http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Changing_the_default_sound_output Changing_the_default_sound_output]
+
"ossvol -i 2"
you get the command to change the default output; change according to what works for you
+
    m:0x0 + c:123
      sudo ln -sf /dev/oss/oss_hdaudio0/spdout0 /dev/dsp_multich
+
    XF86AudioRaiseVolume
With 5.1 surround, chose dsp_multichannel; with 2 channel, dsp should work.
+
}}
 +
y, opcionalmente, cambie las teclas multimedia con los atajos que prefiera.
  
===Creative Sound Blaster X-Fi Surround 5.1 SB1090 USB===
+
===Modificar la frecuencia de muestreo===
 +
El cambio de la frecuencia de muestreo de salida no se hace evidente al principio. Las frecuencias de muestreo solo pueden ser modificadas por el superusuario y {{ic|vmix}} no debe ser usado por ningún programa cuando se solicita un cambio. Antes de seguir alguno de estos pasos, asegúrese de utilizar un receptor/amplificador y altavoces de calidad y no simplemente lo altavoces del PC. Si está utilizando solamente los altavoces del ordenador, no se moleste en cambiar nada aquí, ya que no notará la diferencia.
  
This information is completely from [http://www.4front-tech.com/forum/viewtopic.php?f=3&t=3423 4front-tech.com] ; courtesy of kristian and Maxa. Thanks!!
+
Por defecto, la frecuencia de muestreo es 48000Hz. Hay varias condiciones en las que es posible que desee cambiar esta situación. Depende todo de la utilización que se haga. Es conveniente ajustar la frecuencia de muestreo correspondiente a la fuente utilizada más a menudo. Si el equipo tiene que cambiar la frecuencia de muestreo de una fuente para adaptarla a la del hardware, es probable, aunque no se garantiza, que va a tener una pérdida de calidad de audio. Esto es más notable en el downsampling (submuestreo) (es decir, 96000Hz → 48000Hz ). Hay un artículo sobre este tema en [http://www.stereophile.com/news/121707lucky/ «Stereophile»] que ha sido [http://lists.apple.com/archives/coreaudio-api/2008/Jan/msg00272.html discutido] en la lista de correo «CoreAudio API» de Apple, por si desea obtener más información acerca de este tema.
  
It's surprising to learn that the external card does not work just because of a missing true return value in the function write_control_value(...) in ossusb_audio.c.
+
Algunos ejemplos de frecuencias de muestreo:
  
To fix this, a recompile of oss is nessasary, for now.
+
; 44100hz: Frecuencia de muestreo estándar de [http://en.wikipedia.org/wiki/Red_Book_%28audio_CD_standard%29  Red Book] para el CD de audio.
 +
; 88000hz: Frecuencia de muestreo de [http://en.wikipedia.org/wiki/Super_Audio_CD SACD] de alta definición. Es raro que su placa base soporte este tipo de frecuencia.
 +
; 96000hz: Frecuencia de muestreo de la mayoría de las descargas de audio de alta definición. Si su placa base es una placa base [[Wikipedia:AC'97|AC'97]], probablemente esta será su frecuencia más alta.
 +
; 192000hz: Frecuencia de muestreo de BluRay, y de algunas (muy pocas) descargas de alta definición. Soporte para receptores de audio externo y limitado a los dispostivos de gama alta. No todas las placas base lo soportan. Un ejemplo de chipset de una placa base que podría soportarlo lo incluye [[Wikipedia:Intel High Definition Audio|HD Audio]].  
  
1.  Grab the latest oss from the Arch Repo
+
Para comprobar cuál es su frecuencia de muestreo actualmente configurada, ejecute
  http://repos.archlinux.org/wsvn/community/oss/repos/community-x86_64/
+
  ossmix | grep rate
  
2.  Extract it
+
Probablemente verá una salida como esta {{ic|"vmix0-rate <decimal value> (currently 48000) (Read-only)"}}
  
3. cd to the folder, I renamed the folder to oss
+
Si no ve {{ic|vmix0-rate}} (o {{ic|vmix1-rate}}, etc.), probablemente significa que {{ic|vmix}} está desactivado. En ese caso, OSS usará la frecuencia requerida por el programa que utiliza el dispositivo, ignorando esta sección. Una excepción es la tarjeta Envy24 (y Envy24HT) que tiene un valor especial {{ic|envy24.rate}}, lo que supone una función similar (consulte la página del manual de {{ic|oss_envy24}}).
  
4.  run makepkg --nobuild
+
Pasos para efectuar el cambio:
  
5. cd to src/kernel/drv/oss_usb/ ; '''edit the ossusb_audio.c''' ; '''add a Return 1''' ; should look like so and '''SAVE'''
+
# Primero, asegúrese de que su tarjeta es capaz de utilizar la nueva frecuencia. Ejecute {{ic|ossinfo -v2}} y vea si la frecuencia deseada está presente en ''Native sample rates''.
  static int
+
# Como root, ejecute {{ic|/usr/lib/oss/scripts/killprocs.sh}}. Tenga en cuenta que esto cerrará cualquier programa que actualmente tenga un canal de sonido abierto.
  write_control_value (ossusb_devc * devc, udi_endpoint_handle_t * endpoint,
+
# Después que todos los programas que estaba utilizando {{ic|vmix}} finalicen, ejecute como root: {{ic|vmixctl rate /dev/dsp 96000}}, sustituyendo la frecuencia presente por la frecuencia deseada (y {{ic|ossmix envy24.rate 96000}} si fuera aplicable).
            int ctl, int l, unsigned int v)
+
# Ejecute {{ic|<nowiki>ossmix | grep rate</nowiki>}} y compruebe {{ic|vmix0-rate <decimal value> (currently 96000) (Read-only)}} para ver si todo ha salido correctamente.
  {
+
#'''Haga que los cambios sean permanentes''' añadiendo lo siguiente al archivo {{ic|soundon.user}}:
    return 1;
+
{{hc|/usr/lib/oss/soundon.user|
 +
#!/bin/sh
  
6. do a makepkg --noextract
+
vmixctl rate /dev/dsp 96000
 +
# ossmix envy24.rate 96000 # uncomment if you have an Envy24(HT) card
  
Now you must install the package with pacman -U ; remove oss first if already installed <nowiki>(pacman -Rd oss)</nowiki>
+
exit 0
 +
}}
 +
y hágalo ejecutable:
 +
# chmod +x /usr/lib/oss/soundon.user
  
===A simple systray applet===
+
===Un sencillo applet para la bandeja del sistema===
Want a applet to control volume like in GNOME? Form [http://bbs.archlinux.org/viewtopic.php?id=77440 here] I got a usable [http://pastebin.furver.se/0xflchkfz/ one].  
+
Para aquellos que quieran un applet ligero de OSS en la bandeja del sistema consulte [http://pastebin.furver.se/0xflchkfz/ esto].
  
Download [http://pastebin.furver.se/0xflchkfz/0xflchkfz.txt this] script and rename whatever you want, e.g.: ossvolctl. run the following command:
+
Para instalarlo:
  $chmod +x ossvolctl
+
* Descargue [http://pastebin.furver.se/0xflchkfz/0xflchkfz.txt el script] con cualquier nombre que desee (por ejemplo {{ic|ossvolctl}})
  #cp ossvolctl /usr/bin/ossvolctl
+
* Hágalo ejecutable:
or
+
  $ chmod +x ossvolctl
  #install -Dm755 ossvolctl /usr/bin/ossvolctl
+
* Y copielo en {{ic|/usr/bin}}:
 +
  # cp ossvolctl /usr/bin/ossvolctl
 +
o:
 +
  # install -Dm755 ossvolctl /usr/bin/ossvolctl
  
===Start ossxmix docked to systray on startup===
+
===Iniciar ossxmix en la bandeja del sistema al arrancar===
  
'''KDE 4'''
+
==== KDE ====
  
Create an application launcher file named <code>ossxmix.desktop</code> in you local application launchers directory (<code>~/.local/share/applications/</code> then enter:
+
Cree un archivo para lanzar aplicaciones con el nombre {{ic|ossxmix.desktop}} en el directorio local para lanzar aplicaciones ({{ic|~/.local/share/applications/}} e introduzca:
  
<pre>[Desktop Entry]
+
{{hc|~/.local/share/applications/ossxmix.desktop|<nowiki>
 +
[Desktop Entry]
 
Name=Open Sound System Mixer
 
Name=Open Sound System Mixer
 
GenericName=Audio Mixer
 
GenericName=Audio Mixer
Line 423: Line 413:
 
Terminal=false
 
Terminal=false
 
Type=Application
 
Type=Application
Encoding=UTF-8</pre>
+
Encoding=UTF-8</nowiki>
 +
}}
  
To add it to autostart when loading the desktop environment:
+
Para que se inicie automáticamente con el sistema, añádalo a la lista autostart del sistema en ''System Settings > System Administration > Startup and Shutdown > Autostart''.
  
System Settings > Advanced tab > Autostart.  Then click add program and choose it from the 'Multimedia' list.
+
==== Gnome ====
  
'''Gnome'''
+
Como root, cree el archivo {{ic|/usr/local/bin/ossxmix_bg}},  con el siguiente contenido:
  
*As Root create a file /usr/local/bin/ossxmix_bg with the following content:
+
{{hc|/usr/local/bin/ossxmix_bg|
 +
#!/bin/sh
  
<pre>
 
#!/bin/bash
 
 
exec /usr/bin/ossxmix -b
 
exec /usr/bin/ossxmix -b
</pre>
+
}}
  
Goto System > Preferences > Start Up Applications
+
Vaya a ''System > Preferences > Aplicaciones Start Up'' y:
  
*Click Add, Type OSSMIX in Name field and <code>/usr/local/bin/ossxmix_bg</code> in Command field then click Add button.
+
* Pinche en ''Agregar'', escriba {{ic|OSSMIX}} en el campo ''Nombre'' y la ruta {{ic|/usr/local/bin/ossxmix_bg}} en el campo ''Comando''; a continuación, pinche en el botón ''Agregar''.
  
*Login and Logout to see the changes.
+
* Reinicie la sesión para ver los cambios.
  
===Record sound output from a program===
+
===Guardar la salida de audio de un programa===
  
* [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Recording_sound_output_of_a_program Recording sound output of a program].
+
* [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Recording_sound_output_of_a_program Grabar la salida de sonido de un programa].
  
===Suspend and Hibernation===
+
===Suspensión e hibernación===
  
OSS does not automatically support suspend meaning that OSS must be manually stopped prior to suspending or hibernating.
+
OSS no admite automáticamente la suspensión, lo que significa que es necesario detener manualmente OSS antes de suspender o hibernar y reiniciar después.
  
OSS provides <tt>soundon</tt> and <tt>soundoff</tt> to enable and disable OSS, although any processes that use sound must be terminated first.
+
OSS proporciona {{ic|soundon}} y {{ic|soundOff}} para activar y desactivar OSS, aunque todos los procesos que estén utilizando el sonido deben cesar primero.
  
The following script is a rather basic method of automatically unloading OSS prior to suspending and reloading afterwards.
+
El script siguiente es un método bastante básico para cerrar automáticamente OSS antes de la suspensión y recargarlo después.
 +
 
 +
{{hc|/etc/pm/sleep.d/50osssound|
 +
#!/bin/sh
 +
. "${PM_FUNCTIONS}"
 
   
 
   
#!/bin/sh
+
suspend_osssound()
. "${PM_FUNCTIONS}"
+
{
 +
    /usr/lib/oss/scripts/killprocs.sh
 +
    /usr/sbin/soundoff
 +
}
 
   
 
   
suspend_osssound()
+
resume_osssound()
{
+
{
  /usr/lib/oss/scripts/killprocs.sh
+
    /usr/sbin/soundon
  /usr/sbin/soundoff
+
}
}
+
 
   
 
   
resume_osssound()
+
case "$1" in
{
+
    hibernate<nowiki>|</nowiki>suspend)
  /usr/sbin/soundon
+
        suspend_osssound
}
+
+
case "$1" in
+
  hibernate|suspend)
+
  suspend_osssound
+
 
  ;;
 
  ;;
  thaw|resume)
+
    thaw<nowiki>|</nowiki>resume)
 
  resume_osssound
 
  resume_osssound
 
  ;;
 
  ;;
  *) exit $NA
+
    *) exit $NA
 
  ;;
 
  ;;
esac
+
esac
 +
}}
  
Save the contents of the script (as root) into {{Filename|/etc/pm/sleep.d/50ossound}} and make it executable. {{Filename| chmod a+x /etc/pm/sleep.d/50ossound}}
+
Guarde el contenido del script (como root) en {{ic |/etc/pm/sleep.d/50ossound}} y hágalo ejecutable:
 +
chmod a+x /etc/pm/sleep.d/50ossound
  
{{Note|This script is rather basic and will terminate any application directly accessing OSS, save your work prior to suspending/hibernating.}}
+
{{Advertencia|Este script es bastante básico y terminará cualquier aplicación que esté usando directamente OSS, por lo tanto, guarde sus trabajos antes de suspender/hibernar.}}
  
OSS does not support suspending but we don't care or better [http://wiki.archlinux.org/index.php/Suspend_to_RAM s2ram] works fine without stopping OSS.
+
Otra alternativa sería usar [[Suspend_to_RAM|s2ram]] para suspender. Basta con crear un script de suspensión a {{ic|/sbin/suspend}} y hacerlo ejecutable
Just create a nice suspend script to /sbin/suspend and make it executable.
+
{{bc|<nowiki>
 
+
  #!/bin/sh
<pre>
+
  #!/bin/bash
+
  
if [ [ $EUID -ne 0 ] ]; then
 
 
  ## Checking if you are a root or not
 
  ## Checking if you are a root or not
   echo "This script must be run as root" 1>&2
+
if ! [ -w / ]; then
 +
   echo >&2 "This script must be run as root"
 
   exit 1
 
   exit 1
 
  fi
 
  fi
Line 501: Line 492:
 
  sleep 2
 
  sleep 2
  
  /etc/rc.d/oss restart 2>/tmp/oss.txt
+
  /etc/rc.d/oss restart 2>/tmp/oss.txt || echo "OSS restart failed, check /tmp/oss.txt for information"
 +
</nowiki>}}
 +
Con esto, todas las aplicaciones deben quedar funcionando bien.
  
if [ $? -gt 0 ]; then
+
{{Nota|Si utiliza el navegador Opera debe terminar {{ic|operapluginwrapper}} antes de suspender. Para hacerlo añada {{ic|1=pid=$(pidof operapluginwrapper) && kill $pid}} antes de {{ic|s2ram -f}}.}}
echo "OSS restart failed check /tmp/oss.txt for advice"
+
fi
+
  
  exit 0
+
===Cambiar la salida de sonido predeterminada===
</pre>
+
 
 +
Cuando se ejecuta {{ic|osstest}}, la primera prueba se supera por el primer canal, pero no por el canal de la derecha o por los canales estéreos, en los cuales el sonido sale distorsionado y/o silbante. Si sucede esto es que ha sido asignada la salida de audio equivocada.
 +
 
 +
  *** Scanning sound adapter #-1 ***
 +
/dev/oss/oss_hdaudio0/pcm0 (audio engine 0): HD Audio play front
 +
- Performing audio playback test...
 +
<left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)>
 +
 
 +
La izquierda suena bien, el derecho y estéreo suenan distorsionados.
 +
 
 +
Deje que la prueba continúe hasta obtener una salida que funcione:
 +
/dev/oss/oss_hdaudio0/spdout0 (audio engine 5): HD Audio play spdif-out
 +
- Performing audio playback test...
 +
<left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)>
 +
 
 +
Si se supera la prueba en todos los canales, izquierdo, derecho y estéreo, proceda con el siguiente paso.
 +
 
 +
Para cambiar las órdenes de salida por defecto consulte [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Changing_the_default_sound_output este artículo de la wiki de OSS]. Cambie la configuración por la que se ajuste a su caso, por ejemplo:
 +
  # ln -sf /dev/oss/oss_hdaudio0/spdout0 /dev/dsp_multich
 +
Para obtener un sonido envolvente (4.0-7.1) seleccione {{ic|dsp_multich}}, con solo  2 canales, {{ic|dsp}} debería funcionar. Consulte [http://manuals.opensound.com/usersguide/dsp.html esto] para conocer todos los dispositivos disponibles.
 +
 
 +
===Creative Sound Blaster X-Fi Surround 5.1 USB SB1090===
 +
 
 +
Esta información proviene del [http://www.4front-tech.com/forum/viewtopic.php?f=3&t=3423 4front-tech foro].
 +
 
 +
Es sorprendente saber que la tarjeta externa no funciona solo a causa de la ausencia del valor de retorno ''true'' en la función  {{ic|write_control_value(...)}} en {{ic|ossusb_audio.c}}.
 +
 
 +
Para solucionar este problema, es necesario una recompilación de OSS, por ahora.
  
That's all your apps are fine and suspend works. \o/
+
* Obtenga la última versión de OSS desde los repositorios de Arch
 +
https://projects.archlinux.org/svntogit/community.git/tree/trunk?h=packages/oss
 +
* Extráigalo.
 +
* Para ir a la carpeta de destino utilice la orden {{ic|cd}}
 +
* Ejecute {{ic|makepkg --nobuild}}
 +
* Vaya a la carpeta {{ic|src/kernel/drv/oss_usb/}} con la orden {{ic|cd}} y edite {{ic|ossusb_audio.c}}: añada {{ic|return 1;}}.
 +
** Debería quedar así:
 +
{{hc|ossusb_audio.c|
 +
static int
 +
write_control_value (ossusb_devc * devc, udi_endpoint_handle_t * endpoint,
 +
                    int ctl, int l, unsigned int v)
 +
{
 +
    return 1;
 +
...
 +
}}
 +
* Vaya a la carpeta {{ic|src/kernel/setup}} con {{ic|cd}} y edite {{ic|srcconf_linux.inc}}, busque {{ic|-Werror}} y elimínelo, de lo contrario OSS no se compilará.
 +
* Haga {{ic|makepkg --noextract}}
  
{{Note | If you are using Opera you must kill operapluginwrapper before suspend. To do this add '''<nowiki>PID=`pidof operapluginwrapper`;kill -9 $PID</nowiki>''' before s2ram -f. }}
+
Ahora hay que instalar el paquete con {{ic|pacman -U}}. Remueva primero OSS si ya está instalado.
  
===ALSA emulation===
+
===Emular ALSA===
You can instruct <tt>alsa-lib</tt> to use OSS as its audio output system. This works as a sort of ALSA emulation.
+
  
Note, however, that this method may introduce additional latency in your sound output, and that the emulation is not complete and doesn't work with all applications. It doesn't work, for example, with programs that try to detect devices using ALSA.
+
Es posible configurar {{ic|alsa-lib}} para utilizar OSS como su sistema de audio de salida. Esto funciona como una especie de emulación de ALSA.
  
So, as most applications support OSS directly, use this method only as a last resort.
+
Nótese, sin embargo, que este método puede introducir una latencia adicional en el sonido de salida, y que la emulación no es completa y no funciona con todas las aplicaciones. No funciona, por ejemplo, con los programas que tratan de detectar los dispositivos que usan ALSA.
  
In the future, more complete methods may be available for emulating ALSA, such as <tt>libsalsa</tt> and <tt>cuckoo</tt>.
+
Así que, como la mayoría de las aplicaciones son compatibles con OSS directamente, utilice este método solo como último recurso.
  
====Instructions====
+
En el futuro, estarán disponibles métodos más completos para emular ALSA, como {{ic|libsalsa}} y {{ic|cuckoo}}.
  
* Install the <tt>alsa-plugins</tt> package.
+
====Instrucciones====
  
# pacman -S alsa-plugins
+
* Instale el paquete {{ic|alsa-plugins}}, disponible en los repositorios oficiales.:
  
* Edit {{Filename|/etc/asound.conf}} as follows.
+
* Modifique el archivo {{ic|/etc/asound.conf}} como sigue:
  
 
  pcm.oss {
 
  pcm.oss {
Line 551: Line 584:
 
  }
 
  }
  
{{Note | If you don't want to use OSS anymore, don't forget to revert changes that you do here in {{Filename|/etc/asound.conf}}.}}
+
{{Nota|Si no desea utilizar más OSS, no se olvide de revertir los cambios realizados en {{ic|/etc/asound.conf}}.}}
  
==Experimental packages==
+
===Configurar el controlador específico===
  
===Mercurial repository version===
+
Si algo no funciona, existe la posibilidad de que se deba a algunos ajustes de OSS para el controlador específico o simplemente son inadecuados para el controlador.
  
There is a [http://aur.archlinux.org/packages.php?ID=21126 oss-mercurial package] in AUR. This package compiles and installs the latest OSS development version direcly from the Mercurial repository.
+
Para solucionarlo:
 +
* Averigüe qué controlador se utiliza:
 +
 
 +
{{hc|<nowiki>$ lspci -vnn | grep -i -A 15 audio</nowiki>|
 +
<nowiki>00:1e.2 Multimedia audio controller [0401]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller [8086:266e] (rev 03)
 +
Subsystem: Hewlett-Packard Company NX6110/NC6120 [103c:099c]
 +
Flags: bus master, medium devsel, latency 0, IRQ 21
 +
I/O ports at 2100 [size=256]
 +
I/O ports at 2200 [size=64]
 +
Memory at d0581000 (32-bit, non-prefetchable) [size=512]
 +
Memory at d0582000 (32-bit, non-prefetchable) [size=256]
 +
Capabilities: <access denied>
 +
Kernel driver in use: *oss_ich*
 +
Kernel modules: snd-intel8x0</nowiki>
 +
}}
 +
 
 +
* Localice el archivo de configuración del dispositivo en:
 +
# cd /usr/lib/oss/conf/
 +
 
 +
* Trate de cambiar los valores predeterminados. Hay solo unos pocos ajustes, y son fáciles de entender.
 +
 
 +
Por ejemplo, al configurar:
 +
ich_jacksense = 1
 +
en {{ic|oss_ich.conf}}, enciende {{ic|jack-sense}}  (que es responsable de reconocer los auriculares conectados y silenciar el altavoz). Otros ajustes para{{ic|jack-sense}} se encuentra en {{ic|hdaudio.conf}} donde hay que cambiar la variable {{ic|hdaudio_jacksense}}.
 +
 
 +
* [[Daemon|Reinicie]] el demonio '''oss''' para que los cambios surtan efecto.
 +
 
 +
==Solución de problemas==
 +
===Solución de problemas con dispositivos HD Audio===
 +
====Conocer la causa del problema====
 +
 +
Si se dispone de un dispositivo de sonido HD Audio, es muy probable que tenga que ajustar algunos parámetros del mezclador antes de que el audio funcione correctamente.
 +
 
 +
Los dispositivos HD Audio son muy potentes en el sentido de que pueden contener una gran variedad de pequeños circuitos (llamados ''widgets'') que pueden ser ajustado vía software en cualquier momento. Estos controles están disponibles en el mixer, y se pueden utilizar, por ejemplo, para activar una toma de auriculares reasignándolo como una toma de entrada de sonido en lugar de una toma de salida de sonido.
 +
 
 +
Sin embargo, esto es un problema secundario, el gran problemas está, sobre todo, en que el estándar HD Audio es más flexible de lo que, tal vez, debería ser, ya que los vendedores, a menudo, solo se preocupan de conseguir el correcto funcionamiento de sus ''driver oficiales''.
 +
 
 +
Luego, cuando se utilizan dispositivos HD Audio, a menudo se encuentran controles del mezclador desorganizados que no funcionan en absoluto para ninguna de las configuraciones por defecto, siendo necesario probar todas las combinaciones posibles de los controles del mixer hasta alcanzar una configuración que funcione.
 +
 
 +
====Cómo resolverlo====
 +
Abra {{ic|ossxmix}} y trate de cambiar todos los controles del mezclador en el '''área central''' (''«middle area»''), que contiene los controles específicos de las tarjetas de sonido, tal como se explica en la sección anterior [[Open_Sound_System_(Español)#Control_del_Volumen_con_el_Mezclador|Control de volumen]].
 +
 
 +
Probablemente esté interesado en configurar un programa para grabar/reproducir continuamente en segundo plano (por ejemplo, {{ic|<nowiki>ossrecord - | ossplay -</nowiki>}} para grabar, o {{ic|osstest -lV}} para reproducir), mientras se está cambiando la configuración del mezclador con {{ic|ossxmix}} en primer plano.
 +
 
 +
* Suba cada deslizador de los controles del volumen.
 +
* En cada cuadro de opción, trate de cambiar la opción seleccionada, probando todas las combinaciones posibles.
 +
* Si se obtiene ruido, trate de bajar y/o silenciar algunos controles del volumen, hasta encontrar la fuente del ruido.
 +
* Edite el archivo {{ic|/usr/lib/oss/conf/oss_hdaudio.conf}}, quite los comentarios ({{ic|#}}) y modifique {{ic|1=hdaudio_noskip=0}} con un valor de '''0 a 7''', lo cual le va a permitir disponer de más opciones relativas a las clavijas en {{ic|ossxmix}}.
 +
 
 +
{{Nota|Si modifica los archivos, [[Daemon|reinicie]] el demonio '''oss''' para que los cambios surtan efecto.}}
 +
 
 +
===Sonido distorsionado con los MMS en Totem===
 +
 
 +
Si los flujos tienen un sonido distorsionado o producen ruidos extraños en Totem, es posible probar reproducir con otro backend como [[FFmpeg]]. Esto no va a solucionar el problema, que de alguna manera aparece en GStreamer durante la reproducción de secuencias de MMS, pero se le dará la opción de reproducir con buena calidad de sonido. Reproducir con MPlayer es simple:
 +
# mplayer mmsh://yourstreamurl
  
You can try this package if you want to contribute code to OSS or if only a very recent change in OSS code introduced support to your sound device.
+
===El Micrófono funciona a través de los altavoces===
  
If you want oss to take care of your flash sound you will need to install libflashsupport:
+
OSS, por defecto, reproduce el micrófono a través de los altavoces. Para deshabilitar esta función busque en {{ic|ossxmix}} la sección ''Misc''. Marque cada {{ic|input-mix-mute}} para desactivarla.
  
# pacman -S libflashsupport
+
== Véase también ==
 +
* [http://www.opensound.com/ Web oficial]
 +
* [http://www.opensound.com/wiki Wiki de OSS]
 +
* [http://www.opensound.com/forum/index.php Foro de OSS]
 +
* [http://www.opensound.com/developer/index.html Información sobre desarrollo]
 +
* [http://sourceforge.net/p/opensound/git/ Repositorio Git]
 +
* [http://sourceforge.net/p/opensound/mailman/opensound-devel/ Lista de correo de opensound-devel]

Revision as of 10:20, 3 November 2013

El Open Sound System (OSS) es una arquitectura de sonido alternativa para sistemas compatibles con UNIX y POSIX. OSS versión 3 era el sistema original de sonido para Linux y estaba incluido en el kernel hasta que fue reemplazado por Advanced Linux Sound Architecture (ALSA) en 2002, año en que la versión 4 de OSS se convirtió en un producto propietario. Luego, OSSv4 volvió a ser software libre en 2007 cuando 4Front Technologies liberó el código bajo licencia GPL.

Comparaciones con ALSA

A continuación se relacionan algunas ventajas y desventajas de OSS comparado con el uso de Advanced Linux Sound Architecture.

Ventajas de OSS (usuarios)

  • Control sobre el nivel del volumen de cada aplicación.
  • Algunas tarjetas de sonido antiguas tienen mejor soporte.
  • El tiempo de respuesta inicial en las aplicaciones de audio, en la mayoría de los casos, es mejor.

Ventajas de OSS (desarrolladores)

  • Suporte para el controlador en el espacio del usuario.
  • Accesibilidad. OSS también funciona con BSDs y Solaris.
  • El API es más limpio, más fácil de usar.

Ventajas de ALSA sobre OSS

  • Mejor soporte para aparatos de audio USB.
  • Soporte para aparatos de audio Bluetooth.
  • Soporte para el software de modems AC'97 y HD Audio.
  • Mejor soporte para aparatos MIDI.
  • Soporte para suspender.
  • Mejor soporte para detección de clavijas (jack).
Nota:
  • OSS tiene soporte de salida experimental para dispositivos de audio USB, pero no de entrada.
  • OSS soporta dispositivos MIDI con la ayuda de un sintetizador de software como Timidity o FluidSynth.

Instalacion

Instale ossAUR de los repositorios oficiales.

También hay una versión de desarrollo de OSS disponible en AUR con el paquete oss-hgAUR.

Nota: oss-hgAUR no cuenta aún con archivo de unidad para systemd, pero puede utilizar uno desde oss. Para ello, tiene que copiarlo a /usr/lib/systemd/system/oss4.service.

Esto instalará OSS, ejecute el script de instalación de OSS (desactivando temporalmente los módulos de ALSA) e instale los módulos del kernel de OSS. Dado que ALSA está activado por defecto en los scripts de arranque, es necesario desactivarlo para que no entre en conflicto con OSS. Se puede hacer esto mediante la inclusión del módulo en blacklist:

/etc/modprobe.d/alsa_blacklist.conf
install soundcore /bin/false

Después del blacklisting del modulo, puede habilitar el demonio oss (o oss4 si está usando la versión de desarrollo) para que se inicie al arranque.

Si su usuario no forma parte del grupo de audio, añádalo, y reinicie sesión para que los cambios tengan efecto:

# gpasswd -a $USER audio

En caso de que OSS no pueda detectar su tarjeta de sonido cuando reinicie, ejecute:

# ossdetect -v
# soundoff && soundon

Comprobación

Advertencia: El nivel inicial del volumen predeterminado es muy alto. Por eso, no use auriculares y (si es posible) baje físicamente el nivel del altavoz antes de ejecutar la prueba.

Comprobar OSS, ejecutando:

$ osstest

Debería oir música durante la prueba. Si no hay sonido, trate de ajustar el nivel del volumen o consulte la sección de solución de problemas.

Para escuchar sonidos procedentes de más de una aplicación simultáneamente es necesario usar vmix, el software de mezcla de OSS.

Comprobar que vmix está habilitado, ejecutando:

$ ossmix -a | grep -i vmix

Debería ser posible ver una línea del tipo vmix0-enable ON|OFF (currently ON). Si no ve ninguna línea que inicie con vmix, probablemente significa que vmix no se ha conectado con el dispositivo de audio. Para conectar vmix, ejecute la orden:

$ vmixctl attach device

donde device es la tarjeta de audio, por ejemplo, /dev/oss/oss_envy240/pcm0.

Para evitar tener que volver a ejecutar esta orden manualmente en el futuro, puede agregarla en /usr/lib/oss/soundon.user, como se sugiere en este artículo.

Si recibe el error «Device or resource busy» («Dispositivo o recurso ocupado»), debe agregar vmix_no_autoattach=1 en /usr/lib/oss/conf/osscore.conf y, seguidamente, reiniciar.

Ver qué dispositivos son reconocidos, ejecutando:

$ ossinfo

Debería ver una lista de los dispositivos en Device Objects o Audio Devices. Si el dispositivo que desea utilizar no se encuentra en la parte superior de estas secciones, debe editar el archivo /usr/lib/oss/etc/installed_drivers y colocar el controlador para el dispositivo en la parte superior. Puede ser necesario hacer un:

$ soundoff && soundon

Si esto no funciona, comente todos los controladores, excepto los que figuran para el dispositivo propio.

Control del Volumen con el Mezclador

Para controlar el nivel del volumen de los diferentes aparatos, se tienen que ajustar los niveles con los mixers. Hay dos mixers:

  • ossmix: un mixer en línea de comandos, similar al mixe de audio mixerctl de BSD.
  • ossxmix: un mixer gráfico basado en GTK+.

Los controles primarios de ossxmix tendrán el siguiente aspecto:

 / High Definition Audio ALC262 \    --------------------------------> 1
/________________________________\________________________________
|                                                                 \
| [x] vmix0-enable [vmix0-rate: 48.000kHz]      vmix0-channels    |--> 2
|                                               [ Stereo [v] ]    |
|                                                                 |
|  __codec1______________________________________________________ |
| |  _jack______________________________________________________ ||--> 3
| | |  _int-speaker_________________   _green_________________  |||
| | | |                             | |                       | |||
| | | |  _mode_____ | |             | |  _mode_____   | |     | |||
| | | | [ mix [v] ] o o [x] [ ]mute | | [ mix  [v] ]  o o [x] | |||
| | | |             | |             | |               | |     | |||
| | | |_____________________________| |_______________________| |||
| | |___________________________________________________________|||
| |______________________________________________________________||
| ___vmix0______________________________________________________  |
| |  __mocp___  O O   _firefox_  O O  __pcm7___  O O            | |--> 4
| | |         | O O  |         | x x |         | O O            | |
| | | | |     | x O  | | |     | x x | | |     | O O            | |
| | | o o [x] | x x  | o o [x] | x x | o o [x] | O O            | |
| | | | |     | x x  | | |     | x x | | |     | O O            | |
| | |_________| x x  |_________| x x |_________| O O            | |
| |_____________________________________________________________| |
|_________________________________________________________________|
  1. Una pestaña por cada tarjeta de sonido.
  2. La configuración especifica de vmix (mixer virtual) aparece abajo. Eso incluye frecuencia de muestreo («sampling rate») y prioridad del mexclador («mixer priority»).
  3. Estas son las configuraciones (entrada y salida) de las tomas («jack») de la tarjeta de sonido. Cada controlador del mixer, que se muestra aquí, lo provee su propia tarjeta de sonido.
  4. Los controles del mezclador y los medidores del sonido de la aplicación vmix. Si la aplicación no produce ningún sonido será etiquetada como pcm08, pcm09..., y, en cuanto reproduzca algún sonido, aparecerá el nombre de la aplicación.

Definiciones de los Colores

Para el audio de alta definición (HD), ossxmix mostrará la configuración de cada toma (jack) coloreada según los siguientes colores predefinidos:

Color Tipo Conector
verde canal frontal (salida estéreo) 3.5mm TRS
negro canal posterior (salida estéreo) 3.5mm TRS
gris canal lateral (salida estéreo) 3.5mm TRS
amarillo central y subwoofer (salida dual) 3.5mm TRS
azul línea de nivel (entrada estéreo) 3.5mm TRS
rosa micrófono (entrada mono) 3.5mm TS

Guardar los Niveles del Mezclador

Los niveles del mezclador se guardan cuando se apaga el equipo. Si desea guardar el nivel de sonido de inmediato, ejecute, como root:

# savemixer

savemixer se puede utilizar para guardar los niveles del mixer en un archivo con el parámetro -f y restaurarlos con el parámetro -L.

Otros Mezcladores

Otras mixer soportados por OSS:

  • Gnome Volume Control — para GNOME.
http://library.gnome.org/users/gnome-volume-control/stable/ || gnome
  • Kmix — para KDE.
http://www.kde.org/applications/multimedia/kmix/ || kdemultimedia-kmix
  • VolWheel — para LXDE.
http://oliwer.net/b/volwheel.html || volwheel
Después de instalar VolWheel, tendrá que hacer lo que sigue para habilitar la compatibilidad con OSS:
  • Añada lo siguiente al archivo autostart de LXDE :
 echo "volwheel" >> ~/.config/lxsession/LXDE/autostart
  • Pulse sobre el icono de la bandeja del sistema, eliga Preferencias y cambie:
    • Driver: OSS.
    • Default Channel: vmix0-outvol (averigue qué canal de salida va a utilizar desde ossmix).
    • Default Mixer: ossxmix.
    • En la pestaña MiniMixer (opcional), añada vmix0-outvol y opcionalmente otros.

Configurar aplicaciones para OSS

Aplicaciones que usan Gstreamer

Si tiene problemas con las aplicaciones que usan Gstreamer para audio, pruebe eliminando pulseaudio, e instalando el paquete gstreamer0.10-good-plugins que es requerido por oss4sink y oss4src.

Puede cambiar la configuración de GStreamer a fin de enviar el sonido a OSS, en lugar de a ALSA por defecto, con gstreamer-properties (parte del paquete gnome-media ). Después de iniciar gstreamer-properties, se tienen que modificar las opciones de la siguiente manera:

  • en la sección Default Output: si OSS no está disponible como un plugin, cambie Plugin por Custom y Pipeline por oss4sink.
  • en la sección Default Input: si OSS no está disponible, cambie Plugin por Custom y Pipeline por oss4src.
Nota: También puede usar osssrc como una alternativa a oss4src si encuentra que reproduce un mejor sonido.

Para algunas aplicaciones (por ejemplo, Rhythmbox, Totem) las configuraciones ajustadas para gstreamer-properties no tienen ningún efecto, ya que se basan en musicaudiosink en lugar de audiosink (el cual es modificado por gstreamer-properties).

Una posible solución puede consistir en ajustar los valores para audiosink con gstreamer-properties y usar gconf-editor para copiar el valor de /system/gstreamer/0.10/default/audiosink a musicaudiosink (en el mismo lugar).

Si está utilizando Phonon con el backend GStreamer tendrá que establecer la variable del entorno correspondiente:

export PHONON_GST_AUDIOSINK=oss4sink

Agregue esta orden al archivo ~/.bashrc para cargarlo al iniciar sesión.

Aplicaciones que usan OpenAL

Por defecto OpenAL utiliza ALSA. Para cambiar esto, simplemente defina que va a usar OSS en /etc/openal/alsound.conf:

/etc/openal/alsound.conf
drivers=oss

Audacity

Si Audacity se inicia, pero se queja de que no puede abrir el dispositivo o simplemente no funciona nada, entonces puede que esté utilizando vmix, ya que Audacity espera hasta tener el acceso exclusivo al dispositivo de sonido. Para solucionar este problema, antes de iniciar audacity, ejecute:

$ ossmix vmix0-enable OFF

Puede restaurar vmix, después de terminar con audacity, ejecutando:

$ ossmix vmix0-enable ON

Gajim

Por defecto, Gajim usa aplay -q para reproducir sonido. Para OSS puede cambiarlo por el equivalente ossplay -qq, para lo cual vaya a Editar > Preferencias > Avanzado, y abra Editar Configuración Avanzada y modifique la variable soundplayer en consecuencia.

MOC

Para utilizar MOC con OSS v4.1 debe cambiar la sección OSSMixerDevice en /dev/ossmix del archivo de configuración (ubicado en ~/.moc). Si tiene problemas con la interfaz pruebe cambiando OSSMixerChannel presionando w en mocp (para cambiar a mixer software).

MPD

MPD se configura a través de /etc/mpd.conf o ~/.mpdconf. Compruebe ambos archivos, en busca de algo que se parezca a:

/etc/mpd.conf
...
audio_output {
    type    "alsa"
    name    "Some Device Name"
}
...

Si encuentra una configuración de ALSA no comentada (esto es, las líneas que comienzan sin almohadilla #) como la de arriba, comente todas las salidas, o bórrelas, y añada lo siguiente:

/etc/mpd.conf
...
audio_output {
    type    "oss"
    name    "Nombre del Dispositivo OSS"
}
...

No deberían ser necesarias configuraciones ulteriores para los demás usuarios. Sin embargo, si experimenta problemas (MPD no funciona correctamente después de que se haya reiniciado), o si prefiere tener un archivo de configuración específico (es decir, más configurado por el usuario, menos configurado automáticamente), la salida de audio para OSS puede ser específicamente configurada de la siguiente manera:

  • Primeramente ejecute:
$ ossinfo | grep /dev/dsp
  • Busque una línea similar a /dev/dsp -> /dev/oss/<SOME_CARD_IDENTIFIER>/pcm0. Tome nota de <SOME_CARD_IDENTIFIER> y añada las líneas resaltadas en negrita a audio_output de OSS en el archivo de configuración MPD:
/etc/mpd.conf
...
audio_output {
    type            "oss"
    name            "Nombre del Dispositivo OSS"
    device          "/dev/oss/<SOME_CARD_IDENTIFIER>/pcm0"
    mixer_device    "/dev/oss/<SOME_CARD_IDENTIFIER>/mix0"
}
...

Consulte también: Music Player Daemon#Global Configuration.

Mplayer

Si está utilizando la interfaz gráfica de usuario (SMplayer, GNOME MPlayer, etc.), es necesario cambiar la configuración de la salida de OSS en los ajustes de audio. Si usa MPlayer, desde la línea de comandos debe especificar la salida de sonido:

$ mplayer -ao oss /some/file/to/play.mkv

Si no quiere molestarse en escribirla una y otra vez, agregue ao=oss al propio archivo de configuración (~/.mplayer/config).

Consulte también: Mplayer#Configuration.

Skype

El paquete skype solo incluye soporte para ALSA, ya que el soporte para OSS fue eliminado en las versiones recientes. Para tener una versión OSS compatible con Skype, instale el paquete skype-ossAUR desde el repositorio Community.

O utilice pulseaudio con module-oss: Modifique /etc/pulse/default.pa, comentando la línea que comienza con load-module module-udev-detect y añada load-module module-oss device="/dev/dsp" sink_name=output source_name=input mmap==0.

Véase también: Skype#Skype-OSS Sound (Pre-2.0).

VLC media player

Puede seleccionar OSS como la salida por defecto en las configuraciones de audio.

Wine

Para proporcionar soporte de OSS en Wine inicie:

$ winecfg

y, en la pestaña Audio, seleccione OSS Driver.

Consulte también: Wine#Sound.

Otras aplicaciones

  • Si no puede hacer funcionar una aplicación no listada aquí, pruebe buscando en la página Configurar Aplicaciones para OSSv4.
  • Busque los paquetes específicos para OSS usando pacman -Ss -- -oss o busque en AUR.

Consejos y trucos

Usar las teclas multimedia con OSS

Una manera fácil de activar/desactivar el sonido y subir/bajar el volumen es usar el script ossvolAUR disponible en AUR. Para más información sobre el script consulte este artículo de la wiki de OSS.

Una vez instalado, escriba:

$ ossvol -t

para silenciarlo, o:

$ ossvol -h

para ver las órdenes disponibles.

Nota: Si ossvol da un error como Bad mixer control name(987) 'vol', tiene que editar el script /usr/bin/ossvol y cambiar la variable CHANNEL al canal por defecto (normalmente vmix0-outvol).

Si desea utilizar las teclas multimedia con ossvol, consulte Extra Keyboard Keys y asegúrese de que están correctamente configuradas. Después puede utilizar, por ejemplo, Xbindkeys para asociarlo al script ossvol. Añada lo siguiente al archivo ~/.xbindkeysrc:

~/.xbindkeysrc
# Toggle mute
"ossvol -t"
    m:0x0 + c:121
    XF86AudioMute

# Lower volume
"ossvol -d 2"
    m:0x0 + c:122
    XF86AudioLowerVolume

# Raise volume
"ossvol -i 2"
    m:0x0 + c:123
    XF86AudioRaiseVolume

y, opcionalmente, cambie las teclas multimedia con los atajos que prefiera.

Modificar la frecuencia de muestreo

El cambio de la frecuencia de muestreo de salida no se hace evidente al principio. Las frecuencias de muestreo solo pueden ser modificadas por el superusuario y vmix no debe ser usado por ningún programa cuando se solicita un cambio. Antes de seguir alguno de estos pasos, asegúrese de utilizar un receptor/amplificador y altavoces de calidad y no simplemente lo altavoces del PC. Si está utilizando solamente los altavoces del ordenador, no se moleste en cambiar nada aquí, ya que no notará la diferencia.

Por defecto, la frecuencia de muestreo es 48000Hz. Hay varias condiciones en las que es posible que desee cambiar esta situación. Depende todo de la utilización que se haga. Es conveniente ajustar la frecuencia de muestreo correspondiente a la fuente utilizada más a menudo. Si el equipo tiene que cambiar la frecuencia de muestreo de una fuente para adaptarla a la del hardware, es probable, aunque no se garantiza, que va a tener una pérdida de calidad de audio. Esto es más notable en el downsampling (submuestreo) (es decir, 96000Hz → 48000Hz ). Hay un artículo sobre este tema en «Stereophile» que ha sido discutido en la lista de correo «CoreAudio API» de Apple, por si desea obtener más información acerca de este tema.

Algunos ejemplos de frecuencias de muestreo:

44100hz
Frecuencia de muestreo estándar de Red Book para el CD de audio.
88000hz
Frecuencia de muestreo de SACD de alta definición. Es raro que su placa base soporte este tipo de frecuencia.
96000hz
Frecuencia de muestreo de la mayoría de las descargas de audio de alta definición. Si su placa base es una placa base AC'97, probablemente esta será su frecuencia más alta.
192000hz
Frecuencia de muestreo de BluRay, y de algunas (muy pocas) descargas de alta definición. Soporte para receptores de audio externo y limitado a los dispostivos de gama alta. No todas las placas base lo soportan. Un ejemplo de chipset de una placa base que podría soportarlo lo incluye HD Audio.

Para comprobar cuál es su frecuencia de muestreo actualmente configurada, ejecute

ossmix | grep rate

Probablemente verá una salida como esta "vmix0-rate <decimal value> (currently 48000) (Read-only)"

Si no ve vmix0-rate (o vmix1-rate, etc.), probablemente significa que vmix está desactivado. En ese caso, OSS usará la frecuencia requerida por el programa que utiliza el dispositivo, ignorando esta sección. Una excepción es la tarjeta Envy24 (y Envy24HT) que tiene un valor especial envy24.rate, lo que supone una función similar (consulte la página del manual de oss_envy24).

Pasos para efectuar el cambio:

  1. Primero, asegúrese de que su tarjeta es capaz de utilizar la nueva frecuencia. Ejecute ossinfo -v2 y vea si la frecuencia deseada está presente en Native sample rates.
  2. Como root, ejecute /usr/lib/oss/scripts/killprocs.sh. Tenga en cuenta que esto cerrará cualquier programa que actualmente tenga un canal de sonido abierto.
  3. Después que todos los programas que estaba utilizando vmix finalicen, ejecute como root: vmixctl rate /dev/dsp 96000, sustituyendo la frecuencia presente por la frecuencia deseada (y ossmix envy24.rate 96000 si fuera aplicable).
  4. Ejecute ossmix | grep rate y compruebe vmix0-rate <decimal value> (currently 96000) (Read-only) para ver si todo ha salido correctamente.
  5. Haga que los cambios sean permanentes añadiendo lo siguiente al archivo soundon.user:
/usr/lib/oss/soundon.user
#!/bin/sh

vmixctl rate /dev/dsp 96000
# ossmix envy24.rate 96000 # uncomment if you have an Envy24(HT) card

exit 0

y hágalo ejecutable:

# chmod +x /usr/lib/oss/soundon.user 

Un sencillo applet para la bandeja del sistema

Para aquellos que quieran un applet ligero de OSS en la bandeja del sistema consulte esto.

Para instalarlo:

  • Descargue el script con cualquier nombre que desee (por ejemplo ossvolctl)
  • Hágalo ejecutable:
$ chmod +x ossvolctl
  • Y copielo en /usr/bin:
# cp ossvolctl /usr/bin/ossvolctl

o:

# install -Dm755 ossvolctl /usr/bin/ossvolctl

Iniciar ossxmix en la bandeja del sistema al arrancar

KDE

Cree un archivo para lanzar aplicaciones con el nombre ossxmix.desktop en el directorio local para lanzar aplicaciones (~/.local/share/applications/ e introduzca:

~/.local/share/applications/ossxmix.desktop
[Desktop Entry]
Name=Open Sound System Mixer
GenericName=Audio Mixer
Exec=ossxmix -b
Icon=audio-card
Categories=Application;GTK;AudioVideo;Player;
Terminal=false
Type=Application
Encoding=UTF-8

Para que se inicie automáticamente con el sistema, añádalo a la lista autostart del sistema en System Settings > System Administration > Startup and Shutdown > Autostart.

Gnome

Como root, cree el archivo /usr/local/bin/ossxmix_bg, con el siguiente contenido:

/usr/local/bin/ossxmix_bg
#!/bin/sh

exec /usr/bin/ossxmix -b

Vaya a System > Preferences > Aplicaciones Start Up y:

  • Pinche en Agregar, escriba OSSMIX en el campo Nombre y la ruta /usr/local/bin/ossxmix_bg en el campo Comando; a continuación, pinche en el botón Agregar.
  • Reinicie la sesión para ver los cambios.

Guardar la salida de audio de un programa

Suspensión e hibernación

OSS no admite automáticamente la suspensión, lo que significa que es necesario detener manualmente OSS antes de suspender o hibernar y reiniciar después.

OSS proporciona soundon y soundOff para activar y desactivar OSS, aunque todos los procesos que estén utilizando el sonido deben cesar primero.

El script siguiente es un método bastante básico para cerrar automáticamente OSS antes de la suspensión y recargarlo después.

/etc/pm/sleep.d/50osssound
#!/bin/sh
. "${PM_FUNCTIONS}"
 
suspend_osssound()
{
    /usr/lib/oss/scripts/killprocs.sh
    /usr/sbin/soundoff
}
 
resume_osssound()
{
    /usr/sbin/soundon
}
 
case "$1" in
    hibernate|suspend)
        suspend_osssound
 	;;
    thaw|resume)
 	resume_osssound
 	;;
    *) exit $NA
 	;;
esac

Guarde el contenido del script (como root) en /etc/pm/sleep.d/50ossound y hágalo ejecutable:

chmod a+x /etc/pm/sleep.d/50ossound
Advertencia: Este script es bastante básico y terminará cualquier aplicación que esté usando directamente OSS, por lo tanto, guarde sus trabajos antes de suspender/hibernar.

Otra alternativa sería usar s2ram para suspender. Basta con crear un script de suspensión a /sbin/suspend y hacerlo ejecutable

 #!/bin/sh

 ## Checking if you are a root or not
 if ! [ -w / ]; then
   echo >&2 "This script must be run as root"
   exit 1
 fi

 s2ram -f

 sleep 2

 /etc/rc.d/oss restart 2>/tmp/oss.txt || echo "OSS restart failed, check /tmp/oss.txt for information"

Con esto, todas las aplicaciones deben quedar funcionando bien.

Nota: Si utiliza el navegador Opera debe terminar operapluginwrapper antes de suspender. Para hacerlo añada pid=$(pidof operapluginwrapper) && kill $pid antes de s2ram -f.

Cambiar la salida de sonido predeterminada

Cuando se ejecuta osstest, la primera prueba se supera por el primer canal, pero no por el canal de la derecha o por los canales estéreos, en los cuales el sonido sale distorsionado y/o silbante. Si sucede esto es que ha sido asignada la salida de audio equivocada.

*** Scanning sound adapter #-1 ***
/dev/oss/oss_hdaudio0/pcm0 (audio engine 0): HD Audio play front
- Performing audio playback test... 
<left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)>

La izquierda suena bien, el derecho y estéreo suenan distorsionados.

Deje que la prueba continúe hasta obtener una salida que funcione:

/dev/oss/oss_hdaudio0/spdout0 (audio engine 5): HD Audio play spdif-out 
- Performing audio playback test... 
<left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)> 

Si se supera la prueba en todos los canales, izquierdo, derecho y estéreo, proceda con el siguiente paso.

Para cambiar las órdenes de salida por defecto consulte este artículo de la wiki de OSS. Cambie la configuración por la que se ajuste a su caso, por ejemplo:

 # ln -sf /dev/oss/oss_hdaudio0/spdout0 /dev/dsp_multich

Para obtener un sonido envolvente (4.0-7.1) seleccione dsp_multich, con solo 2 canales, dsp debería funcionar. Consulte esto para conocer todos los dispositivos disponibles.

Creative Sound Blaster X-Fi Surround 5.1 USB SB1090

Esta información proviene del 4front-tech foro.

Es sorprendente saber que la tarjeta externa no funciona solo a causa de la ausencia del valor de retorno true en la función write_control_value(...) en ossusb_audio.c.

Para solucionar este problema, es necesario una recompilación de OSS, por ahora.

  • Obtenga la última versión de OSS desde los repositorios de Arch
https://projects.archlinux.org/svntogit/community.git/tree/trunk?h=packages/oss
  • Extráigalo.
  • Para ir a la carpeta de destino utilice la orden cd
  • Ejecute makepkg --nobuild
  • Vaya a la carpeta src/kernel/drv/oss_usb/ con la orden cd y edite ossusb_audio.c: añada return 1;.
    • Debería quedar así:
ossusb_audio.c
static int
write_control_value (ossusb_devc * devc, udi_endpoint_handle_t * endpoint,
                     int ctl, int l, unsigned int v)
{
     return 1;
...
  • Vaya a la carpeta src/kernel/setup con cd y edite srcconf_linux.inc, busque -Werror y elimínelo, de lo contrario OSS no se compilará.
  • Haga makepkg --noextract

Ahora hay que instalar el paquete con pacman -U. Remueva primero OSS si ya está instalado.

Emular ALSA

Es posible configurar alsa-lib para utilizar OSS como su sistema de audio de salida. Esto funciona como una especie de emulación de ALSA.

Nótese, sin embargo, que este método puede introducir una latencia adicional en el sonido de salida, y que la emulación no es completa y no funciona con todas las aplicaciones. No funciona, por ejemplo, con los programas que tratan de detectar los dispositivos que usan ALSA.

Así que, como la mayoría de las aplicaciones son compatibles con OSS directamente, utilice este método solo como último recurso.

En el futuro, estarán disponibles métodos más completos para emular ALSA, como libsalsa y cuckoo.

Instrucciones

  • Instale el paquete alsa-plugins, disponible en los repositorios oficiales.:
  • Modifique el archivo /etc/asound.conf como sigue:
pcm.oss {
   type oss
    device /dev/dsp
}

pcm.!default {
    type oss
    device /dev/dsp
}

ctl.oss {
    type oss
    device /dev/mixer
}

ctl.!default {
    type oss
    device /dev/mixer
}
Nota: Si no desea utilizar más OSS, no se olvide de revertir los cambios realizados en /etc/asound.conf.

Configurar el controlador específico

Si algo no funciona, existe la posibilidad de que se deba a algunos ajustes de OSS para el controlador específico o simplemente son inadecuados para el controlador.

Para solucionarlo:

  • Averigüe qué controlador se utiliza:
$ lspci -vnn | grep -i -A 15 audio
00:1e.2 Multimedia audio controller [0401]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller [8086:266e] (rev 03)
Subsystem: Hewlett-Packard Company NX6110/NC6120 [103c:099c]
Flags: bus master, medium devsel, latency 0, IRQ 21
I/O ports at 2100 [size=256]
I/O ports at 2200 [size=64]
Memory at d0581000 (32-bit, non-prefetchable) [size=512]
Memory at d0582000 (32-bit, non-prefetchable) [size=256]
Capabilities: <access denied>
Kernel driver in use: *oss_ich*
Kernel modules: snd-intel8x0
  • Localice el archivo de configuración del dispositivo en:
# cd /usr/lib/oss/conf/
  • Trate de cambiar los valores predeterminados. Hay solo unos pocos ajustes, y son fáciles de entender.

Por ejemplo, al configurar:

ich_jacksense = 1

en oss_ich.conf, enciende jack-sense (que es responsable de reconocer los auriculares conectados y silenciar el altavoz). Otros ajustes parajack-sense se encuentra en hdaudio.conf donde hay que cambiar la variable hdaudio_jacksense.

  • Reinicie el demonio oss para que los cambios surtan efecto.

Solución de problemas

Solución de problemas con dispositivos HD Audio

Conocer la causa del problema

Si se dispone de un dispositivo de sonido HD Audio, es muy probable que tenga que ajustar algunos parámetros del mezclador antes de que el audio funcione correctamente.

Los dispositivos HD Audio son muy potentes en el sentido de que pueden contener una gran variedad de pequeños circuitos (llamados widgets) que pueden ser ajustado vía software en cualquier momento. Estos controles están disponibles en el mixer, y se pueden utilizar, por ejemplo, para activar una toma de auriculares reasignándolo como una toma de entrada de sonido en lugar de una toma de salida de sonido.

Sin embargo, esto es un problema secundario, el gran problemas está, sobre todo, en que el estándar HD Audio es más flexible de lo que, tal vez, debería ser, ya que los vendedores, a menudo, solo se preocupan de conseguir el correcto funcionamiento de sus driver oficiales.

Luego, cuando se utilizan dispositivos HD Audio, a menudo se encuentran controles del mezclador desorganizados que no funcionan en absoluto para ninguna de las configuraciones por defecto, siendo necesario probar todas las combinaciones posibles de los controles del mixer hasta alcanzar una configuración que funcione.

Cómo resolverlo

Abra ossxmix y trate de cambiar todos los controles del mezclador en el área central («middle area»), que contiene los controles específicos de las tarjetas de sonido, tal como se explica en la sección anterior Control de volumen.

Probablemente esté interesado en configurar un programa para grabar/reproducir continuamente en segundo plano (por ejemplo, ossrecord - | ossplay - para grabar, o osstest -lV para reproducir), mientras se está cambiando la configuración del mezclador con ossxmix en primer plano.

  • Suba cada deslizador de los controles del volumen.
  • En cada cuadro de opción, trate de cambiar la opción seleccionada, probando todas las combinaciones posibles.
  • Si se obtiene ruido, trate de bajar y/o silenciar algunos controles del volumen, hasta encontrar la fuente del ruido.
  • Edite el archivo /usr/lib/oss/conf/oss_hdaudio.conf, quite los comentarios (#) y modifique hdaudio_noskip=0 con un valor de 0 a 7, lo cual le va a permitir disponer de más opciones relativas a las clavijas en ossxmix.
Nota: Si modifica los archivos, reinicie el demonio oss para que los cambios surtan efecto.

Sonido distorsionado con los MMS en Totem

Si los flujos tienen un sonido distorsionado o producen ruidos extraños en Totem, es posible probar reproducir con otro backend como FFmpeg. Esto no va a solucionar el problema, que de alguna manera aparece en GStreamer durante la reproducción de secuencias de MMS, pero se le dará la opción de reproducir con buena calidad de sonido. Reproducir con MPlayer es simple:

# mplayer mmsh://yourstreamurl

El Micrófono funciona a través de los altavoces

OSS, por defecto, reproduce el micrófono a través de los altavoces. Para deshabilitar esta función busque en ossxmix la sección Misc. Marque cada input-mix-mute para desactivarla.

Véase también