TTS文字转语音服务 Linux/Ubuntu ekho实现 及 Linux指定声卡

目录

背景介绍

下载地址:

ekho库在linux环境中安装使用(imx6ull平台)

ekho库在ubuntu环境中安装使用

指定声卡

ekho实际使用中遇到的pulseaudio不支持root用户使用问题

修改 /etc/systemd/system/pulseaudio.service 文件并保存

使能pulseaudio服务

编辑 /etc/pulse/client.conf 文件并保存

问题分析

问题1:No PulseAudio daemon running, or not running as session daemon.

问题2:PulseAudio服务启动失败

问题3:-bash: pacmd: command not found

问题4:Fail to init audio stream.Fail to init sound.


背景介绍

TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。

Ekho(余音)是一个免费、开源的中文语音合成软件。它目前支持粤语、普通话(国语)、广东台山话、诏安客语、藏语、雅言(中国古代通用语)和韩语(试验中),英语则通过eSpeak或Festival间接实现。Ekho支持Linux、Windows和Android平台。

下载地址:

Ekho(余音) - 中文语音合成软件(支持粤语、普通话)http://www.eguidedog.net/cn/ekho_cn.php

ekho库在linux环境中安装使用(imx6ull平台)

链接:

https://pan.baidu.com/s/1FRVDmCo9PzjYmbq4vI4Keg?pwd=myqq

ekho库在ubuntu环境中安装使用

使用平台

处理器型号 rk3399/rk3399pro/rk3588

tar xvf ekho-8.6.tar.xz
cd ekho-8.6
#这些必须安装的库、若不安装无法编译通过ekho库
apt-get install espeak-ng libsndfile1-dev libespeak-ng-dev pulseaudio libpulse-dev espeak-data -y
#这些是可选择安装的库,不影响ekho源码库安装
apt-get install espeak-ng libespeak-ng-dev libsndfile1-dev libpulse-dev libncurses5-dev libestools-dev festival-dev libvorbis-dev libmp3lame-dev libdotconf-dev texinfo pulseaudio libpulse-ocaml-dev -y
./configure
make
make install

指定声卡

查看可用声卡设备

pacmd list-cards

编辑 /etc/pulse/client.conf 文件中的对应信息并保存

default-sink = alsa_output.platform-es8316-sound.stereo-fallback
default-source = alsa_input.platform-es8316-sound.stereo-fallback
autospawn = no

ekho实际使用中遇到的pulseaudio不支持root用户使用问题

修改 /etc/systemd/system/pulseaudio.service 文件并保存

[Unit]
Description=PulseAudio system server

[Service]
Type=notify
ExecStart=/usr/bin/pulseaudio --daemonize=no --system --realtime --log-target=journal

[Install]
WantedBy=multi-user.target

使能pulseaudio服务

sudo systemctl --system enable pulseaudio.service
sudo systemctl --system start pulseaudio.service
sudo systemctl --system status pulseaudio.service

编辑 /etc/pulse/client.conf 文件并保存

default-server = /var/run/pulse/native

把root用户加入pulse的用户组

sudo adduser root pulse-access

重启系统后即可在root正常使用ekho服务

问题分析

问题1:No PulseAudio daemon running, or not running as session daemon.

此报错为没有PA服务运行

解决方法:

pulseaudio --kill && pulseaudio --start

问题2:PulseAudio服务启动失败

解决方法:

将/etc/pulse/client.conf中填的值全部注销掉后重试

问题3:-bash: pacmd: command not found

此报错为没有PA服务安装

解决方法:

sudo apt install pulseaudio

问题4:Fail to init audio stream.Fail to init sound.

此报错为没有将PA服务添加root权限

参考把root用户加入pulse的用户组

猜你喜欢

转载自blog.csdn.net/quququuquq/article/details/129517104