From 2dca3ad6db913d012d5a42a71706faf613a2fd31 Mon Sep 17 00:00:00 2001 From: xszyou Date: Wed, 15 Mar 2023 02:22:50 +0800 Subject: [PATCH] 20230315 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、增加edge-tts语音合成(免费)可替换azure-tts(支持情绪化语音); 2、替换flask发行版运行方式。 --- README.md | 14 ++--- ai_module/ms_tts_sdk.py | 123 ++++++++++++++++++++++++-------------- core/fay_core.py | 6 +- core/recorder.py | 11 +--- gui/flask_server.py | 9 ++- images/20230315021425.jpg | Bin 0 -> 132351 bytes main.py | 4 +- requirements.txt | 4 +- test/test_flask.py | 13 ++++ 9 files changed, 113 insertions(+), 71 deletions(-) create mode 100644 images/20230315021425.jpg create mode 100644 test/test_flask.py diff --git a/README.md b/README.md index fa184b4..76c71b2 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,7 @@ -​ 本开源项目名为“数字人控制器”。意为,本项目可以充当时下流行的虚拟人、虚拟主播、数字人,等仿人形数字形象的内核部分。 - -​ 使用UE、C4D、DAZ、LIVE2D等三维引擎软件开发的数字形象可以与本“数字人控制器”对接,从而实现虚拟主播、数字导游、数字助手等。我们提供UE4对接的demo,但我们更鼓励用户自行实现喜欢的数字形象。 - -​ 当然,若不考虑外观形象的话,本“数字人控制器”其实也可以独立使用的,可以充当一个语音助理。NLP可以自由切换AIUI、ChatGPT及Yuan1.0。 +​ Fay是一个完整的开源项目,包含Python内核及UE数字人模型。开发人员可以利用该项目简单地构建各种类型的数字人或数字助理。该项目各模块之间耦合度非常低,包括声音来源、语音识别、情绪分析、NLP处理、情绪语音合成、语音输出和表情动作输出等模块。每个模块都可以轻松地更换。其中,NLP可以自由切换AIUI、GPT及Yuan1.0。 QA @@ -30,6 +26,10 @@ 目前最新版本是2.0。在新版本里我们提出一个全新的架构。在这个架构下每个人都可以把Fay控制器搭建在自己个人电脑上(未来,或许我们会提供终端),让你电脑成为你数字助理的载体。你的所有设备(手表、手机、眼镜、笔记本)随时可以与你的数字助理通讯,数字助理将通过电脑为你处理数字世界里的所有事情。(贾维斯?Her?) ![](images/20230122074644.png) +2023.03: +1、增加edge-tts语音合成(免费)可替换azure-tts(支持情绪化语音); +2、替换flask发行版运行方式。 + 2023.02: 1、提供chatgpt及yuan1.0作为选择。 @@ -201,7 +201,7 @@ python main.py | 代码模块 | 描述 | 链接 | | ------------------------- | -------------------------- | ------------------------------------------------------------ | | ./ai_module/ali_nls.py | 阿里云 实时语音识别 | https://ai.aliyun.com/nls/trans | -| ./ai_module/ms_tts_sdk.py | 微软 文本转语音 基于SDK | https://azure.microsoft.com/zh-cn/services/cognitive-services/text-to-speech/ | +| ./ai_module/ms_tts_sdk.py | 微软 文本转情绪语音(可选) | https://azure.microsoft.com/zh-cn/services/cognitive-services/text-to-speech/ | | ./ai_module/xf_ltp.py | 讯飞 情感分析 | https://www.xfyun.cn/service/emotion-analysis | | ./utils/ngrok_util.py | ngrok.cc 外网穿透(可选) | http://ngrok.cc | | ./ai_module/yuan_1_0.py | 浪潮源大模型(NLP 3选1) | https://air.inspur.com/ | @@ -279,6 +279,6 @@ python main.py 技术交流群 -微信群 +微信群 diff --git a/ai_module/ms_tts_sdk.py b/ai_module/ms_tts_sdk.py index 471a3e9..baecdc6 100644 --- a/ai_module/ms_tts_sdk.py +++ b/ai_module/ms_tts_sdk.py @@ -1,25 +1,33 @@ import time import azure.cognitiveservices.speech as speechsdk - +import asyncio +import sys +sys.path.append("E:\\GitHub\\Fay\\") from core import tts_voice from core.tts_voice import EnumVoice from utils import util, config_util from utils import config_util as cfg import pygame +import edge_tts + class Speech: def __init__(self): - self.__speech_config = speechsdk.SpeechConfig(subscription=cfg.key_ms_tts_key, region=cfg.key_ms_tts_region) - self.__speech_config.speech_recognition_language = "zh-CN" - self.__speech_config.speech_synthesis_voice_name = "zh-CN-XiaoxiaoNeural" - self.__speech_config.set_speech_synthesis_output_format(speechsdk.SpeechSynthesisOutputFormat.Riff16Khz16BitMonoPcm) - self.__synthesizer = speechsdk.SpeechSynthesizer(speech_config=self.__speech_config, audio_config=None) + self.ms_tts = False + if config_util.key_ms_tts_key and config_util.key_ms_tts_key is not None and config_util.key_ms_tts_key.strip() != "": + self.__speech_config = speechsdk.SpeechConfig(subscription=cfg.key_ms_tts_key, region=cfg.key_ms_tts_region) + self.__speech_config.speech_recognition_language = "zh-CN" + self.__speech_config.speech_synthesis_voice_name = "zh-CN-XiaoxiaoNeural" + self.__speech_config.set_speech_synthesis_output_format(speechsdk.SpeechSynthesisOutputFormat.Audio16Khz32KBitRateMonoMp3) + self.__synthesizer = speechsdk.SpeechSynthesizer(speech_config=self.__speech_config, audio_config=None) + self.ms_tts = True self.__connection = None self.__history_data = [] + def __get_history(self, voice_name, style, text): for data in self.__history_data: if data[0] == voice_name and data[1] == style and data[2] == text: @@ -27,14 +35,20 @@ class Speech: return None def connect(self): - self.__connection = speechsdk.Connection.from_speech_synthesizer(self.__synthesizer) - self.__connection.open(True) + if self.ms_tts: + self.__connection = speechsdk.Connection.from_speech_synthesizer(self.__synthesizer) + self.__connection.open(True) util.log(1, "TTS 服务已经连接!") def close(self): if self.__connection is not None: self.__connection.close() + #生成mp3音频 + async def get_edge_tts(self,text,voice,file_url) -> None: + communicate = edge_tts.Communicate(text, voice) + await communicate.save(file_url) + """ 文字转语音 :param text: 文本信息 @@ -43,49 +57,66 @@ class Speech: """ def to_sample(self, text, style): - voice_type = tts_voice.get_voice_of(config_util.config["attribute"]["voice"]) - voice_name = EnumVoice.XIAO_XIAO.value["voiceName"] - if voice_type is not None: - voice_name = voice_type.value["voiceName"] - history = self.__get_history(voice_name, style, text) - if history is not None: - return history - ssml = '' \ - '' \ - '' \ - '{}' \ - '' \ - '' \ - ''.format(voice_name, style, 1.8, text) - result = self.__synthesizer.speak_ssml(ssml) - audio_data_stream = speechsdk.AudioDataStream(result) + if self.ms_tts: + voice_type = tts_voice.get_voice_of(config_util.config["attribute"]["voice"]) + voice_name = EnumVoice.XIAO_XIAO.value["voiceName"] + if voice_type is not None: + voice_name = voice_type.value["voiceName"] + history = self.__get_history(voice_name, style, text) + if history is not None: + return history + ssml = '' \ + '' \ + '' \ + '{}' \ + '' \ + '' \ + ''.format(voice_name, style, 1.8, text) + result = self.__synthesizer.speak_ssml(ssml) + audio_data_stream = speechsdk.AudioDataStream(result) - file_url = './samples/sample-' + str(int(time.time() * 1000)) + '.wav' - audio_data_stream.save_to_wav_file(file_url) - if result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted: - self.__history_data.append((voice_name, style, text, file_url)) - return file_url + file_url = './samples/sample-' + str(int(time.time() * 1000)) + '.mp3' + audio_data_stream.save_to_wav_file(file_url) + if result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted: + self.__history_data.append((voice_name, style, text, file_url)) + return file_url + else: + util.log(1, "[x] 语音转换失败!") + util.log(1, "[x] 原因: " + str(result.reason)) + return None else: - util.log(1, "[x] 语音转换失败!") - util.log(1, "[x] 原因: " + str(result.reason)) - return None + voice_type = tts_voice.get_voice_of(config_util.config["attribute"]["voice"]) + voice_name = EnumVoice.XIAO_XIAO.value["voiceName"] + if voice_type is not None: + voice_name = voice_type.value["voiceName"] + history = self.__get_history(voice_name, style, text) + if history is not None: + return history + ssml = '' \ + '' \ + '' \ + '{}' \ + '' \ + '' \ + ''.format(voice_name, style, 1.8, text) + try: + file_url = './samples/sample-' + str(int(time.time() * 1000)) + '.mp3' + asyncio.new_event_loop().run_until_complete(self.get_edge_tts(text,voice_name,file_url)) + self.__history_data.append((voice_name, style, text, file_url)) + except Exception as e : + util.log(1, "[x] 语音转换失败!") + util.log(1, "[x] 原因: " + str(str(e))) + file_url = None + return file_url + + if __name__ == '__main__': cfg.load_config() sp = Speech() sp.connect() - pygame.init() - text = """一座城市,总有一条标志性道路,它见证着这座城市的时代变迁,并随着城市历史积淀砥砺前行,承载起城市的非凡荣耀。季华路,见证了佛山的崛起,从而也被誉为“最代表佛山城市发展的一条路”。季华路位于佛山市禅城区,是佛山市总体道路规划网中东西走向的城市主干道,全长20公里,是佛山市公路网络规划"四纵、九横、两环"主骨架中的重要组成部分,西接禅城南庄、高明、三水,东连南海、广州,横跨佛山一环、禅西大道、佛山大道、岭南大道、南海大道五大主干道,贯穿中心城区四个镇街,沿途经过多处文化古迹和重要产业区,是名副其实的“交通动脉”。同时季华路也是佛山的经济“大动脉”,代表着佛山蓬勃发展的现在,也影响着佛山日新月异的未来。 - 季华六路起于南海大道到文华北截至,道路为东西走向,全长1.5公里,该路段为1996年完成建设并投入使用,该道路为一级公路,路面使用混凝土材质,道路为双向5车道,路宽30米,途径1个行政单位,一条隧道,该路段设有格栅518个,两边护栏1188米,沙井盖158个,其中供水26个,市政77个,移动通讯2个,联通通讯3个,电信通讯3个,交通信号灯1个,人行天桥2个,电梯4台,标志牌18个,标线为1.64万米。 - 道路南行是文华中路,可通往亚洲艺术公园,亚洲艺术公园位于佛山市发展区的中心,占地40公顷,其中水体面积26.6公顷,以岭南水乡为文脉,以水上森林为绿脉,以龙舟竞渡为水脉,通过建筑、雕塑、植物、桥梁等设计要素,营造出一个具有亚洲艺术风采的艺术园地。曾获选佛山十大最美公园之一。 - 道路北行是文华北路,可通往佛山市委市政府。佛山市委市政府是广东省佛山市的行政管理机关。 - 道路西行到达文华公园。佛山市文华公园位于佛山市禅城区季华路以南(电视塔旁)、文华路以西,大福路以东路段,建设面积约11万平方米,主要将传统文化和现代园林有机结合,全园布局以大树木、大草坪、多彩植被和人工湖为表现主体,精致的溪涧、小桥、亲水平台点缀其间,通过棕榈植物错落有序的巧妙搭配,令园区既蕴涵亚热带曼妙风情,又不失岭南园艺的独特风采。通过“借景”、“透景”造园手法,与邻近的电视塔相映成趣,它的落成,为附近市民的休闲生活添上了色彩绚丽的一笔。 - - 季华五路是季华路最先建设的一段道路,起于岭南大道到佛山大道截至,道路为东西走向,全长2.1公里,该路段为1993年完成建设并投入使用,该道路为一级公路,路面使用混凝土材质,道路为双向5车道,路宽30米,途径1个行政单位,该路段设有格栅634个,两边护栏1310米,沙井盖180个,其中供水30个,市政81个,移动通讯5个,联通通讯3个,交通信号灯2个,人行天桥3个,电梯12台,标志牌26个,标线为2.131万米。 - 沿途经过季华园,季华园即佛山季华公园,位于佛山市城南新区,1994年5月建成。占地200多亩。场内所有设施免费使用。景点介绍风格清新、意境优雅季华公园是具有亚热带风光的大型开放游览性公园。由于场内所有设施免费使用,地方广阔,每天都吸引着众多的游人前来休闲、运动等。 - 道路南行是佛山大道中,可通往乐从方向乐从镇,地处珠三角腹地,广佛经济圈核心带,是国家级重大国际产业、城市发展合作平台--中德工业服务区、中欧城镇化合作示范区的核心。 - 道路北行佛山大道中,可通往佛山火车站,佛山火车站是广东省的铁路枢纽之一,广三铁路经过该站。""" + text = """这是一段音频,测试一下3""" s = sp.to_sample(text, "cheerful") + print(s) - pygame.mixer.music.load(s) - pygame.mixer.music.play() - sp.close() \ No newline at end of file + sp.close() + diff --git a/core/fay_core.py b/core/fay_core.py index ad0112c..7f62d60 100644 --- a/core/fay_core.py +++ b/core/fay_core.py @@ -492,9 +492,9 @@ class FeiFei: def __send_audio(self, file_url, say_type): try: - # audio_length = eyed3.load(file_url).info.time_secs mp3音频长度 - with wave.open(file_url, 'rb') as wav_file: - audio_length = wav_file.getnframes() / float(wav_file.getframerate()) + audio_length = eyed3.load(file_url).info.time_secs #mp3音频长度 + # with wave.open(file_url, 'rb') as wav_file: #wav音频长度 + # audio_length = wav_file.getnframes() / float(wav_file.getframerate()) if audio_length <= config_util.config["interact"]["maxInteractTime"] or say_type == "script": if config_util.config["interact"]["playSound"]: # 播放音频 self.__play_sound(file_url) diff --git a/core/recorder.py b/core/recorder.py index da276cc..93975b9 100644 --- a/core/recorder.py +++ b/core/recorder.py @@ -3,11 +3,6 @@ import math import time from abc import abstractmethod - -import pyaudio -import wave - - from ai_module.ali_nls import ALiNls from core import wsa_server from scheduler.thread_manager import MyThread @@ -89,9 +84,7 @@ class Recorder: def __record(self): - self.total = 0 - - stream = self.get_stream() + stream = self.get_stream() #把get stream的方式封装出来方便实现麦克风录制及网络流等不同的流录制子类 isSpeaking = False last_mute_time = time.time() @@ -100,8 +93,6 @@ class Recorder: data = stream.read(1024, exception_on_overflow=False) if not data: continue - else: - self.total += len(data) level = audioop.rms(data, 2) if len(self.__history_data) >= 5: diff --git a/gui/flask_server.py b/gui/flask_server.py index 29ed7db..96b790c 100644 --- a/gui/flask_server.py +++ b/gui/flask_server.py @@ -6,10 +6,12 @@ from flask import Flask, render_template, request from flask_cors import CORS import fay_booter -from core import wsa_server + from core.tts_voice import EnumVoice +from gevent import pywsgi from scheduler.thread_manager import MyThread from utils import config_util +from core import wsa_server __app = Flask(__name__) CORS(__app, supports_credentials=True) @@ -78,6 +80,9 @@ def home_get(): def home_post(): return __get_template() +def run(): + server = pywsgi.WSGIServer(('0.0.0.0',5000), __app) + server.serve_forever() def start(): - MyThread(target=__app.run).start() + MyThread(target=run).start() diff --git a/images/20230315021425.jpg b/images/20230315021425.jpg new file mode 100644 index 0000000000000000000000000000000000000000..90a0d9946bdd4adf9de805a41b65d1f7146ae137 GIT binary patch literal 132351 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

g*U=gKWzy0~c7BhI`y2}{L% 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 literal 0 HcmV?d00001 diff --git a/main.py b/main.py index c02f0af..c7a2c53 100644 --- a/main.py +++ b/main.py @@ -17,7 +17,7 @@ def __clear_samples(): if not os.path.exists("./samples"): os.mkdir("./samples") for file_name in os.listdir('./samples'): - if file_name.startswith('sample-') and file_name.endswith('.wav'): + if file_name.startswith('sample-') and file_name.endswith('.mp3'): os.remove('./samples/' + file_name) @@ -25,7 +25,7 @@ def __clear_songs(): if not os.path.exists("./songs"): os.mkdir("./songs") for file_name in os.listdir('./songs'): - if file_name.endswith('.wav'): + if file_name.endswith('.mp3'): os.remove('./songs/' + file_name) diff --git a/requirements.txt b/requirements.txt index 210f8de..98e452c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,4 +18,6 @@ aliyun-python-sdk-core==2.13.3 scipy~=1.10.0 openai~=0.26.5 simhash -pytz \ No newline at end of file +pytz +gevent~=22.10.1 +edge_tts~=6.1.3 \ No newline at end of file diff --git a/test/test_flask.py b/test/test_flask.py new file mode 100644 index 0000000..52423f7 --- /dev/null +++ b/test/test_flask.py @@ -0,0 +1,13 @@ +from flask import Flask +from flask_cors import CORS +from gevent import pywsgi + +app = Flask("test_server") +CORS(app, supports_credentials=True) + +@app.route('/', methods=['get']) +def abc(): + return 'hello world' + +server = pywsgi.WSGIServer(('0.0.0.0',5000), app) +server.serve_forever() \ No newline at end of file