Skip to content

Latest commit

 

History

History
66 lines (37 loc) · 5.33 KB

windows-setup.md

File metadata and controls

66 lines (37 loc) · 5.33 KB

Setting up go-dsp-guitar on Windows.

go-dsp-guitar uses JACK Audio Connection Kit as the way to access the system's audio devices. JACK is a so called "sound server" and related API that comes originally from the POSIX / Unix world, but has been ported to Windows as well. It's the way Unix applications access the sound card for latency-sensitive operation, so you can think of it as the Unix equivalent to ASIO. However, it can actually do more, since it cannot only connect applications to audio devices, but also applications to one another. For example, you could forward the signal from a software synthesizer through an effects processor (like go-dsp-guitar) and then through your digital audio workstation (DAW), like Ardour, Cubase, Presonus, or whatever.

Setting up JACK and running go-dsp-guitar in real-time mode

First make sure that you have an ASIO-capable driver installed for the audio interface you want to use!

You can download JACK for Windows from here.

https://jackaudio.org/downloads/

Use the 64-bit installer. (Basically all systems have a 64-bit processor now.)

After you installed JACK, open a program called JACK Control to configure the sound server.

Set the following options.

  1. In the "Parameters" tab:
  • Driver: portaudio
  • Realtime: yes
  • Interface: [the interface you want to use] (*)
  • Sample rate: [sample rate you want to use]
  • Frames / period: 4096 (**)

(*) Select the audio interface you want to use for real-time processing (for input and output) here. The interface selected here should use the ASIO driver.

(**) This will give the most stable operation. You can later adjust the frames / period setting from the go-dsp-guitar user interface while it is running.

  1. In the "Advanced" tab:
  • Input device: (default)
  • Output device: (default)
  • Max. Port: 128

If you did not find your interface (with ASIO driver) in the "Interface" list of the "Parameters" tab, instead set the following.

  1. In the "Parameters" tab:
  • Interface: (default)
  1. In the "Advanced" tab:
  • Output device: [Your ASIO driver]
  • Input device: [Your ASIO driver]

Set all other options as outlined above.

Apply settings by clicking "Ok", then hit "Start" to start the JACK audio server. (JACK then runs as a background service on your system.)

After you did that, you can start go-dsp-guitar in real-time mode. (It's best to use a console window, for example PowerShell for that. Type "./dsp-win-amd64.exe" in PowerShell to start go-dsp-guitar in real-time mode.)

If the Windows firewall asks you, whether you want to grant go-dsp-guitar access to the network, you can generally deny it, if you only want to control the effects processor from the local machine, since local socket connections always appear to be allowed. If you let go-dsp-guitar access your network, you can also remote-control it from other computers in your network, for example for headless operation.

Even now, go-dsp-guitar will probably not have access to your audio hardware yet, because you still have to configure how to map the actual inputs and outputs that your audio hardware provides to the input and output channels of go-dsp-guitar. You can do that in the "Connections" window of the JACK Control application, where go-dsp-guitar should show up as a client when it's running. If you don't want to do this manually all the time, you can also configure these connections in the "Connections" section inside the "config/config.json" configuration file in the location where you extracted go-dsp-guitar.

To find what to put in that section, and how JACK and go-dsp-guitar are set up on Linux in general, how the connection setup works, etc., watch this video: https://www.youtube.com/watch?v=fxgwbZSU4_g

For specific setup of JACK and go-dsp-guitar on Windows, watch this video: https://www.youtube.com/watch?v=ujBH5qj3R5A

Alternatively: Running go-dsp-guitar in batch processing mode

Alternatively, if you want to process audio files instead of processing real-time audio, you can also run go-dsp-guitar in "batch processing mode" instead. To do this, type "./dsp-win-amd64.exe -channels 1" on the console. Replace the number 1 by the actual number of channels you want to process, then type in the sample rate (time discretization) you want the simulation to operate at. (This will be the sample rate of the output files go-dsp-guitar generates.) The sample rate is in Hertz, so type 96000 for 96 kHz. After that, the web interface will be accessible via your browser, where you can configure the signal chain(s). (You will have to bypass a certificate warning in your browser to access it.)

After you are finished configuring, click on the "Process now" button in the web interface. The web interface will "freeze" claiming to be "Synchronizing ...". Return to the console window and answer the questions regarding sample format, bit depth, as well as both input and output paths. You can specify relative paths (relative to the current working directory in the shell / console) or absolute paths for input and output files. Beware that paths you specify as output files will get overwritten without further questions. Input files have to be in either RIFF WAVE or RF64 format and use either 8 bit, 16 bit, 24 bit or 32 bit linear PCM ("lpcm") or, alternatively, 32 bit or 64 bit IEEE 754 floating-point ("float") format.