Merge branch 'main' of https://github.com/benxu3/01 into react-native-app
This commit is contained in:
commit
7a09fd6f0f
|
@ -19,7 +19,7 @@ We want to help you build. [Apply for 1-on-1 support.](https://0ggfznkwh4j.typef
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> This experimental project is under rapid development and lacks basic safeguards. Until a stable `1.0` release, only run this repository on devices without sensitive information or access to paid services.
|
> This experimental project is under rapid development and lacks basic safeguards. Until a stable `1.0` release, only run this repository on devices without sensitive information or access to paid services.
|
||||||
>
|
>
|
||||||
> **A substantial rewrite to address these concerns and more is occurring [here](https://github.com/KillianLucas/01-rewrite/tree/main).**
|
> **A substantial rewrite to address these concerns and more, including the addition of [RealtimeTTS](https://github.com/KoljaB/RealtimeTTS) and [RealtimeSTT](https://github.com/KoljaB/RealtimeSTT), is occurring [here](https://github.com/KillianLucas/01-rewrite/tree/main).**
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
@ -51,6 +51,8 @@ poetry run 01 # Runs the 01 Light simulator (hold your spacebar, speak, release)
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
**The [RealtimeTTS](https://github.com/KoljaB/RealtimeTTS) and [RealtimeSTT](https://github.com/KoljaB/RealtimeSTT) libraries in the incoming 01-rewrite are thanks to the state-of-the-art voice interface work of [Kolja Beigel](https://github.com/KoljaB). Please star those repos and consider contributing to / utilizing those projects!**
|
||||||
|
|
||||||
# Hardware
|
# Hardware
|
||||||
|
|
||||||
- The **01 Light** is an ESP32-based voice interface. Build instructions are [here](https://github.com/OpenInterpreter/01/tree/main/hardware/light). A list of what to buy [here](https://github.com/OpenInterpreter/01/blob/main/hardware/light/BOM.md).
|
- The **01 Light** is an ESP32-based voice interface. Build instructions are [here](https://github.com/OpenInterpreter/01/tree/main/hardware/light). A list of what to buy [here](https://github.com/OpenInterpreter/01/blob/main/hardware/light/BOM.md).
|
||||||
|
|
|
@ -12,7 +12,7 @@ class Tts:
|
||||||
self.piper_directory = ""
|
self.piper_directory = ""
|
||||||
self.install(config["service_directory"])
|
self.install(config["service_directory"])
|
||||||
|
|
||||||
def tts(self, text):
|
def tts(self, text, mobile):
|
||||||
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as temp_file:
|
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as temp_file:
|
||||||
output_file = temp_file.name
|
output_file = temp_file.name
|
||||||
piper_dir = self.piper_directory
|
piper_dir = self.piper_directory
|
||||||
|
@ -34,10 +34,16 @@ class Tts:
|
||||||
)
|
)
|
||||||
|
|
||||||
# TODO: hack to format audio correctly for device
|
# TODO: hack to format audio correctly for device
|
||||||
outfile = tempfile.gettempdir() + "/" + "raw.dat"
|
if mobile:
|
||||||
ffmpeg.input(temp_file.name).output(
|
outfile = tempfile.gettempdir() + "/" + "output.wav"
|
||||||
outfile, f="s16le", ar="16000", ac="1", loglevel="panic"
|
ffmpeg.input(temp_file.name).output(
|
||||||
).run()
|
outfile, f="wav", ar="16000", ac="1", loglevel="panic"
|
||||||
|
).run()
|
||||||
|
else:
|
||||||
|
outfile = tempfile.gettempdir() + "/" + "raw.dat"
|
||||||
|
ffmpeg.input(temp_file.name).output(
|
||||||
|
outfile, f="s16le", ar="16000", ac="1", loglevel="panic"
|
||||||
|
).run()
|
||||||
|
|
||||||
return outfile
|
return outfile
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue