针对meloTTS的celery异步执行

创建异步任务执行文件tasks:

# tasks.py(新建此文件)
from celery import Celery

from melo.api import TTS
import os
import uuid

BROKER = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/1'
CELERY_TIMEZONE = 'Asia/Shanghai'


app = Celery('tasks', broker=BROKER, backend=CELERY_RESULT_BACKEND)

# TTS 模型配置
speed = 1.0
device = 'cuda:0'  # 或者 'cpu' 如果您没有可用的 GPU
model = TTS(language='ZH', device=device)
speaker_ids = model.hps.data.spk2id

# 定义一个输出目录
output_dir = 'output'
os.makedirs(output_dir, exist_ok=True)


@app.task
def tts_task(text):
    output_path = os.path.join(output_dir, f'{uuid.uuid4().hex}.wav')
    model.tts_to_file(text, speaker_ids['ZH'], output_path, speed=speed)
    return output_path

创建进程文件produce

from tasks import tts_task

result1 = tts_task.delay("哒哒哒哒哒哒哒")
print(result1.id)

在终端执行命令:这里的tasks.py不加后缀py

celery -A tasks worker -l info

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值