WaveSim

Download

The latest version is WaveSim v1.00, released on 3/6/10.

WaveSim 1.00 - Windows - Linux - Mac (OS X)

Description

WaveSim is a short and simple experiment designed for my music perception class. It features sounds made from combining two different synthesizer waveform shapes and tests the user's perception of timbre based on waveform shape and phase.

The results of each session are written to "results.txt" in the WaveSim directory.

Step by Step Directions

Windows:

    • Download the WaveSim zip file above.

    • Extract the zip file to somewhere on your computer using a program such as WinZip.

    • Run WaveSim.exe from your computer (do NOT run it from inside the .zip file).

    • Press Enter to start the test, and follow the on-screen instructions.

    • When the test is finished, you should see a file called "results.txt" in the same folder as WaveSim.exe.

    • Please email the results.txt file to me at ddrkirby [at] stanford {dot} edu. Please also include in your email how many years of musical training you have had (if any), and whether you have had any experience with sound synthesizers.

Mac (OS X):

    • Download the WaveSim dmg file above.

    • Double-click the dmg file to open it as a disk image.

    • Inside, you should see the WaveSim app. Drag this to somewhere on your computer.

    • Run the WaveSim app from your computer (do NOT run it from inside the dmg file).

    • Press Enter to start the test, and follow the on-screen instructions.

    • When the test is finished, you should see a file called "results.txt" in the folder where you put the WaveSim app.

    • Please email the results.txt file to me at ddrkirby [at] stanford {dot} edu. Please also include in your email how many years of musical training you have had (if any), and whether you have had any experience with sound synthesizers.

Linux:

    • Download the WaveSim .tar.gz archive above.

    • Extract the archive somewhere on your computer (tar -xvzf [archive_name]).

    • Make sure you have the required SDL libraries (see the FAQ below for information on obtaining them).

    • Run the WaveSim executable (./WaveSim). Note that you will need a graphical environment in order to run the program.

    • Press Enter to start the test, and follow the on-screen instructions.

    • When the test is finished, you should see a file called "results.txt" in the same folder as the WaveSim executable.

    • Please email the results.txt file to me at ddrkirby [at] stanford {dot} edu. Please also include in your email how many years of musical training you have had (if any), and whether you have had any experience with sound synthesizers.

Features

-Cross-platform

-Results of each session are written to a file

Results

You can view the final paper with compiled results here.

Frequently Asked Questions

Q: What class was this designed for?

A: Stanford's Music 251 class, which deals with "The perception, cognition, and neuroscience of music".

Q: (Linux) Where can I find the SDL libraries?

A: Most package managers should already have them available. You'll want the following packages: libsdl1.2debian libsdl-image1.2 libsdl-mixer1.2 libsdl-ttf2.0-0

Alternatively, you can grab them from these links:

SDL - http://www.libsdl.org/download-1.2.php

SDL_image - http://www.libsdl.org/projects/SDL_image/

SDL_mixer - http://www.libsdl.org/projects/SDL_mixer/

SDL_ttf - http://www.libsdl.org/projects/SDL_ttf/

Q: How did you make WaveSim?

A: Short answer: C++.

Long answer: WaveSim is programmed in C++, and uses SDL with OpenGL. SDL_image, SDL_mixer, and SDL_ttf are used as extension libraries. The Windows build was developed in Visual Studio 2008, but the release build was compiled using MinGW. The Linux build was compiled with g++ under VMWare running Ubuntu 9.10 RC. The artwork was created in GIMP, and the sounds were made using Audacity.

Q: Is the source code available?

A: At this time I don't have any plans to make WaveSim an open-source project.

Q: Can I redistribute WaveSim?

A: Please just link people to this page instead.