Remove obsolete audio and buzzer control documentation files, including detailed guides and HTML interfaces, to streamline the repository and eliminate redundancy. This cleanup enhances maintainability and focuses on essential resources for the reTerminal DM4 audio and buzzer functionalities.
This commit is contained in:
122
archive/chromium-setup-legacy/starwars_buzzer.sh
Normal file
122
archive/chromium-setup-legacy/starwars_buzzer.sh
Normal file
@@ -0,0 +1,122 @@
|
||||
#!/bin/bash
|
||||
# Star Wars Theme Song - Buzzer Version
|
||||
# Note: Buzzer can only be on/off, so we use timing patterns to create rhythm
|
||||
# Volume is simulated at 10% by using very short pulse patterns (PWM-like effect)
|
||||
|
||||
BUZZER_PATH='/sys/class/leds/usr-buzzer/brightness'
|
||||
DURATION=5 # Total duration in seconds
|
||||
|
||||
# Function to play a note with 10% volume effect
|
||||
# Uses rapid on/off pulses to simulate lower volume
|
||||
# $1 = note duration in hundredths of a second (e.g., 5 = 0.05s)
|
||||
play_note() {
|
||||
local note_duration=$1
|
||||
# For 10% volume: 10ms on, 90ms off pattern
|
||||
# This creates a quieter, pulsing effect
|
||||
local cycles=$((note_duration * 2)) # Each cycle is ~50ms
|
||||
|
||||
for i in $(seq 1 $cycles); do
|
||||
echo 1 | sudo tee $BUZZER_PATH > /dev/null 2>&1
|
||||
sleep 0.005 # 5ms on (10% duty cycle)
|
||||
echo 0 | sudo tee $BUZZER_PATH > /dev/null 2>&1
|
||||
sleep 0.045 # 45ms off
|
||||
done
|
||||
}
|
||||
|
||||
# Function for silence/pause
|
||||
pause() {
|
||||
local duration=$1
|
||||
sleep $duration
|
||||
}
|
||||
|
||||
# Star Wars Theme Pattern
|
||||
# Using timing to represent the iconic opening sequence
|
||||
echo "Playing Star Wars Theme (5 seconds, 10% volume)..."
|
||||
echo "=================================================="
|
||||
echo ""
|
||||
|
||||
START_TIME=$(date +%s)
|
||||
|
||||
# Opening sequence (famous opening notes)
|
||||
# Short-short-short-long pattern
|
||||
play_note 2 # Very short
|
||||
pause 0.05
|
||||
play_note 2
|
||||
pause 0.05
|
||||
play_note 2
|
||||
pause 0.1
|
||||
play_note 4 # Longer
|
||||
pause 0.1
|
||||
play_note 6 # Even longer
|
||||
pause 0.15
|
||||
|
||||
# Main theme rhythm - first phrase
|
||||
play_note 3
|
||||
pause 0.05
|
||||
play_note 3
|
||||
pause 0.05
|
||||
play_note 3
|
||||
pause 0.1
|
||||
play_note 5
|
||||
pause 0.1
|
||||
play_note 4
|
||||
pause 0.1
|
||||
play_note 3
|
||||
pause 0.1
|
||||
play_note 5
|
||||
pause 0.15
|
||||
|
||||
# Continue theme pattern - second phrase
|
||||
play_note 4
|
||||
pause 0.05
|
||||
play_note 4
|
||||
pause 0.05
|
||||
play_note 4
|
||||
pause 0.1
|
||||
play_note 6
|
||||
pause 0.1
|
||||
play_note 5
|
||||
pause 0.1
|
||||
play_note 4
|
||||
pause 0.1
|
||||
play_note 6
|
||||
pause 0.15
|
||||
|
||||
# Final sequence - third phrase
|
||||
play_note 5
|
||||
pause 0.05
|
||||
play_note 5
|
||||
pause 0.05
|
||||
play_note 5
|
||||
pause 0.1
|
||||
play_note 8
|
||||
pause 0.1
|
||||
play_note 6
|
||||
pause 0.1
|
||||
play_note 5
|
||||
pause 0.1
|
||||
play_note 10
|
||||
pause 0.2
|
||||
|
||||
# Fill remaining time to reach 5 seconds
|
||||
CURRENT_TIME=$(date +%s)
|
||||
ELAPSED=$((CURRENT_TIME - START_TIME))
|
||||
REMAINING=$((DURATION - ELAPSED))
|
||||
|
||||
if [ $REMAINING -gt 0 ]; then
|
||||
# Continue theme pattern for remaining time
|
||||
while [ $(date +%s) -lt $((START_TIME + DURATION)) ]; do
|
||||
play_note 4
|
||||
pause 0.1
|
||||
play_note 5
|
||||
pause 0.1
|
||||
play_note 4
|
||||
pause 0.15
|
||||
done
|
||||
fi
|
||||
|
||||
# Ensure buzzer is off
|
||||
echo 0 | sudo tee $BUZZER_PATH > /dev/null 2>&1
|
||||
|
||||
echo ""
|
||||
echo "Star Wars theme complete!"
|
||||
Reference in New Issue
Block a user