Skip to content

Commit 1d21d39

Browse files
committed
feat: Add flag for replaying audio recording so it's off by default
Signed-off-by: Richard Palethorpe <io@richiejp.com>
1 parent 07cfe1e commit 1d21d39

2 files changed

Lines changed: 14 additions & 9 deletions

File tree

listen.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"github.com/richiejp/VoxInput/internal/pid"
2222
)
2323

24-
func listen(pidPath string) {
24+
func listen(pidPath string, replay bool) {
2525
mctx, err := malgo.InitContext(nil, malgo.ContextConfig{}, func(message string) {
2626
log.Print("internal/audio: ", message)
2727
})
@@ -120,14 +120,17 @@ Listen:
120120
log.Fatalln("main: ", err)
121121
}
122122

123-
log.Println("main: Playing...")
124-
125123
reader := bytes.NewReader(buf.Bytes())
126-
if err := audio.Playback(context.Background(), reader, streamConfig); err != nil && !errors.Is(err, io.EOF) {
127-
log.Fatalln("main: ", fmt.Errorf("audio playback: %w", err))
128-
}
129124

130-
log.Println("main: Playback Done")
125+
if replay {
126+
log.Println("main: Playing...")
127+
128+
if err := audio.Playback(context.Background(), reader, streamConfig); err != nil && !errors.Is(err, io.EOF) {
129+
log.Fatalln("main: ", fmt.Errorf("audio playback: %w", err))
130+
}
131+
132+
log.Println("main: Playback Done")
133+
}
131134

132135
wavHeader := audio.NewWAVHeader(buf.Bytes())
133136
var headerBuf bytes.Buffer

main.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"log"
66
"os"
7+
"slices"
78
"syscall"
89

910
"github.com/richiejp/VoxInput/internal/pid"
@@ -20,7 +21,7 @@ func main() {
2021

2122
if cmd == "help" {
2223
fmt.Println("Available commands:")
23-
fmt.Println(" listen - Start speech to text daemon")
24+
fmt.Println(" listen - Start speech to text daemon (use --replay to play the audio just recorded for transcription)")
2425
fmt.Println(" record - Tell existing listener to start recording audio")
2526
fmt.Println(" write - Tell existing listener to stop recording audio and transcribe it")
2627
fmt.Println(" help - Show this help message")
@@ -33,7 +34,8 @@ func main() {
3334
}
3435

3536
if cmd == "listen" {
36-
listen(pidPath)
37+
replay := slices.Contains(os.Args[2:], "--replay")
38+
listen(pidPath, replay)
3739
return
3840
}
3941

0 commit comments

Comments
 (0)