Rate Converter Plugin Using Freescale ASRC Resampler ==================================================== The plugin in asrc subdirectory is an external rate converter using the Freescale ASRC hardware resampler. You can use this rate converter plugin by defining a rate PCM with "converter" parameter, such as: pcm.my_rate { type rate slave.pcm "hw" converter "asrcrate" } The plug plugin has also a similar field, "rate_converter". Or, more easily, define a global variable "defaults.pcm.rate_converter", which is used as the default converter type by plug and rate plugins: defaults.pcm.rate_converter "asrcrate" Write the above in your ~/.asoundrc or /etc/asound.conf, such as defaults.pcm.rate_converter "asrcrate" pcm.dmix_44100 { type dmix ipc_key 5678293 ipc_key_add_uid yes slave{ pcm "hw:0,0" period_time 10000 format S16_LE rate 44100 } } pcm.asrc { type plug route_policy "average" slave.pcm "dmix_44100" } The following converter types are available: - asrcrate Use freescale ASRC hardware Restrictions: The ASRC hardware can at most support 3 instances and 10 channels simultanously. If you want to make use of asrc plugins, make sure you won't create more than 3 asrc plugin instances, and total number of converting channels is less than or equal to 10. For example, you can run 3 asrc converters with channels 2, 2, 6, while you can't run 2 asrc converters with channels 6, 6. ASRC hardware can only support some fixed sample rates, don't make use it if you don't know which rates are in your cases. Input: 8000 16000 22050 32000 44100 48000 64000 88200 96000 176400 192000 Output: 32000 44100 48000 64000 88200 96000 176400 192000