12/3/2021

Install Pulseaudio On Windows

29
  1. Official PulseAudio Website
  2. See Full List On Parseq.co.uk
  3. Pulseaudio Windows 10

Apr 24, 2020 They all say basically the same thing, install pulseaudio-1.1 in windows, install a modified version of pulseaudio in ubuntu, then any audio file played in ubuntu will direct it's output to the windows pulseaudio running in the background which will send the audio to the hardware. Pulseaudio for windows is not working for me. PulseAudio is a network-capable sound server program. A sound server is a background process accepting sound input from one or more sources (processes, capture devices, etc.), that is able to mix and redirect those sources to one or more sinks (sound cards, remote network PulseAudio servers, or other processes). Download PulseAudio Distribution. Typically PulseAudio would be provided by your OS distribution. As PulseAudio forms part of what is typically preferred to as the plumbing layer of Linux userspace, it is a non-trivial job to integrate it fully to form a complete system. See full list on pgaskin.net. Ubuntu on Windows: Install Ubuntu on WSL2; XUbuntu Desktop + VcXsrv X-Server + PulseAudio Server. When you want to do cross-compiling, Ubuntu is more flexible than Windows 10. In fact, Windows 10 Pro supports Linux as its subsystem. So we can switch these two systems quite easily.

INGREDIENTS
  • Windows 10 April 2018 Update (1803)

WSL doesn't currently support sound devices. Hence when you open a GUI desktop or apps in X410, you will not hear anything other than the basic system bells (ex. CTRL+G). We hope Microsoft add the support in the future version of WSL.

Meanwhile... there is a workaround...

STEP 1Download PulseAudio for Windows

PulseAudio version 1.1 was available for Windows as of this writing; it's indeed an old version but it works on Windows 10.

https://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/

STEP 2Unzip the file from Step 1 to a folder

Official PulseAudio Website

STEP 3Edit 'etcpulsedefault.pa'

Line 42
FROMload-module module-waveout sink_name=output source_name=input
TOload-module module-waveout sink_name=output source_name=input record=0

Please note that for security and privacy concerns Windows 10 (April 2018 Update) seems to restrict the access to audio recording devices. You can probably somehow override this feature, but since we just want to hear the sound we're simply disabling it from the PulseAudio server by adding the 'record=0'.

Line 61
FROM#load-module module-native-protocol-tcp
TOload-module module-native-protocol-tcp auth-ip-acl=127.0.0.1

This enables the PulseAudio server to accept connections only from 127.0.0.1 via TCP.

STEP 4Edit 'etcpulsedaemon.conf'

Line 39
FROM; exit-idle-time = 20
TOexit-idle-time = -1

If this option is set to a non negative value, the server automatically terminates itself when the last client disconnects and the time is passed more than this option (in seconds).

STEP 5Test run 'binpulseaudio.exe'

The 'pulseaudio.exe' is the executable for PulseAudio server (also referred to as a daemon) that we need for our Linux apps.

Install Pulseaudio On Windows

When you first run pulseaudio.exe, you'll see the Windows Firewall Alert popup that asks you if you want to allow other devices for connecting to the server. Since we'll only be using a loopback address (= 127.0.0.1), you should select 'Cancel'; you don't have to allow other devices.

If there was an error, the server exits immediately. If that's the case, go to Step 3 and make sure you've changed the lines correctly.

Press CTRL+C to stop the server.

STEP 6Add PulseAudio related settings to your X410 launching batch file

For example, if you're using Ubuntu and created a batch file as mentioned in 'Customizing Xfce Desktop for Ubuntu (WSL)', try modifying it as shown below:

• start ' /B 'C:wslpulseaudiobinpulseaudio.exe'

You need to adjust the path to 'pulseaudio.exe' according to your setup.

• export PULSE_SERVER=tcp:127.0.0.1;

In order to let Linux apps know there is a PulseAudio server running at 127.0.0.1, we need to export the 'PULSE_SERVER' environment variable.

• taskkill /IM pulseaudio.exe /F

Install Pulseaudio On Windows

Pulseaudio.exe has its own '--kill' command line switch for terminating the running instance. But it doesn't seem to work in Windows 10.

STEP 7Enjoy the sound!

Known Issues

  • PulseAudio server cannot be terminated gracefully. If you want to stop the server, you need to use Windows Task Manager or taskkill.exe command to terminate it forcefully.

  • The current version of PulseAudio is 12.2 as of this writing. The version used in this post is 1.1 and you probably notice various performance issues. For example, if you're seeing unexpected stuttering in video playback, it's probably caused by the PulseAudio server that couldn't keep up with the video.

  • Batch files are updated to address the re-launching problem in some Windows 10 versions. When pulseaudio.exe is launched with '-D' option and stopped using taskkill.exe with '/T' option, pulseaudio.exe might only work for the first instance of X410 and Linux GUI desktop.

This is a bit of a niche post, so if you’ve never heard of PulseAudio then carry on elsewhere :)

If, like me, you’ve been looking at setting up a PulseAudio server on Windows, you’ve no doubt come across an old binary download for version 0.9.6, which is approaching the healthy age of four years as of this writing. PulseAudio’s development has been very intensive since that time, with a lot of new features released. Sadly though, that development came at the cost of Windows compatibility, which meant that no newer versions were available for Windows. Until now that is, as the PulseAudio community is working on full Windows compatibility for the imminent release of version 1.0. Full details of progress are available on the PulseAudio wiki, but in the meantime a full build has been made available as a zipped package (I’ve also mirrored it here, but keep an eye out for updated versions). If you want help setting it up, then read on.

The Basics

There is no installer, so unzip the files into a location of your choice. For this tutorial, I’m going to assume the files are in C:PulseAudio. Next, you’ll need to open a command prompt. Windows Vista and 7 users will need to open a prompt with Administrator access: to do this, find the command prompt in your start menu, right click it, and select “Run as administrator”. Click yes if asked. Windows XP users can just open a prompt without further nonsense. In the prompt, type the following and hit enter:cd C:PulseAudiobin We can now test the program is working by typing pulseaudio.exe -p 'C:PulseAudiolibpulsemodules' -nF 'C:PulseAudioetcpulsedefault.pa' (and press enter). I got a few warnings and errors at this stage (it is beta software after all), but I think it’s safe to assume that if it doesn’t crash, it’s working enough for our needs. Hit ctrl+C to return to the prompt.

The next step is to configure PulseAudio to listen to connections on the network, since I assume nearly all Windows users want PulseAudio to stream audio from a Linux/Unix/BSD system. For this step you’ll need a text editor which can handle unix line endings, which does not include Microsoft’s own Notepad. If you don’t have one, I recommend Notepad++ as it’s totally free. Open your editor (Vista and 7 users will need to open it as administrator), and open the file at C:PulseAudioetcpulsedefault.pa. Underneath the line that reads load-module module-null-sink enter a new line: load-module module-native-protocol-tcp listen=0.0.0.0 auth-anonymous=1 You can now save the file, and restart PulseAudio with the same command line used earlier, and you should be able to play sound on your Windows machine across the network!

There is a caveat: this allows any machine on the network to send audio to you. If you are not firewalled from the internet or you don’t consider your network secure, you must use a cookie file that PulseAudio generates for you. You can find it in your user profile: on Windows XP, it’s located in C:Documents and Settings<your username>.pulse-cookie. Vista and 7 users can find it at C:Users<your username>.pulse-cookie. Simply copy this file to the home directory of the user that is sending you sound on the remote machine. Often this will be your own home directory, but some daemons run their own (for example, MPD on Ubuntu requires the cookie to be in /var/lib/mpd). When you’ve done this, you can remove the “auth-anonymous=1” part from the line above.

Update: There is one more step necessary which I wasn’t aware of previously. In this version, the default behaviour of the server is to exit after 20 seconds of no playback, which is obviously not something we want. Open your text editor (as administrator if necessary) and start editing the file at C:PulseAudioetcpulsedaemon.conf. At the end of the file, copy in the following: exit-idle-time = -1 This simply tells PulseAudio not to exit until we say so.

Setting up MPD

The reason I want PulseAudio on Windows is to use it with MPD, running on another machine on the network. This allows me to use the same music player when booting between Windows and Linux on my work PC, without needing two different interfaces or two copies of the same music library. MPD is surprisingly easy to get working across a network. On the machine running MPD, open the mpd.conf file with your favourite editor, and as root if necessary. On most distros the file is at /etc/mpd.conf. At the end, append the following: audio_output {
type 'pulse'
name 'Friendly Name'
server 'hostname'
}
replacing “Friendly Name” with the name of your choice, and “hostname” with the hostname or IP address of the machine running PulseAudio. Optionally, you can now comment out any old audio_output entries. Restart MPD. Lastly, use your client to specify which output to use. With MPC, this is specified as mpc enable X on the command line, where X is the number of your output (the number is based on the ordering of outputs in the mpd.conf file). In GMPC (which I use), you can switch outputs under the Server menu. Load up a track and hit play – you should now be hearing music in Windows.

See Full List On Parseq.co.uk

PulseAudio as a Windows service

Pulseaudio Windows 10

This step is optional, and a bit involved, but if you want PulseAudio to be a service that runs when Windows starts up, this is how to do it. You will need something called “Windows Server 2003 Resource Kit Tools”, which is made by Microsoft and can be downloaded for free from their website. We need only two programs from this pack – instsrv.exe and srvany.exe. Install the pack, and keep track of where it was installed. In my case this was C:Program Files (x86)Windows Resource KitsTools. Open a command prompt, as administrator if necessary (you can use the prompt from earlier if it’s still open). Use the cd command as demonstrated previously to navigate to where the tools were installed. Now run instsrv PulseAudio 'C:Program Files (x86)Windows Resource KitsToolssrvany.exe' If your tools were installed somewhere else, then adjust that path so that it points to where srvany.exe ended up. Hopefully you’ll get a little message proclaiming success. You will now need to open the registry editor, which you can do by typing regedit in your start menu’s run box. If you’ve not used regedit before, it’s a little daunting but I will hold your hand all the way through. The layout is similar to Windows Explorer: the left pane holds “keys” which behave a little like folders, and the right pane holds “values”. Use the left pane to navigate to HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesPulseAudio. In the right pane, right click in the empty space and select New, then Key. You’ll be able to enter a name for it now, so enter Parameters. Now navigate into the new Parameters key, right click in the right pane again and select New, then String Value. Give it the name “Application” (without the quotes). Press enter to save the name, and double click your new value. In the prompt that pops up, enter the full command you used earlier to start PulseAudio, so using the same example as above this would be C:PulseAudiobinpulseaudio.exe -p 'C:PulseAudiolibpulsemodules' -nF 'C:PulseAudioetcpulsedefault.pa' Click OK, and close regedit. Open Control Panel, head to Administrative Tools, and open the Services applet. If you scroll down you should see our PulseAudio service. Make sure you aren’t still running PulseAudio in a command prompt (ctrl+C to exit), then right click the service and select Start. If you don’t get any errors, then this has probably worked, but you can check by looking for pulseaudio.exe in Task Manager (Windows 7 users might need to click “Show processes from all users”). From now on, PulseAudio will start as soon as Windows boots, and be available to all users.

Useful links

  • My heartfelt thanks go out to Maarten Bosmans and the other contributors working on Windows support. His announcement of the new version is available here.
  • Further MPD instructions can be found at the MPD wiki.
  • More information on srvany and registry editing on the Microsoft Website