From f4d2e47b97d2d8b5432941bf781ce82d9137a208 Mon Sep 17 00:00:00 2001 From: Zinkelburger Date: Sat, 12 Oct 2024 15:32:29 -0400 Subject: [PATCH] Add "checkmate" sound to robot voice - resolves issue #12004 - Previous robot sound commit didn't mention the voice used. So I used [coqui-ai/TTS](https://github.com/coqui-ai/TTS) - The voice comes from `tacotron2` - Can be generated with the command: `tts --model_name "tts_models/en/ljspeech/tacotron2-DDC" --text "Checkmate"` - Other non "robot" sounds have symlinks made from "Check.mp3/ogg" to "Checkmate.mp3/ogg", following the practice seen in #594 Signed-off-by: Zinkelburger --- public/oops/sounds.html | 1 + public/sound/futuristic/Checkmate.mp3 | 1 + public/sound/futuristic/Checkmate.ogg | 1 + public/sound/instrument/Checkmate.mp3 | 1 + public/sound/instrument/Checkmate.ogg | 1 + public/sound/lisp/Checkmate.mp3 | 1 + public/sound/lisp/Checkmate.ogg | 1 + public/sound/nes/Checkmate.mp3 | 1 + public/sound/nes/Checkmate.ogg | 1 + public/sound/piano/Checkmate.mp3 | 1 + public/sound/piano/Checkmate.ogg | 1 + public/sound/robot/Checkmate.mp3 | Bin 0 -> 5556 bytes public/sound/robot/Checkmate.ogg | Bin 0 -> 8093 bytes public/sound/sfx/Checkmate.mp3 | 1 + public/sound/sfx/Checkmate.ogg | 1 + public/sound/standard/Checkmate.mp3 | 1 + public/sound/standard/Checkmate.ogg | 1 + public/sound/woodland/Checkmate.mp3 | 1 + public/sound/woodland/Checkmate.ogg | 1 + ui/round/src/ctrl.ts | 6 +++++- ui/site/src/sound.ts | 10 +++++++--- 21 files changed, 29 insertions(+), 4 deletions(-) create mode 120000 public/sound/futuristic/Checkmate.mp3 create mode 120000 public/sound/futuristic/Checkmate.ogg create mode 120000 public/sound/instrument/Checkmate.mp3 create mode 120000 public/sound/instrument/Checkmate.ogg create mode 120000 public/sound/lisp/Checkmate.mp3 create mode 120000 public/sound/lisp/Checkmate.ogg create mode 120000 public/sound/nes/Checkmate.mp3 create mode 120000 public/sound/nes/Checkmate.ogg create mode 120000 public/sound/piano/Checkmate.mp3 create mode 120000 public/sound/piano/Checkmate.ogg create mode 100644 public/sound/robot/Checkmate.mp3 create mode 100644 public/sound/robot/Checkmate.ogg create mode 120000 public/sound/sfx/Checkmate.mp3 create mode 120000 public/sound/sfx/Checkmate.ogg create mode 120000 public/sound/standard/Checkmate.mp3 create mode 120000 public/sound/standard/Checkmate.ogg create mode 120000 public/sound/woodland/Checkmate.mp3 create mode 120000 public/sound/woodland/Checkmate.ogg diff --git a/public/oops/sounds.html b/public/oops/sounds.html index 1492ee536148..8de581794596 100644 --- a/public/oops/sounds.html +++ b/public/oops/sounds.html @@ -78,6 +78,7 @@

Sound Test Page

'draw', 'berserk', 'check', + 'checkmate', 'newChallenge', 'newPM', 'confirmation', diff --git a/public/sound/futuristic/Checkmate.mp3 b/public/sound/futuristic/Checkmate.mp3 new file mode 120000 index 000000000000..5d03cc53ce2d --- /dev/null +++ b/public/sound/futuristic/Checkmate.mp3 @@ -0,0 +1 @@ +Check.mp3 \ No newline at end of file diff --git a/public/sound/futuristic/Checkmate.ogg b/public/sound/futuristic/Checkmate.ogg new file mode 120000 index 000000000000..80b2f6e44fb8 --- /dev/null +++ b/public/sound/futuristic/Checkmate.ogg @@ -0,0 +1 @@ +Check.ogg \ No newline at end of file diff --git a/public/sound/instrument/Checkmate.mp3 b/public/sound/instrument/Checkmate.mp3 new file mode 120000 index 000000000000..5d03cc53ce2d --- /dev/null +++ b/public/sound/instrument/Checkmate.mp3 @@ -0,0 +1 @@ +Check.mp3 \ No newline at end of file diff --git a/public/sound/instrument/Checkmate.ogg b/public/sound/instrument/Checkmate.ogg new file mode 120000 index 000000000000..80b2f6e44fb8 --- /dev/null +++ b/public/sound/instrument/Checkmate.ogg @@ -0,0 +1 @@ +Check.ogg \ No newline at end of file diff --git a/public/sound/lisp/Checkmate.mp3 b/public/sound/lisp/Checkmate.mp3 new file mode 120000 index 000000000000..5d03cc53ce2d --- /dev/null +++ b/public/sound/lisp/Checkmate.mp3 @@ -0,0 +1 @@ +Check.mp3 \ No newline at end of file diff --git a/public/sound/lisp/Checkmate.ogg b/public/sound/lisp/Checkmate.ogg new file mode 120000 index 000000000000..80b2f6e44fb8 --- /dev/null +++ b/public/sound/lisp/Checkmate.ogg @@ -0,0 +1 @@ +Check.ogg \ No newline at end of file diff --git a/public/sound/nes/Checkmate.mp3 b/public/sound/nes/Checkmate.mp3 new file mode 120000 index 000000000000..5d03cc53ce2d --- /dev/null +++ b/public/sound/nes/Checkmate.mp3 @@ -0,0 +1 @@ +Check.mp3 \ No newline at end of file diff --git a/public/sound/nes/Checkmate.ogg b/public/sound/nes/Checkmate.ogg new file mode 120000 index 000000000000..80b2f6e44fb8 --- /dev/null +++ b/public/sound/nes/Checkmate.ogg @@ -0,0 +1 @@ +Check.ogg \ No newline at end of file diff --git a/public/sound/piano/Checkmate.mp3 b/public/sound/piano/Checkmate.mp3 new file mode 120000 index 000000000000..5d03cc53ce2d --- /dev/null +++ b/public/sound/piano/Checkmate.mp3 @@ -0,0 +1 @@ +Check.mp3 \ No newline at end of file diff --git a/public/sound/piano/Checkmate.ogg b/public/sound/piano/Checkmate.ogg new file mode 120000 index 000000000000..80b2f6e44fb8 --- /dev/null +++ b/public/sound/piano/Checkmate.ogg @@ -0,0 +1 @@ +Check.ogg \ No newline at end of file diff --git a/public/sound/robot/Checkmate.mp3 b/public/sound/robot/Checkmate.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2f866f9e89bafc3ab76f33cc3e8914f879654752 GIT binary patch literal 5556 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 literal 0 HcmV?d00001 diff --git a/public/sound/robot/Checkmate.ogg b/public/sound/robot/Checkmate.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b354eb2c9d578d7bdd709937183431d7382b8481 GIT binary patch literal 8093 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 PIR5>`L%aVwop%2pZJh^r literal 0 HcmV?d00001 diff --git a/public/sound/sfx/Checkmate.mp3 b/public/sound/sfx/Checkmate.mp3 new file mode 120000 index 000000000000..5d03cc53ce2d --- /dev/null +++ b/public/sound/sfx/Checkmate.mp3 @@ -0,0 +1 @@ +Check.mp3 \ No newline at end of file diff --git a/public/sound/sfx/Checkmate.ogg b/public/sound/sfx/Checkmate.ogg new file mode 120000 index 000000000000..80b2f6e44fb8 --- /dev/null +++ b/public/sound/sfx/Checkmate.ogg @@ -0,0 +1 @@ +Check.ogg \ No newline at end of file diff --git a/public/sound/standard/Checkmate.mp3 b/public/sound/standard/Checkmate.mp3 new file mode 120000 index 000000000000..5d03cc53ce2d --- /dev/null +++ b/public/sound/standard/Checkmate.mp3 @@ -0,0 +1 @@ +Check.mp3 \ No newline at end of file diff --git a/public/sound/standard/Checkmate.ogg b/public/sound/standard/Checkmate.ogg new file mode 120000 index 000000000000..80b2f6e44fb8 --- /dev/null +++ b/public/sound/standard/Checkmate.ogg @@ -0,0 +1 @@ +Check.ogg \ No newline at end of file diff --git a/public/sound/woodland/Checkmate.mp3 b/public/sound/woodland/Checkmate.mp3 new file mode 120000 index 000000000000..5d03cc53ce2d --- /dev/null +++ b/public/sound/woodland/Checkmate.mp3 @@ -0,0 +1 @@ +Check.mp3 \ No newline at end of file diff --git a/public/sound/woodland/Checkmate.ogg b/public/sound/woodland/Checkmate.ogg new file mode 120000 index 000000000000..80b2f6e44fb8 --- /dev/null +++ b/public/sound/woodland/Checkmate.ogg @@ -0,0 +1 @@ +Check.ogg \ No newline at end of file diff --git a/ui/round/src/ctrl.ts b/ui/round/src/ctrl.ts index 051066ffa7d1..d4487843f988 100644 --- a/ui/round/src/ctrl.ts +++ b/ui/round/src/ctrl.ts @@ -442,7 +442,11 @@ export default class RoundController implements MoveRootCtrl { }, check: !!o.check, }); - if (o.check) site.sound.play('check', o.volume); + if (o.status?.name === 'mate') { + site.sound.play('checkmate', o.volume); + } else if (o.check) { + site.sound.play('check', o.volume); + } blur.onMove(); pubsub.emit('ply', this.ply); } diff --git a/ui/site/src/sound.ts b/ui/site/src/sound.ts index 14f57dcae6a6..adcb02135de6 100644 --- a/ui/site/src/sound.ts +++ b/ui/site/src/sound.ts @@ -51,7 +51,7 @@ export default new (class implements SoundI { if (!this.enabled()) return; let dir = this.theme; if (this.theme === 'music' || this.speech()) { - if (['move', 'capture', 'check'].includes(name)) return; + if (['move', 'capture', 'check', 'checkmate'].includes(name)) return; dir = 'standard'; } return this.url(`${dir}/${name[0].toUpperCase() + name.slice(1)}.mp3`); @@ -76,7 +76,11 @@ export default new (class implements SoundI { else { if (o?.san?.includes('x')) this.throttled('capture', volume); else this.throttled('move', volume); - if (o?.san?.includes('#') || o?.san?.includes('+')) this.throttled('check', volume); + if (o?.san?.includes('#')) { + this.throttled('checkmate', volume); + } else if (o?.san?.includes('+')) { + this.throttled('check', volume); + } } } if (o?.filter === 'game' || this.theme !== 'music') return; @@ -193,7 +197,7 @@ export default new (class implements SoundI { } preloadBoardSounds() { - for (const name of ['move', 'capture', 'check', 'genericNotify']) this.load(name); + for (const name of ['move', 'capture', 'check', 'checkmate', 'genericNotify']) this.load(name); } async resumeWithTest(): Promise {