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)

“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.

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;
}

https://en.wikipedia.org/wiki/Piano_key_frequencies#:~:text=%20Every%20octave%20is%20made%20of%20twelve%20steps,Hz%20and%20the%20sixth%20A%20is%20880%20Hz%29.