Thor recommended I check out Pure Data as a music programming platform. Here’s a record of my first foray into the Pure Data world.

Aside: It looks like, for 3d audio purposes, it works with Unity. Perhaps after exploring this I’ll find that I need to use Unity too.

Downloading

This was easy! Just click.

Getting Started

I followed along with FLOSS Manuals Pure Data, clicking through each section of the manual in order. I shall only reflect on areas where I had to learn something new to follow along.

Configuring Pure Data

Audio Settings

Sample Rate

To find the appropriate sample rate, as a Windows user, I went to
Cortana > Change Sound Card Settings > Sound - Playback - Speakers - Properties > Speakers Properties - Advanced. There, I saw that my default sample rate and bit depth are 48000 Hz and 24 bit. Knowing this, I could set the sample rate appropriately under Media > Audio Settings in Pure Data.

Input / Output Device

FLOSS suggests that Windows users will find it easier to set up their ASIO sound card settings by using ASIO4ALL. This was very true!

Once this was downloaded and installed, I went back to under Media > Audio Settings. While there, I set the input and output devices to ASIO:ASIO4ALL v2, Channels: 2.

Testing

This was super important! Without the test file, I would have had a very hard time figuring out that my Input and Output devices had not been configured correctly.

MIDI settings

I shall assume these work correctly, until they are needed! I don’t have any external MIDI devices, and am not yet sure how to use a MIDI file to transfer data into PureData.

Run from Command Line

On Windows 10, to run from the command line use

C:\Program Files (x86)\Pd\bin\pd.exe

Official HTML Help Manuals

For Windows 10 users, look under Help > HTML Manual to find Miller S. Puckette’s official Pure Data manual.

Interface

Everything in the Interface section worked well! I just used the Linux instructions, even though I am using a Windows.

The summary of this section is that if you’d like to print outputs or get inputs, either hardcoded or as variables, this is where each of the options you can use is explained.

To Be Continued

I am up to learning to create Sample Synthesizers. However, it is time to end my current session.

So far, this has been a relatively straightforward platform to use.