Virtual ANS User Manual
PDF version of this page
Русская версия

What is Virtual ANS

Virtual ANS is a software simulator of the unique Russian synthesizer ANS - photoelectronic musical instrument created by Evgeny Murzin from 1938 to 1958. Murzin named his invention in honour of the composer Alexander Nikolayevich Scriabin. The ANS made it possible to draw music in the form of a spectrogram (sonogram), without live instruments and performers. It was used by Stanislav Kreichi, Alfred Schnittke, Edward Artemiev and other Soviet composers in their experimental works. You can also hear the sound of the ANS in Andrei Tarkovsky's movies Solaris, The Mirror, Stalker.
In 2004, the British experimental group Coil released CoilANS, a boxed set of experimental drone music performed on the ANS.

The simulator extends the capabilities of the original instrument. Now it's a full-featured graphics editor where you can convert sound into an image, load and play pictures, draw microtonal/spectral music and create some unusual deep atmospheric sounds. This app is for everyone who loves experiments and is looking for something new.

Official Virtual ANS page


Most of my desktop applications (for Windows, macOS and Linux) are portable. This means that the program is distributed in the form of a ZIP archive. You need to unzip the archive (macOS can unpack it automatically), and then you will see the single folder containing all the necessary files: versions of the program for different systems, examples, docs and some of your personal files that you will create later. This makes it easier to transfer the program with the user data between different computers.


  • Requirements: Windows 7 (x86_64); latest OpenGL drivers.
  • How to install:
    • download the app (ZIP archive);
    • unpack it to the user-created folder (with read and write permissions; for example, your own folder on the external flash drive);
    • go to the unzipped folder and and double-click on START_WINDOWS.


  • Requirements: any modern Linux distribution (x86_64); latest OpenGL drivers; libsdl2.
  • How to install:
    • download the app (ZIP archive);
    • unpack it to the user-created folder (with read and write permissions; for example, the home user directory (/home/username));
    • go to the unzipped folder and and double-click on START_LINUX_X, where the X is the name of the architecture of your device (usually x86_64, but other architectures may be supported too).


  • Requirements: macOS 10.13 (x86_64).
  • How to install:
    • download the app (ZIP archive);
    • the archive may be unzipped automatically by the browser; otherwise, unpack it manually - just double click on the ZIP file;
    • it is recommended to move the unzipped folder to some another user-created directory (but don't use the Applications folder);
    • read the important information for macOS 10.12+ users;
    • go to the unzipped folder and double-click on START_MACOS.


  • Requirements: Android 4.1.
  • How to install:
    • get the app on Google Play;
    • if something is wrong, read this.


  • Requirements: iOS 12.
  • How to install: get the app on App Store.

Interface description

Main window

Record from the Keyboard or from the Microphone/Line-In
Play / Stop
Play back / Stop
Settings (project, visualization, audio, ...)
Project (new, load, save, import/export, ...)

Supported file formats:

  • Load / Import: ANS, VNS (Virtual ANS 1.x), PNG, JPEG, GIF, WAV (PCM, uncompressed), AIFF (PCM, uncompressed), OGG (Vorbis), MP3, FLAC;
  • Save: ANS;
  • Export: WAV, JPEG, PNG, JPEG with a sonogram in PhonoPaper format.
Switch to the Navigation mode (move/zoom the sonogram)
Switch to the Layers mode
Switch to the Selection mode (copy, paste and effects)
Switch to the Drawing mode
Parameters that can be controlled in real time.
You can also enable/disable the Polyphonic Synth mode here.
If Polyphonic Synth enabled: each new note will play the sonogram with ADSR envelope on a separate channel.
If Polyphonic Synth disabled: each new note will play a spectrum from the center of the selected brush; without ADSR.

Main parameters:

  • skip tone - how many pure tones to skip;
  • freeze the spectrum;
  • note offset (transposition); only for keyboard commands;
  • finetune: -100% (1 semitone lower) ... 100% (1 semitone higher); only for keyboard commands;
  • loop crossfade; only for the forward loop;
  • loop p1 (start);
  • loop p2 (end);
  • loop type: off / forward / ping-pong;
  • loop sustain (S); when enabled, loop will be finished after the note release;
  • only for active Polyphonic Synth mode:
    • synth volume (V);
    • attack (A);
    • decay (D);
    • sustain (S);
    • release (R).
There are other parameters that are not shown in this window. You can get the full list in the Settings -> MIDI Mapping.



Solid triangle
Gradient triangle
Solid rectangle


Brush parameters:

  • Scale - scale of the brush;
  • Spacing - space between the brush strokes.


Gradient that will be applied to all drawing operations:

Drawing without gradient:

Drawing with gradient:


Mode nameDescriptionExample
NormalNormal drawing
Lighten Only
^ Exclusive OR
+ Addition without overflow protection
- Subtraction without overflow protection
* Gain
/ Attenuation

Keyboard shortcuts

CTRL + Zundo
CTRL + Yredo
CTRL + Ccopy
CTRL + V / SHIFT + INSpaste
CTRL + Dduplicate
CTRL + Aselect/unselect all
CTRL + Oload project
CTRL + Nnew project
CTRL + Tload template
LEFT / RIGHTmove cursor (or selection) left / right; (press SHIFT to make it move faster)
UP / DOWNmove selection up / down; (press SHIFT to make it move faster)
SHIFT + Ccenter the view
SHIFT + Fmake the sonogram fit to screen
SPACEplay / stop
SHIFT + SPACEplay backward / stop
ENTERhold and play current position
Z, S, X, D, C ...notes C, C#, D, D#, E, F ...
Q, 2, W, 3, E ...the same notes but one octave upper
F1 or SHIFT + '-'octave down
F2 or SHIFT + '='octave up
MOUSE WHEEL UP / DOWNzoom or scroll up / down
MOUSE MIDDLE KEYmove window content

How it works

Every pixel on the vertical scanning line (current position) is a pure tone (sine) generator. Generator volume is equal to pixel brightness.
For example, if you draw a thin line - you will hear a pure tone (close to the sine). But if you increase the thickness - the tone will become fatter (close to noise). So that you can interpret other more complex shapes as a combination of lines of different thicknesses and opacity.

Frequently asked questions (FAQ)

Sound stutters / freezes / silent. How to fix?

This is probably due to CPU overload. Virtual ANS is CPU-hungry synth, so it very dependent on the performance of the device. If your project is too big, you can reduce the Project Height (Settings -> Project) or reduce the Sampling Rate (Settings -> Sound Quality). Project Width and Number of Octaves don't affect the Virtual ANS performance. Here is the list of optimal parameters for different devices:

  • old Android phone (800 MHz): height = 512px; sampling rate: 16000Hz;
  • iPad1: height = 512px; sampling rate = 22050Hz;
  • iPad mini 2: height = 1000px; sampling rate = 44100Hz;
  • desktop computer: height = 2000px; sampling rate = 44100Hz.

For Windows users: default sound system is DirectSound, but it not always work well. I recommend to change it to ASIO in the Virtual ANS Settings -> System -> Audio.

For Linux users: if you think that your CPU is too slow for Virtual ANS, try to increase the audio buffer size in the Virtual ANS Settings -> System -> Audio.

What are the optimal project parameters for the export to PhonoPaper?

  • width - not less than 1280;
  • height - 720;
  • lowest frequency - about 65.4 Hz;
  • number of octaves - 8;
  • beats per minute - 125;
  • pixels per beat - 64.

iOS: How can i import/export files from/to the Virtual ANS internal storage?

There are several ways.

  • For standalone version:
    • use the Files app;
    • in some other app (for example, Mail) click on the audio/image file and select Open in -> Virtual ANS;
    • use iTunes File Sharing;
    • open Virtual ANS -> Project -> Export/Import -> Wi-Fi Export/Import.
  • For AU: open Virtual ANS -> Project -> Export/Import -> Wi-Fi Export/Import. Then follow the instructions on the screen. Web browser and the AU (with active Wi-Fi) can be opened on the same device.

Video: How to load a photo from the Gallery to the Virtual ANS (standalone and AU)

iOS: How to enable Start/Stop sync in AU?

This feature is not implemented yet. But it will be added in the next update.
Now you can use the following ways:

  • you can just send some MIDI notes to the synth, and the sonogram will play like a sample;
  • there are the Play and Stop parameters - you can automate them or link them to some MIDI controllers.

Android: I can't access the microphone or/and storage

Go to the main Settings of your device -> Apps -> Virtual ANS 3 -> Permissions -> enable the required permissions.

macOS: I can't start the program, i see only some kind of file selection window

Please see this video or read this instruction.