Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
danielgjackson committed May 22, 2024
0 parents commit 1321a68
Show file tree
Hide file tree
Showing 68 changed files with 7,884 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.DS_Store
38 changes: 38 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# N-Backer

*N-backer - Copyright ©2011-2012 School of Computing Science, Newcastle University*

**Paper:** Monk, A. F., Jackson, D., Nielsen, D., Jefferies, E., & Olivier, P. (2011). N-backer: An auditory n-back task with automatic scoring of spoken responses. Behavior research methods, 43, 888-896. [https://doi.org/10.3758/s13428-011-0074-z](https://doi.org/10.3758/s13428-011-0074-z)


## About

N-back is a secondary task that loads working memory. The numeric n-back task requires the volunteer to listen to a stream of presented digits and to say the digit they heard 'n-steps' back in time. (e.g. in the 2-back sequence `3` `1` `6` `9`, one would be asked to say `3` on hearing `6`, `1` on hearing `9` and so on).

N-Backer uses speech synthesis and recognition to automate the presentation and scoring of this task. The tool aims to simulate in normal volunteers some of the symptoms observed in, for example, patients in the early stages of dementia when they carry out multi-step tasks.


## Quick start

* On a computer running *Windows*, download the executable file archive (`bin/nback.zip`) and open the `.zip` archive.

* Copy the executables out of the archive to a folder.

* Run `nback-xp.exe` or `nback-inproc.exe` (see *Troubleshooting* below), and press the *Play* button.

* Read into the computer's microphone the digit you heard *1-back* (e.g. in the sequence `3` `1` `6` `9`, say `3` on hearing `1`, `1` on hearing `6`, and so on).


## Troubleshooting

* `nback-xp.exe` should be run on *Windows XP*
* It won't work properly on *Windows Vista / 7 / 10 / 11*, as the speech recognition will also recognize system commands.
* `nback-inproc.exe` is an attempt to use an in-process, non-shared recognizer that will not detect system commands and should work on later versions of *Windows* -- but this is not well tested. * If necessary, you could try running it in a Virtual Machine running an older version of Windows.* If it doesn't start at all, ensure the *Microsoft .NET 3.5 SP1* installed:
* http://www.microsoft.com/download/en/details.aspx?id=21

* To obtain the synthesized voices that it was designed for, install the *Microsoft Speech SDK 5.1*:
* http://www.microsoft.com/download/en/details.aspx?id=10121 (`SpeechSDK51.exe` also available in the `depends` folder)

* It is designed for use with head-mounted microphone
* Check in the Speech Recognition Control Panel that the correct audio input is selected.

Expand Down
Binary file added bin/nback.zip
Binary file not shown.
Binary file added depends/SpeechSDK51.zip
Binary file not shown.
18 changes: 18 additions & 0 deletions doc/Session1.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
63419469369231,5,63419469371922,5,1.460667,1,True,True
63419469370731,2,63419469373627,2,1.597333,1,True,True
63419469372227,7,63419469375315,7,1.725333,1,True,True
63419469375224,3,63419469378062,3,1.558667,1,True,True
63419469378219,2,63419469381308,2,1.726,1,True,True
63419469379715,1,63419469382823,1,1.738667,1,True,True
63419469427576,4,63419469430274,4,1.465333,1,True,True
63419469430571,3,63419469433500,3,1.619333,1,True,True
63419469432473,7,63419469435182,7,1.472667,1,True,True
63419469433531,5,63419469436295,5,1.509333,1,True,True
63419469435073,1,63419469437630,1,1.371333,1,True,True
63419469436561,8,63419469439322,8,1.507333,1,True,True
63419469438060,2,63419469440311,2,1.167333,1,True,True
63419469439556,3,63419469441595,3,1.026,1,True,True
63419469441054,4,63419469443092,4,1.025333,1,True,True
63419469442552,5,63419469444648,5,1.064,1,True,True
63419469444050,8,63419469446481,8,1.287333,1,True,True
63419469445548,6,63419469448175,6,1.418,1,True,True
Binary file added doc/screenshot-interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/screenshot-options.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
195 changes: 195 additions & 0 deletions src/AboutBox.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

108 changes: 108 additions & 0 deletions src/AboutBox.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Reflection;
using System.Windows.Forms;

namespace nback
{
partial class AboutBox : Form
{
public AboutBox()
{
InitializeComponent();
this.Text = String.Format("About {0}", AssemblyTitle);
this.textBoxProductName.Text = AssemblyProduct;
this.textBoxVersion.Text = String.Format("Version {0}", AssemblyVersion);
this.textBoxCopyright.Text = AssemblyCopyright;
this.textBoxCompanyName.Text = AssemblyCompany;
this.textBoxDescription.Text = AssemblyDescription;
}

#region Assembly Attribute Accessors

public string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (titleAttribute.Title != "")
{
return titleAttribute.Title;
}
}
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}

public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}

public string AssemblyDescription
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}

public string AssemblyProduct
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}

public string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}

public string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion

private void AboutBox_Load(object sender, EventArgs e)
{

}
}
}
Loading

0 comments on commit 1321a68

Please sign in to comment.