Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenBCI GUI hangs if AuditoryFeedback sounds cannot be loaded #1236

Open
JungleHippo opened this issue Feb 24, 2025 · 0 comments
Open

OpenBCI GUI hangs if AuditoryFeedback sounds cannot be loaded #1236

JungleHippo opened this issue Feb 24, 2025 · 0 comments

Comments

@JungleHippo
Copy link

Problem

OpenBCI GUI hangs on start session, if AuditoryFeedback sounds won't load. The problem seems to appear on specific devices (one laptop so far-3 other machines have been fine), and I suspect it has something to do with the default sound output (AMD processor). The compiled version hangs in loading screen. A similar discussion is on the OpenBCI Forum.

Expected

OpenBCI does not hang.

Operating System and Version

Reproduced on Windows 11 & Manjaro Linux, on the same machine

GUI Version

v6.0.0-beta-1

Are you running the downloaded app or from Processing/VSCode?

Processing 4.3.4 & compiled version (cannot check logs - hangs on initial screen)

Type of OpenBCI Board

Synthetic

Console Log and Screenshots

Processing 4.3.4 and OpenBCI GUI v.6.0.0-beta1

Image

Console Log Started at Local Time: 2025-02-24_14-49-12
Screen Resolution: 1920 X 1080
High-DPI Screen Detected: false
Operating System and Version: Windows 11
JVM Version: 17.0.8
Welcome to the Processing-based OpenBCI GUI!
For more information, please visit: https://docs.openbci.com/Software/OpenBCISoftware/GUIDocs/
OpenBCI_GUI::Setup: Successfully deleted old GUI v5 sample data files!
OpenBCI_GUI::Setup: Copying sample data to Documents/OpenBCI_GUI/Sample_Data
Settings: LogFileMaxDuration = 60 minutes
OpenBCI_GUI::Settings: Found and loaded existing GUI-wide Settings from file.
ControlP5 2.3.6 infos, comments, questions at https://github.com/retiutut/controlp5
TopNav: Internet Connection Successful
Local Version: v6.0.0-beta.1, Latest Version: v6.0.0-beta.1
GUI is up to date!
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\neurosdk-x64.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\Unicorn.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\gForceSDKWrapper.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\gforce64.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\simpleble-c.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\MuseLib.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\BrainBitLib.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\GanglionLib.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\BrainFlowBluetooth.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\eego-SDK.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\BoardController.dll
BrainFlow Version: 5.10.0
==== JavaSound Minim Error ====
==== Unable to return a SourceDataLine: unsupported format - PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian

=== Minim Error ===
=== Minim.getLineOut: attempt failed, could not secure a LineOut.

OpenBCI_GUI: AuditoryFeedback: Loading Audio...
==== JavaSound Minim Error ====
==== Unable to return a SourceDataLine: unsupported format - PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian

[ERROR]: AuditoryFeedback: Unable to load audio files. To enable this feature, please connect or turn on an audio device and restart the GUI.
CP: Playback History Size = 6
OpenBCI_GUI::Setup: Setup is complete!
sourceList: click! 
OpenBCI_GUI: Channel count set to 8
[DEFAULT]: Attempting to Start Session...
initButtonPressed: Calling initSystem() after next draw()
OpenBCI_GUI: Start session. Calling initSystem().


=================================================
||             INITIALIZING SYSTEM             ||
=================================================

OpenBCI_GUI: Init session using Synthetic data source
OpenBCI_GUI: Channel count set to 8
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\onnxruntime_arm.dll
java.lang.NullPointerException
	at java.base/java.util.Objects.requireNonNull(Objects.java:209)
	at java.base/java.nio.file.Files.copy(Files.java:3128)
	at brainflow.JarHelper.unpack_from_jar(JarHelper.java:31)
	at brainflow.MLModel.<clinit>(MLModel.java:46)
	at OpenBCI_GUI$W_Focus.initBrainFlowMetric(OpenBCI_GUI.java:24883)
	at OpenBCI_GUI$W_Focus.<init>(OpenBCI_GUI.java:24670)
	at OpenBCI_GUI.setupWidgets(OpenBCI_GUI.java:31734)
	at OpenBCI_GUI$WidgetManager.<init>(OpenBCI_GUI.java:31824)
	at OpenBCI_GUI.initSystem(OpenBCI_GUI.java:849)
	at OpenBCI_GUI.systemInitSession(OpenBCI_GUI.java:1117)
	at OpenBCI_GUI.draw(OpenBCI_GUI.java:654)
	at processing.core.PApplet.handleDraw(PApplet.java:2094)
	at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:840)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
	at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:782)
	at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
	at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:453)
	at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
file: onnxruntime_arm.dll is not found in jar file
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\onnxruntime_arm64.dll
java.lang.NullPointerException
	at java.base/java.util.Objects.requireNonNull(Objects.java:209)
	at java.base/java.nio.file.Files.copy(Files.java:3128)
	at brainflow.JarHelper.unpack_from_jar(JarHelper.java:31)
	at brainflow.MLModel.<clinit>(MLModel.java:47)
	at OpenBCI_GUI$W_Focus.initBrainFlowMetric(OpenBCI_GUI.java:24883)
	at OpenBCI_GUI$W_Focus.<init>(OpenBCI_GUI.java:24670)
	at OpenBCI_GUI.setupWidgets(OpenBCI_GUI.java:31734)
	at OpenBCI_GUI$WidgetManager.<init>(OpenBCI_GUI.java:31824)
	at OpenBCI_GUI.initSystem(OpenBCI_GUI.java:849)
	at OpenBCI_GUI.systemInitSession(OpenBCI_GUI.java:1117)
	at OpenBCI_GUI.draw(OpenBCI_GUI.java:654)
	at processing.core.PApplet.handleDraw(PApplet.java:2094)
	at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:840)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
	at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
	at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:782)
	at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
	at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:453)
	at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
file: onnxruntime_arm64.dll is not found in jar file
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\onnxruntime_x64.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\onnxruntime_x86.dll
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\MLModule.dll
[SUCCESS]: Marker Widget: Listening for markers on 127.0.0.1:12350
InitSettings: Saving Default Settings to file!
SessionSettings: 3 active widgets saved!
[SUCCESS]: Session started!
Unpacking to: C:\Users\user\AppData\Local\Temp\jna-100291160\DataHandler.dll
NullPointerException
NullPointerException

JungleHippo added a commit to JungleHippo/OpenBCI_GUI that referenced this issue Feb 24, 2025
AuditoryFeedback sounds cannot be loaded

Add conditional control over execution of
AuditoryNeurofeedback.update() and
AuditoryNeurofeedback.killAudio() in case
a JavaSound Minim SourceDataLine could not be
secured
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant