首先进行整个项目的克隆
git clone https://github.com/hgneng/ekho.git
然后,去对应下载页下载需要的语音文件
https://sourceforge.net/projects/e-guidedog/files/Ekho-Voice-Data/0.2/
比如我需要台山话,按以下步骤配置:
然后修改 Dockerfile 配置,用本地项目启动:
# Local Dockerfile for Ekho - 使用本地源码构建
FROM jess/pulseaudio AS base
USER root
RUN apt-get update && apt-get install --no-install-recommends -y \
libc6 \
libespeak-ng1 \
libpulse0 \
libsndfile1 \
&& rm -rf /var/lib/apt/lists/*
USER pulseaudio
FROM base AS builder
USER root
RUN apt-get update && apt-get install --no-install-recommends -y \
autoconf \
automake \
libtool \
g++ \
gcc \
libc6-dev \
libespeak-ng-dev \
libpulse-dev \
libsndfile1-dev \
make \
libutfcpp-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /home/pulseaudio/ekho
# 复制本地源码
COPY . /home/pulseaudio/ekho/
# 生成 configure 脚本
RUN dos2unix autogen.sh || (sed -i 's/\r$//' autogen.sh)
RUN ./autogen.sh
# 配置和编译
RUN ./configure --disable-dependency-tracking
RUN make
# 安装二进制文件
RUN mkdir -p /usr/local/bin /usr/local/include /usr/local/share
RUN cp ekho /usr/local/bin/
RUN cp src/*.h /usr/local/include/
RUN cp -R ekho-data /usr/local/share/
USER pulseaudio
FROM base as runner
USER root
COPY --from=builder /usr/local/ /usr/local/
USER pulseaudio
ENTRYPOINT [ "ekho" ]
CMD [ "--help" ]
最后,执行命令(我的执行环境为 windows cmd):
docker run --rm -v "./output:/output" --user root --entrypoint sh ekho-local:latest -c "mkdir -p /output && ekho -v Toisanese \"你好犀利哇\" -o /output/toisanese_hello.wav && ls -lh /output/"
首先进行整个项目的克隆
然后,去对应下载页下载需要的语音文件
比如我需要台山话,按以下步骤配置:
.wav文件解压到项目的ekho-data\toisanese\;然后修改 Dockerfile 配置,用本地项目启动:
最后,执行命令(我的执行环境为 windows cmd):