[Wine] more than 16 bit audio

Trevor Bowen trevorbowen at gmail.com
Thu Mar 24 16:49:29 CDT 2011


(plain-text version this time... :)

Thanks, vitamin!

Using "wine regedit", I was able to add the following registry keys to 
enable 32-bit, 96 kHz audio capture and playback (~/.wine/user.reg):

    [Software\\Wine\\Alsa Driver] 1300973815
    "AutoScanCards"="no"
    "AutoScanDevices"="yes"
    "DeviceCount"="1"
    "DeviceCTL1"="default"
    "DevicePCM1"="default"
    "UseDirectHW"="yes"

    [Software\\Wine\\DirectSound] 1300976391
    "DefaultBitsPerSample"="32"
    "DefaultSampleRate"="96000"
    "HardwareAcceleration"="Full"

    [Software\\Wine\\Drivers] 1300939175
    "Audio"="alsa"

In WINE 1.3.15, this allows me to play and record at 32-bit and 48kHz.  I 
can also record at 32-bit and 96kHz; however, the 96kHz playback is very 
distorted.

Curiously, the files I record in WINE (using Adobe Audition 3.0) play just 
fine using Audacity on the same Linux host.  But, playback within WINE is 
the problem.  Adjusting the buffer size in .asoundrc affects the distortion, 
but I've not been able to fix the problem.

Any suggestions?  Or, should I file this as a bug for dsound in wine?

Thanks!

Trevor

FWIW, here's my current .asoundrc file:

    # Set default sound card
    # Useful so that all settings can be changed to a different card here.
    pcm.mia_out {
          type hw
          card 0
          device 0
          subdevice 0
          #rate 96000
          #format S32_LE
          #channels 2
    }
    pcm.mia_in {
          type hw
          card 0
          device 0
          subdevice 0
          #rate 96000
          #format S32_LE
          #channels 2
    }
    pcm.dmixer {
          type dmix
          ipc_key 1024
          slave {
               # This stuff provides some fixes for latency issues.
               # buffer_size should be set for your audio chipset.
               pcm mia_out
               period_time 0
               period_size 1024
               buffer_size 8192
               rate 96000
               format S32_LE
               channels 2
          }

          bindings {
               0 0
               1 1
          }
    }
    # Allow reading from the default device.
    # Also known as record or capture.
    pcm.dsnooper {
          type dsnoop
          ipc_key 2048
          #slave.pcm mia_in
          slave {
               # This stuff provides some fixes for latency issues.
               # buffer_size should be set for your audio chipset.
               pcm mia_in
               period_time 0
               period_size 1024
               buffer_size 8192
               rate 96000
               format S32_LE
               channels 2
          }
          bindings {
               0 0
               1 1
          }
    }

    # This is what we want as our default device
    # a fully duplex (read/write) audio device.
    pcm.duplex {
          type asym
          playback.pcm "dmixer"
          capture.pcm "dsnooper"
    }

    ###################
    # CONVERSION PLUG #
    ###################
    # Setting the default pcm device allows the conversion
    # rate to be selected on the fly.
    # duplex mode allows any alsa enabled app to read/write
    # to the dmix plug (Fixes a problem with wine).

    pcm.!default {
          type plug
          slave.pcm "duplex"
    }
    ########
    # AOSS #
    ########
    # OSS dsp0 device (OSS needs only output support, duplex will break some
    stuff)
    pcm.dsp0 {
          type plug
          slave.pcm "dmixer"
    }

    # OSS control for dsp0 (needed?...this might not be useful)
    ctl.dsp0 {
          type plug
          slave.pcm "mia_out"
    }
    # OSS control for dsp0 (default old OSS is mixer0)
    ctl.mixer0 {
          type plug
          slave.pcm "mia_out"


On 03/15/2011 09:11 PM, vitamin wrote:
> Trevor Bowen wrote:
>> Thanks!  Where would those registry settings be stored in the tree?
> http://wiki.winehq.org/UsefulRegistryKeys
>
>
>
>
>



More information about the wine-users mailing list