Sound
ELSA
IndustryComputer
Founded1980; 41 years ago (originally)
2002 (ELSA Technology Inc.)
1997 (ELSA Japan Inc.)
HeadquartersAachen, Germany (originally)
Taipei, Taiwan (ELSA Technology Inc.)
Tokyo, Japan (ELSA Japan Inc.)
ProductsGraphics cards
Websitewww.elsa-jp.co.jp
ELSA Microlink modem
ELSA Gloria XXL AGP video card

With Frozen birthday cards and Christmas cards, we offer innovative new formats of greeting cards, including a dazzling 3-D pop-up paper art of Elsa and her ice magic. Pull it all together with adorable Frozen gift wrap in both gift bag and wrapping paper options. Frozen Elsa Musical Greeting Card. Condition is 'New'. Sent with Australia Post Standard. FROZEN Elsa STAND Music Microphone Musical Voice TOY Sound Light Kid.

Study 51 Sound of Music Elsa Lines flashcards from Nicole C.

Elsa Technology is a computer hardware company. It was founded in 1980 as ELSA Technology AG, a German company manufacturing video cards and other peripherals for Personal Computers. In 2002, the German company filed for bankruptcy[1] while its Taiwanesesubsidiary was founded in 2003 as ELSA Technology Inc.[2] Other companies founded when the original ELSA Technology went into bankruptcy were devolo[3] and LANCOM Systems.[1] The ELSA name also continues under the ELSA Japan Inc., which had been founded as a joint venture in 1997, and runs independently since 2002.[4]

See also[edit]

References[edit]

  1. ^ ab'Elsa-Insolvenz, Quake Live startet (PCGH Retro 25. Februar)' (in German). PC Games Hardware. Retrieved 19 August 2010.
  2. ^Klaß, Christian (1 April 2004). 'Wie Taiwanesen ELSA wieder auferstehen lassen' (in German). Golem.de. Retrieved 19 August 2010.
  3. ^'ELSA will Produktion von Grafikkarten zurückfahren' (in German). WinFuture. 4 April 2006. Retrieved 19 August 2010.
  4. ^'会社概要 (Company Profile)' (in Japanese). 株式会社 エルザ ジャパン (Elsa Japan Inc.). Retrieved 21 September 2016.

External links[edit]

Wikimedia Commons has media related to Elsa.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=ELSA_Technology&oldid=1003728203'
  • 6The naming of PCM devices
  • 9Software mixing
    • 9.4Virtual multi channel devices

Why asoundrc?

What is it good for, why do I want one?

Neither the user-side .asoundrc nor the asound.conf configuration files are required for ALSA to work properly. Most applications will work without them. These files are used to allow extra functionality, such as routing and sample-rate conversion, through the alsa-lib layer. The actual reason that most applications will work without these user-side custom config files is that usually a default install of alsa-lib provides a sufficiently capable setup consisting of hierarchical config files (which always make use of the standard .asoundrc format syntax as well), which are specifically capable of supporting certain soundcard brands each. Thus, let's start with a quick overview of how ALSA config file framework evaluation is composed, globally:

Global view of ALSA config file framework, executive summary

Devices

The alsa-lib package (at least on Debian libasound2-data 1.0.27) provides the /usr/share/alsa/alsa.conf file as the main entry point. That file is responsible for including the full list of potential .asoundrc-format-type files on the system. It contains a reference to the ALSA 'DATADIR' (Debian: /usr/share/alsa/). It continues by loading the DATADIR's cards/aliases.conf file: that one defines translation mappings from the kernel driver's sound card name (as listed at /proc/asound/cards, or aplay -Ll) to a 'more detailed' description string. That 'more detailed name' of a sound card then gets used to lookup a corresponding card-specific config file at DATADIR/cards/CARD.conf. And THAT card-specific file then attempts to provide a maximally elegant sound setup for its specific card brand, by compensating for various limitations of cards (e.g. use dmix to combat single-stream playback only, or stereo downmix to lessen a mono-output-only restriction). Finally (to support those cases where the standard setup of a soundcard is deficient/lacking, or custom plugin setup is desired), alsa.conf loads a system-global custom settings file /etc/asound.conf and a per-user custom settings file ~/.asoundrc.

So, the objective should be to achieve having the common alsa-lib configuration file framework enhanced by default in the best possible manner for each specific soundcard brand, to avoid the need of creating manually customized config files in all standard cases.

With this global overview done and cared for, let's have a look at the actual configuration format of alsa-lib files.


The .asoundrc file format

This file allows you to have more advanced control over your card/device. The .asoundrc file consists of definitions of the various cards available in your system. It also gives you access to the pcm plugins in alsa-lib. These allow you to do tricky things like combine your cards into one or access multiple I/Os on your multichannel card.

Where does asoundrc live?

The asoundrc file is typically installed in a user's home directory

and is called from

It is also possible to install a system wide configuration file as

When an alsa application starts both configuration files are read.

Below is the most basic definition.

The default plugin

Make a file called .asoundrc in your home and/or root directory.

copy and paste the following into the file then save it.


The keyword default is defined in the ALSA lib API and will always access hw:0,0 — the default device on the default soundcard. Specifying the !default name supersedes the one defined in the ALSA lib API.

Now you can test:

The naming of PCM devices

A typical asoundrc starts with a 'PCM hw type'. This gives an ALSA application the ability to start a virtual soundcard (plugin, or slave) by a given name. Without this, the soundcard(s)/devices(s) must be accessed with names like hw:0,0 or default. For example:

or with ecasound

The numbers after hw: stand for the soundcard number and device number. This can get confusing as some sound 'cards' are better represented by calling them sound 'devices', for example USB sounddevices. However they are still 'cards' in the sense that they have a specific driver controlling a specific piece of hardware. They also correspond to the index shown in

As with most arrays the first item usually starts at 0 not 1. This is true for the way pcm devices (physical I/O channels) are represented in ALSA. Starting at pcm0c (capture), pcm0p (playback).

We use subdevices mainly for hardware which can mix several streams together. It is impractical to have 32 devices with exactly the same capabilities. The subdevices can be opened without a specific address, so the first free subdevice is opened. Also, we temporarily use subdevices for hardware with a lot of streams (I/O connectors) — for example MIDI. There are several limits given by used minor numbers (8 PCM devices per card, 8 MIDI devices per card etc.).

For example, to access the first device on the first soundcard/device, you would use

to access the first device on the second soundcard/device, you would use

to access the second device on the third soundcard/device, you would use

The Control device

The control device for a card is the way that programs modify various 'controls' on the card. For many cards this includes the mixer (but some cards, for example the rme9652, have no mixer). However, they do still have a number of other controls and some programs like JACK need to be able to access them. Examples include the digital I/O sync indicators, sample clock source switch and so on.

Aliases

With the 'PCM hw type' you are able to define aliases for your devices. The syntax for this definition is:

For example, this gives your first soundcard an alias:

Now you can access this card by the alias 'primary'.


Plugins

Q: What are plugins?

A: In ALSA, PCM plugins extend functionality and features of PCM devices. The plugins deal automagically with jobs like naming devices, sample rate conversions, sample copying among channels, writing to a file, joining sound cards/devices for multiple inputs/outputs (not sample synced), using multi channel sound cards/devices and other possibilities left for you to explore. To make use of them, you need to create a virtual slave device.

To see a full list of plugins and options, go to the alsa-lib documentation. The following is a brief introduction.

A very simple slave could be defined as follows:

This defines a slave without any parameters. It's nothing more than another alias for your sound device. The slightly more complicated thing to understand is that parameters for 'pcm types' must be defined in the slave-definition-block. Let's setup a rate-converter which shows this behaviour.

Now you can call this newly created virtual device by:

Which automatically converts your samples to a 44.1 kHz sample rate while playing. It's not very useful because most players and alsa converts samples to the right sample rate which your soundcard is capable of, but you can use it for a conversion to a lower static sample rate for example.

For conciseness, this can be also rewritten using nested device definitions:

A more complex tool for conversion is the pcm type plug. the syntax is:

We can use it as follows:

By calling it with:

You will convert the sample during playing to the sample format: S16_LE, one channel and a sample rate of 16 kHz. As you called aplay with the verbose option -v you see this options as it appears as it comes from the original file. with:

You see the original settings of the file.

Software mixing

Software mixing is the ability to play multiple sound files or applications at the same time through the same device. There are many ways to have software mixing in the Linux environment. Usually it requires a server application such as ARTSD, ESD, JACK... The list is large and the apps can often be confusing to use.

dmix

These days we have a native plugin for ALSA called the dmix (direct mixing) plugin. It allows software mixing in an easy to use syntax and without the hassle of installing/understanding a new application first.

A very interesting and potentially extremely useful aspect of this plugin is using it combined with the default plugin name. In theory this means all applications that have native ALSA support will share the sound device. In practice not many applications are able to take advantage of this functionality yet. However if you have time to test and report your findings to the application developers it is worth a try:

(To use it with your own name just change the word !default above)

Now try:

on multiple consoles.

Elsa Sound Cards & Media Devices driver

Some notes:

The dmix PCM name is already defined in the global configuration file /usr/share/alsa/alsa.conf.

- The default sample rate for this device is 48000Hz. If you would like to change it use:

- An example command for dmix plugin to use 44100Hz sample-rate and hw:1,0 output device:

- The dmix PCM name is already defined in the global configuration file /usr/share/alsa/alsa.conf.

Defaults are:

NB the dmix plugin is not based on client/server architecture, but it writes directly to the soundcard's DMA buffer. There is no limit to the amount of instances that can be run at one time.

dsnoop

While the dmix plugin is for mixing multiple output(playback) streams together, if you want to use multiple input(capture) clients you need to use the dsnoop plugin:

JACK plugin

This plugin allows the user to connect applications that support alsa natively to the JACK daemon.

To compile and install jack, you need to move to src/pcm/ext directory, and run 'make jack' and 'make install-jack'. this is intentional.

To use the JACK plugin you will need to add the following to your .asoundrc.

Now, you can use:

Virtual multi channel devices

If you would like to link two or more ALSA devices together so that you have a virtual multi channel device it is possible. However this will not create the mythical 'multi-channel soundcard out of el-cheapo consumer cards'. The real devices will drift out of sync over time. It is sometimes helpful to make applications that can for example see one 4 channel card to allow for flexible routing if they can't easily be made to talk to multiple cards (making use of JACK being one example).

Copy and paste the following into your asoundrc.

This will give you xruns, but it's suitable for testing. To test the above setting feed an audio signal to the real sound devices play it back and listen to it with an external mixer:

Elsa Sound Cards & Media Devices Driver

To start JACK with the new device, use

Bindings explained

The above example for a virtual multi channel device uses bindings to make the connections work. The following is a more advanced asoundrc for 2 RME Hammerfalls which is a professional multichannel sound device. Below is a full explanation of how bindings work.

Elsa Sound Cards & Media Devices Driver Free

What is happening?

Elsa Sound Cards & Media Devices Drivers

There are two sound cards which are linked with a wordclock pipe. That allows them to keep sample sync with each other which is very important for multichannel work. If the sample rates are not in sync then your sounds become out of time with each other.

In this example each sound card has a number of physical channels being used: 18 (a) + 10 (b). They are represented in /proc/asound/cardx as pcmXc (capture) and pcmXp (playback). Where X equals the number of the physical input/output (i/o) channels starting at 0.

If you look at the lines:

ElsaElsa sound cards & media devices driver download

You can see that the card has been nicknamed 'a' and given a range of 26 channels. You can assign the card any number of channels you want but you can only use as many channels as the card has physically available. The bindings start at the first available pcm device for the card ie. pcm0c pcm0p - and move upwards sequentially from there.

The first card for this file has 18 physical pcm devices. Nine of them are capture devices ie. pcm0c pcm1c pcm2c ... pcm8c, each with corresponding playback channels ie. pcm0p pcm1p pcm2p ... pcm8p. The second card has 10 physical pcm devices ie. pcm0c pcm1c pcm2c ... pcm9c.

If you look at the lines:

The first binding points to the first available pcm device on the card represented as 'a'. The second binding points to the second available pcm device on 'a' and so on up to the last one available. We then assign a channel number to the binding so that the channels on the new virtual 'soundcard' we have created are easy for us to access.

Another way of saying it is:

Referenced applications

  • aRTsd - the aRTs sound server was the basis of desktop sound for KDE 3.
  • ESD - the Enlightened Sound Daemon mixes several audio streams for playback by a single audio device.
  • Ecasound - a commandline multitrack recorder and editor with various GUI apps.
  • JACK - Jack Audio Connection Kit. If you don't know this app you don't know JACK.

Further reading

Elsa Sound Cards & Media Devices Driver Downloads

  • A close look at ALSA explaining ALSA and the asoundrc in particular from A to Z. By Volker Schatz
  • .asoundrc at the Unofficial wiki

Elsa Sound Cards & Media Devices Driver Download

Retrieved from 'https://www.alsa-project.org/main/index.php?title=Asoundrc&oldid=6699'