You've already forked Irene-Voice-Assistant
mirror of
https://github.com/janvarev/Irene-Voice-Assistant.git
synced 2025-11-23 22:45:08 +02:00
plugin_playwav_sounddevice.py - проигрывание WAV через sounddevice
доки - инфа, что rhvoice надо проигрывать через новый плагин playwav sounddevice
This commit is contained in:
@@ -120,6 +120,11 @@ pip install rhvoice-wrapper-bin --only-binary rhvoice-wrapper-bin
|
|||||||
|
|
||||||
Доп информация по установке rhvoice-wrapper: https://libraries.io/pypi/rhvoice-wrapper
|
Доп информация по установке rhvoice-wrapper: https://libraries.io/pypi/rhvoice-wrapper
|
||||||
|
|
||||||
|
**Важно:** если соберетесь использовать, переключите настройку в core.json:
|
||||||
|
`"playWavEngineId": "sounddevice",`
|
||||||
|
потому что через audioplayer не проигрывает WAV по неизвестным причинам.
|
||||||
|
|
||||||
|
|
||||||
**plugin_tts_rhvoice_rest.py** - (оффлайн) TTS через RHVoice.
|
**plugin_tts_rhvoice_rest.py** - (оффлайн) TTS через RHVoice.
|
||||||
Использует докер-сервер https://github.com/Aculeasis/rhvoice-rest для
|
Использует докер-сервер https://github.com/Aculeasis/rhvoice-rest для
|
||||||
генерации голоса. Зайдите туда и запустите нужный вам докер.
|
генерации голоса. Зайдите туда и запустите нужный вам докер.
|
||||||
|
|||||||
42
plugins/plugin_playwav_sounddevice.py
Normal file
42
plugins/plugin_playwav_sounddevice.py
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# Playwav plugin for sounddevice engine
|
||||||
|
# author: Vladislav Janvarev
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
from vacore import VACore
|
||||||
|
import sounddevice as sound_device
|
||||||
|
import soundfile as sound_file
|
||||||
|
|
||||||
|
modname = os.path.basename(__file__)[:-3] # calculating modname
|
||||||
|
|
||||||
|
# функция на старте
|
||||||
|
def start(core:VACore):
|
||||||
|
manifest = {
|
||||||
|
"name": "PlayWav through sounddevice",
|
||||||
|
"version": "1.0",
|
||||||
|
"require_online": False,
|
||||||
|
|
||||||
|
"playwav": {
|
||||||
|
"sounddevice": (init,playwav) # первая функция инициализации, вторая - проиграть wav-файл
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return manifest
|
||||||
|
|
||||||
|
def start_with_options(core:VACore, manifest:dict):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def init(core:VACore):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def playwav(core:VACore, wavfile:str):
|
||||||
|
#AudioPlayer(wavfile).play(block=True)
|
||||||
|
filename = os.path.dirname(__file__)+"/../"+wavfile
|
||||||
|
|
||||||
|
#filename = 'timer/Sounds/Loud beep.wav'
|
||||||
|
# now, Extract the data and sampling rate from file
|
||||||
|
data_set, fsample = sound_file.read(filename, dtype = 'float32')
|
||||||
|
sound_device.play(data_set, fsample)
|
||||||
|
# Wait until file is done playing
|
||||||
|
status = sound_device.wait()
|
||||||
|
return
|
||||||
|
|
||||||
Reference in New Issue
Block a user