Category: Computer Generated Music
Blog Entry © Saturday, January 18, 2025, by James Pate Williams, Jr. Preliminary Virtual Vision Field (VVF) Diagnostic Optometry Test Simulator
I was administered a VVF Test on Wednesday, January 15, at Dr. Brent Brown and Associates Inc office in LaGrange, Georgia. The test consists of using a headset that has an orange circle in the center of the display. The examinee has a trigger device to click each time a white flash occurs. I decided to write a C/C++ Win32 application to simulate the VVF Test. The following two pictures are from a simulated test of one minute in duration. The white flashes are separated by 1000 millisecond (1 second) and their durations are also 1000 milliseconds (1 second).

Positions of the Hits
1 (571, 842)
2 (587, 196)
3 (594, 644)
4 (694, 273)
5 (717, 620)
6 (718, 297)
7 (724, 360)
8 (743, 186)
9 (774, 736)
10 (798, 326)
11 (835, 361)
12 (859, 357)
13 (927, 553)
14 (1040, 848)
15 (1100, 463)
16 (1177, 157)
17 (1195, 552)
18 (1225, 190)
19 (1234, 344)
20 (1253, 606)
21 (1285, 872)
22 (1290, 594)
23 (1297, 391)
24 (1303, 458)
Positions of the Misses
1 (627, 832)
2 (983, 266)
3 (1078, 827)
4 (1191, 788)
5 (1258, 349)
6 (1317, 585)
Blog Entry (c) Monday, October 7, 2024, Late Evening by James Pate Williams, Jr. B3 Sextets
I created the MP3 below using the Universal Audio Hammond B3 plug-in.
“Odious Olfaction” by James Pate Williams, Jr. (c) Friday, May 10, 2024
“Odious Olfaction” is a MP3 that used Universal Audio Effect Minimoog Emulator recorded by SONAR Platinum. The guitar effects utilized were TH3 Noise Reduction, Chorus, Overdrive, Digital Delay, Spring Reverb, Fender Twin Reverb Emulator. The MIDI audio effect was the Cakewalk Arpeggiator. The Minimoog patch was 2 Classic Oscillators.
Guitar Synth Experiment 04 17 2024 (c) James Pate Williams, Jr.
Dyadic UADx Waterfall Hammond B3 Organ Experiment in Progress (c) James Pate Williams, Jr. Wednesday, April 17, 2024
A New and Some Old MP3s by James Pate Williams, Jr. Copyrighted on Easter Sunday, March 31, 2024
The first MP3 was created on Saturday, March 30,2024. It uses the former Cakewalk Digital Audio Workstation software SONAR Platinum. The software synthesizer utilized was Universal Audio Waterfall Hammond B3 Organ emulator with Lesley Type 147 amplifier and rotating speaker enclosure.
The second MP3 was created on May 19,2009, using my Gibson EDS-1275 double neck SG guitar and one of the older Cakewalk DAWs. Unfortunately, my double neck guitar was stolen from my house in 2011.
The final MP3 in this post uses my 2006 Gibson Les Paul SG Custom. The date on the MP3 is Thursday, February 15, 2018.
The next MP3 is the same music as the first MP3 but using Universal Audio’s Mini Moog synthesizer with Fanfare preset.
Open Assault on the Fret Board (c) February 3, 2024, by James Pate Williams, Jr. Using Universal Audio’s Waterfall B3 Hammond Organ Software Emulator with Nomad Factory VST2 Audio Effects in SONAR Platinum Digital Audio Workstation
Up and Down the Stairway to Another Realm Instrumental Rock (c) January 31, 2024, by James Pate Williams, Jr. Using SONAR Platinum and the Universal Audio MOOG Mini-Moog Plug-In
Guitar String and Piano Key Frequencies by James Pate Williams, Jr.

// FrequencyKey.cpp : Defines the entry point for the console application.
// James Pate Willims, Jr. (c) All Applicable Rights Reserved
#include "stdafx.h"
#include <math.h>
#include <iomanip>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string> pnote;
double a = pow(2.0, 1.0 / 12.0);
double f0 = 440.0, gStrF[6];
double e2, a2, d3, g3, b3, e4;
double pfreq[9 * 12];
int offset = 0;
double fn(int n)
{
return f0 * pow(a, n);
}
void printFrequency(char note, int octave, double frequency)
{
cout << note << "\t" << octave << "\t";
cout << setw(6) << fixed << setprecision(2);
cout << frequency << endl;
}
int main()
{
for (int octave = 0; octave <= 8; octave++)
{
pnote.push_back("C");
pnote.push_back("C#");
pnote.push_back("D");
pnote.push_back("D#");
pnote.push_back("E");
pnote.push_back("F");
pnote.push_back("F#");
pnote.push_back("G");
pnote.push_back("G#");
pnote.push_back("A");
pnote.push_back("A#");
pnote.push_back("B");
}
pfreq[0] = 16.35;
pfreq[1] = 17.32;
pfreq[2] = 18.35;
pfreq[3] = 19.45;
pfreq[4] = 20.6;
pfreq[5] = 21.83;
pfreq[6] = 23.12;
pfreq[7] = 24.5;
pfreq[8] = 25.96;
pfreq[9] = 27.5;
pfreq[10] = 29.14;
pfreq[11] = 30.87;
for (int octave = 1; octave <= 8; octave++)
{
for (int i = 0; i < 12; i++)
{
pfreq[octave * 12 + i] = 2.0 * pfreq[(octave - 1) * 12 + i];
}
}
gStrF[0] = e2 = fn(offset - 29);
gStrF[1] = a2 = fn(offset - 24);
gStrF[2] = d3 = fn(offset - 19);
gStrF[3] = g3 = fn(offset - 14);
gStrF[4] = b3 = fn(offset - 10);
gStrF[5] = e4 = fn(offset - 5);
cout << "Guitar\tOctave\tFrequency (Hz)" << endl;
printFrequency('E', 2, e2);
printFrequency('A', 2, a2);
printFrequency('D', 3, d3);
printFrequency('G', 3, g3);
printFrequency('B', 3, b3);
printFrequency('E', 4, e4);
cout << endl;
cout << "Piano Keys" << endl << endl;
for (int octave = 0; octave <= 8; octave++)
{
for (int i = 0; i < 2; i++)
{
cout << octave << '\t';
for (int j = 0; j < 6; j++)
{
{
cout << pnote[(12 * octave + 6 * i + j) % 12] << '\t';
cout << pfreq[(12 * octave + 6 * i + j)] << '\t';
}
}
cout << endl;
}
}
return 0;
}