Changes

Jump to navigation Jump to search
1,448 bytes added ,  14:26, 28 April 2025
Line 116: Line 116:  
|}
 
|}
 
=== Python ===
 
=== Python ===
Example demonstrating how to create audio:
+
Example demonstrating how to check your audio:
 
<syntaxhighlight lang="python" line>
 
<syntaxhighlight lang="python" line>
 
#!/usr/bin/env python3.10
 
#!/usr/bin/env python3.10
# -*- coding: utf-8 -*-
+
 
 +
import psychopy
 +
print(psychopy.__version__)
 +
import sys
 +
print(sys.version)
 +
 
 +
import keyboard
 +
from psychopy import prefs
 +
from psychopy import visual, core, event
 +
 
 +
from psychopy.sound import backend_ptb
 +
# 0: No special settings (default, not optimized)
 +
# 1: Try low-latency but allow some delay
 +
# 2: Aggressive low-latency
 +
# 3: Exclusive mode, lowest latency but may not work on all systems
 +
backend_ptb.SoundPTB.latencyMode = 2
 +
 
 +
prefs.hardware['audioLib'] = ['PTB']
 +
prefs.hardware['audioDriver'] = ['ASIO']
 +
prefs.hardware['audioDevice'] = ['ASIO4ALL v2']
 +
from psychopy import sound
 +
 
 +
# --- OS-level audio device sample rate ---
 +
default_output = sd.query_devices(kind='output')
 +
print("\nDefault output device info (OS level):")
 +
print(f"  Name: {default_output['name']}")
 +
print(f"  Default Sample Rate: {default_output['default_samplerate']} Hz")
 +
print(f"  Max Output Channels: {default_output['max_output_channels']}")
 +
 
 +
# Confirm the audio library and output settings
 +
print(f"Using {sound.audioLib} for sound playback.")
 +
print(f"Audio library options: {prefs.hardware['audioLib']}")
 +
print(f"Audio driver: {prefs.hardware.get('audioDriver', 'Default')}")
 +
print(f"Audio device: {prefs.hardware.get('audioDevice', 'Default')}")
 +
 
 +
audio_file = 'tick_rhythm_5min.wav'
 +
 
 +
print("Creating sound...")
 +
wave_file = sound.Sound(audio_file)
 +
 
 +
print("Playing sound...")
 +
wave_file.play()
 +
 
 +
while not keyboard.is_pressed('q'):
 +
    pass
 +
 
 +
# Clean up
 +
print("Exiting...")
 +
win.close()
 +
core.quit()
 +
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Navigation menu