linux安装部署mysql资料

安装虚拟机

等待检查完成

选择中文

软件选择

网络和主机名

开始安装

设置root密码 ADH-password

创建用户

等待安装完成

重启

接受许可证

Centos 7 64安装完成

安装mysql开始

Putty连接指定服务器

在 opt目录下新建download目录 将mysql文件传到该目录下

查看linux服务器的版本,并下载相符合的mysql版本

使用filezilla工具进行文件传输

不知道linux系统机构的,可以执行如下命令查看系统处理器架构 uname -m

若不知道自己的系统信息,可以执行如下命令 cat /etc/os-release

解压文件 tar -xvf mysql-8.0.40-linux-glibc2.17-x86_64.tar.xz

移动文件到/usr/local/mysql路径下

mv mysql-8.0.40-linux-glibc2.17-x86_64 /usr/local/mysql

当/usr/losal/msyql路径不存在时,会自动创建

创建data目录,存储MySQL数据

cd /usr/local/mysql

mkdir data

MySQL错误日志路径

mkdir data/error

日志文件

touch data/error/mysql.log

临时文件

mkdir data/tmp

创建用户并添加用户组

groupadd mysql #创建mysql用户组

useradd -g mysql mysql #创建用户mysql,并指定用户的组

为mysql用户分配文件权限

chown -R mysql:mysql /usr/local/mysql

chmod 750 /usr/local/mysql/data

查看/usr/local/mysql文件权限

ll -al /usr/local/mysql

修改or创建mysql的配置文件

vim /etc/my.cnf

[mysqld]

bind-address=0.0.0.0

端口

port=3306

用户

user=mysql

mysql根路径

basedir=/usr/local/mysql

mysql数据路径

datadir=/usr/local/mysql/data

[mysqld_safe]

会话信息

socket=/usr/local/mysql/data/tmp/mysql.sock

错误日志路径

log-error=/usr/local/mysql/data/error/mysql.log

进程存放路径

pid-file=/usr/local/mysql/data/mysql.pid

#character config

服务编码格式

character_set_server=utf8mb4

symbolic-links=0为是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启

symbolic-links=0

对column属性是timestamp的处理模式,默认OFF

explicit_defaults_for_timestamp=ON

关闭MySQL的only_full_group_by模式

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

#忽略表名大小写

lower_case_table_names=1

[client]

客户端默认编码格式

default-character-set=utf8mb4

socket=/usr/local/mysql/data/tmp/mysql.sock

删掉注释后的内容

[mysqld_safe]

socket=/usr/local/mysql/data/tmp/mysql.sock

log-error=/usr/local/mysql/data/error/mysql.log

pid-file=/usr/local/mysql/data/mysql.pid

character_set_server=utf8mb4

symbolic-links=0

explicit_defaults_for_timestamp=ON

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

lower_case_table_names=1

[client]

default-character-set=utf8mb4

socket=/usr/local/mysql/data/tmp/mysql.sock

创建mysql-server服务

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

/etc/init.d 目录通常用于存放启动脚本,这些脚本用于管理系统服务的启动、停止和重启。

授权授权以及添加服务

chmod +x /etc/init.d/mysql

chkconfig --add mysql

检查mysql服务是否生效

chkconfig --list mysql

数据库初始化

切换到/usr/local/mysql/bin目录下

cd /usr/local/mysql/bin

执行数据库初始化命令

./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

执行报错 解决如下

再次执行成功,一定要记住初始化的密码

这是这次初始化的密码:JyV%fGC!d1Bc

环境配置与服务启动

配置 MySQL 全局变量

编辑配置文件

vim /etc/profile.d/mysql_home.sh

写入下面参数配置,:wq!保存退出。

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH

设置环境变量立即生效使用source /etc/profile命令

source /etc/profile

启动MySQL服务

service mysql start

报错:解决文件不存在的问题

上传error文件到data目录下

上传tmp文件到data目录下

报错如下 【Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/192.168.1.100.pid).】

解决上面错误

检查权限问题

确保 MySQL 数据目录(/usr/local/mysql/data)及其子目录和文件对 MySQL 用户是可写的。你可以使用 chown 和 chmod 命令来设置正确的权限。

sudo chown -R mysql:mysql /usr/local/mysql/data

sudo chmod -R 755 /usr/local/mysql/data

再运行service mysql start:启动成功

修改密码

使用上述初始化是的原始密码,登录 MySQL 服务

mysql -uroot -p

修改mysql数据库密码,注意:此处adh-password修改为自己的需要密码即可。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'adh-password';

刷新权限配置&退出

flush privileges;

exit;

重启MySQL服务

service mysql restart

设置远程登录

use mysql;

设置允许远程访问

update user set host='%' where user='root';

刷新权限配置&退出

flush privileges;

exit;

使用Navicat Premium 16工具进行登录验证

新建数据库

创建数据库

运行sql文件

选择好之前备份的sql文件

点击开始

导入完成

再次手动刷新一下库的表

刷新成功,导入成功

Linux系统会对大小写有具体区分

检查是否有任何拼写错误或大小写不匹配的问题(MySQL 在某些操作系统上对表名的大小写敏感)。

关闭防火墙

禁用防火墙: systemctl stop firewalld

禁用开机防火墙 systemctl disable firewalld.service

在usr目录下新建Java目录,然后将下载的JDK拷贝到这个新建的Java目录中

创建目录命令:mkdir /usr/java

上传jdk文件到创建的目录下

进入到Java目录中解压下载的JDK

解压命令:tar -zxvf jdk-8u371-linux-x64.tar.gz

设置环境变量

设置命令:vim /etc/profile

输入上面的命令后,shift+g快速将光标定位到最后一行,然后按"i",再输入下面代码

export JAVA_HOME=/usr/java/jdk1.8.0_371

export PATH=JAVA_HOME/bin:PATH

输入下面命令让设置的环境变量生效

source /etc/profile

验证 JDK 是否安装成功 java -version

安装tomcat

上传tomcat到目录下

解压命令:tar -zxvf apache-tomcat-9.0.76.tar.gz

在webapps目录下新建目录

上传项目到新建目录下

并进行解压 unzip ARRANGE_V2_Mysql.zip

进行server.xml的项目配置化

在适当位置添加该语句

<Context path="/arrange" docBase="itemArrangeMZ/ARRANGE_V2_Mysql" />

部署完成,运行项目

--进入tomcat的bin目录

cd /home/ioas/Tomcat/apache-tomcat-9.0.76/bin

--运行可查看日志

./catalina.sh run

--直接运行

./startup.sh

项目运行成功

浏览器访问http://192.168.1.100:8080/arrange

设置jdk环境变量的语句 export JAVA_HOME=/usr/java/jdk1.8.0_371

Tomcat设置如何开机自启

创建 tomcat 服务配置文件 vim /etc/init.d/tomcat

JAVA_HOME、CATALINA_HOME改成自己本地对应的路径

#!/bin/bash

description: Tomcat Start Stop Restart

processname: tomcat

chkconfig: 2345 20 80

#idea - tomcat config start

#!/bin/bash

description: Tomcat Start Stop Restart

processname: tomcat

chkconfig: 2345 20 80

JAVA_HOME=/usr/java/jdk1.8.0_371

export JAVA_HOME

PATH=JAVA_HOME/bin:PATH

export PATH

CATALINA_HOME=/usr/java/apache-tomcat-9.0.76

case $1 in

start)

sh $CATALINA_HOME/bin/startup.sh

;;

stop)

sh $CATALINA_HOME/bin/shutdown.sh

;;

restart)

sh $CATALINA_HOME/bin/shutdown.sh

sh $CATALINA_HOME/bin/startup.sh

;;

esac

exit 0

#chmod 755 tomcat

#chkconfig --add tomcat

#chkconfig --level 2345 tomcat on

给文件授权 chmod +x /etc/init.d/tomcat

添加到服务列表 chkconfig --add /etc/init.d/tomcat

查看服务列表 chkconfig --list

2,3,4,5都是开表示随系统而启动

启动 tomcat命令 service tomcat start

关闭 tomcat命令 service tomcat stop

重启 tomcat命令 service tomcat restart

实时查看tomcat日志

进入到tomcat的安装目录的logs目录下 运行 tail -f catalina.out

使用 crontab 设置定时重启服务

编写重启tomcat服务的脚本

首先,你需要编写一个 Shell 脚本来重启指定的服务。例如,如果你要重启 Apache HTTP 服务器(通常服务名为 apache2 或 httpd),可以创建一个名为 restart_service.sh 的脚本

确保脚本具有执行权限

chmod +x restart_service.sh

编辑 crontab 文件

使用 crontab -e 命令打开 crontab 编辑器。

添加定时任务

crontab 编辑器中,添加一行来指定定时任务和要执行的脚本。 crontab 的时间格式如下:

请将 /path/to/restart_service.sh 替换为你实际脚本的路径。

59 17 * * * /usr/java/restartTask/restart_service.sh

验证定时任务

你可以通过以下命令查看当前用户的 crontab 定时任务列表,以确保你的任务已正确添加:

crontab -l

关于科大讯飞对接知识(Linux版本)

访问科大讯飞的网站 离线语音合成 - 语音合成 - 讯飞开放平台

点击服务管理 进行sdk的下载

网站下载地址 控制台-讯飞开放平台

下载相对应的sdk版本

这是我本地已下载好的sdk

将下载的sdk文件上传到 /usr/local/tts_server/env/voice 该路径下(没有该目录请依次创建目录)

解压sdk包

解压成功

在新建一个MyDemo的文件夹

然后将 bin、include、libs文件拷到新建的MyDemo文件夹下

命令如下

cd Mydemo

cp ../bin/ ../include/ ../libs/ . -rf

在将/usr/local/tts_server/env/voice/samples 文件夹下的tts_offline_sample拷贝到MyDemo文件夹下

命令如下

cp ../samples/tts_offline_sample . -rf

进入到/usr/local/tts_server/env/voice/Mydemo/tts_offline_sample 的文件夹下 对64bit_make.sh的内容进行修改

命令如下

vim 64bit_make.sh

修改如下

再对 /usr/local/tts_server/env/voice/Mydemo/tts_offline_sample 的文件夹下 对Makefile的内容进行修改

命令如下

vim Makefile

修改如下

对 64bit_make.sh 进行source

命令如下

source 64bit_make.sh

再进行make

Make完之后会在/usr/local/tts_server/env/voice/Mydemo/bin 文件夹下生成 tts_offline_sample该文件

随后我们进行该文件命令的执行

./tts_offline_sample

可以看到语音文件生成成功 ,可以下载到本地进行播放

到该处说明科大讯飞的sdk安装部署完成成功

下一步进行代码的改动、参数可配置话和环境部署

为了实现可配置话,我们需要对/usr/local/tts_server/env/voice/MyDemo/tts_offline_sample 目录下的tts_offline_sample.c 文件进行改造

修改如图

const char* base_path = "/usr/java/apache-tomcat-9.0.76/webapps/itemArrangeMZ/ARRANGE_V2_Mysql/tts/";

注意此处的生成路径是固定的值;需要修改

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| /* * 语音合成(Text To Speech,TTS)技术能够自动将任意文字实时转换为连续的 * 自然语音,是一种能够在任何时间、任何地点,向任何人提供语音信息服务的 * 高效便捷手段,非常符合信息时代海量数据、动态更新和个性化查询的需求。 */ #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <inttypes.h> #include <sys/types.h> #include <sys/stat.h> #include <time.h> #include "../include/qtts.h" #include "../include/msp_cmn.h" #include "../include/msp_errors.h" typedef int SR_DWORD; typedef short int SR_WORD ; /* wav音频头部格式 */ typedef struct _wave_pcm_hdr { char riff[4]; // = "RIFF" int size_8; // = FileSize - 8 char wave[4]; // = "WAVE" char fmt[4]; // = "fmt " int fmt_size; // = 下一个结构体的大小 : 16 short int format_tag; // = PCM : 1 short int channels; // = 通道数 : 1 int samples_per_sec; // = 采样率 : 8000 | 6000 | 11025 | 16000 int avg_bytes_per_sec; // = 每秒字节数 : samples_per_sec * bits_per_sample / 8 short int block_align; // = 每采样点字节数 : wBitsPerSample / 8 short int bits_per_sample; // = 量化比特数: 8 | 16 char data[4]; // = "data"; int data_size; // = 纯数据长度 : FileSize - 44 } wave_pcm_hdr; /* 默认wav音频头部数据 */ wave_pcm_hdr default_wav_hdr = { { 'R', 'I', 'F', 'F' }, 0, {'W', 'A', 'V', 'E'}, {'f', 'm', 't', ' '}, 16, 1, 1, 16000, 32000, 2, 16, {'d', 'a', 't', 'a'}, 0 }; /* 文本合成 */ int text_to_speech(const char* src_text, const char* des_path, const char* params) { int ret = -1; FILE* fp = NULL; const char* sessionID = NULL; unsigned int audio_len = 0; wave_pcm_hdr wav_hdr = default_wav_hdr; int synth_status = MSP_TTS_FLAG_STILL_HAVE_DATA; if (NULL == src_text || NULL == des_path) { printf("params is error!\n"); return ret; } fp = fopen(des_path, "wb"); if (NULL == fp) { printf("open %s error.\n", des_path); return ret; } /* 开始合成 */ sessionID = QTTSSessionBegin(params, &ret); if (MSP_SUCCESS != ret) { printf("QTTSSessionBegin failed, error code: %d.\n", ret); fclose(fp); return ret; } ret = QTTSTextPut(sessionID, src_text, (unsigned int)strlen(src_text), NULL); if (MSP_SUCCESS != ret) { printf("QTTSTextPut failed, error code: %d.\n",ret); QTTSSessionEnd(sessionID, "TextPutError"); fclose(fp); return ret; } fwrite(&wav_hdr, sizeof(wav_hdr) ,1, fp); //添加wav音频头,使用采样率为16000 while (1) { /* 获取合成音频 */ const void* data = QTTSAudioGet(sessionID, &audio_len, &synth_status, &ret); if (MSP_SUCCESS != ret) break; if (NULL != data) { fwrite(data, audio_len, 1, fp); wav_hdr.data_size += audio_len; //计算data_size大小 } if (MSP_TTS_FLAG_DATA_END == synth_status) break; } printf("\n"); if (MSP_SUCCESS != ret) { printf("QTTSAudioGet failed, error code: %d.\n",ret); QTTSSessionEnd(sessionID, "AudioGetError"); fclose(fp); return ret; } /* 修正wav文件头数据的大小 */ wav_hdr.size_8 += wav_hdr.data_size + (sizeof(wav_hdr) - 8); /* 将修正过的数据写回文件头部,音频文件为wav格式 */ fseek(fp, 4, 0); fwrite(&wav_hdr.size_8,sizeof(wav_hdr.size_8), 1, fp); //写入size_8的值 fseek(fp, 40, 0); //将文件指针偏移到存储data_size值的位置 fwrite(&wav_hdr.data_size,sizeof(wav_hdr.data_size), 1, fp); //写入data_size的值 fclose(fp); fp = NULL; /* 合成完毕 */ ret = QTTSSessionEnd(sessionID, "Normal"); if (MSP_SUCCESS != ret) { printf("QTTSSessionEnd failed, error code: %d.\n",ret); } return ret; } int ensure_directory_exists(const char* path) { // 使用F_OK检查文件(或文件夹)是否存在 if (access(path, F_OK) != -1) { // 路径存在,可能是文件或文件夹,但我们假设它是文件夹(这里不进一步区分) printf("\n"); printf("1"); return 0; // 成功,路径已存在 } else { // 路径不存在,尝试创建文件夹 // 注意:mkdir的第二个参数设置了文件夹的权限(如0755表示rwxr-xr-x) if (mkdir(path, 0755) != 0) { // 创建文件夹失败 printf("\n"); printf(path); printf("\n"); printf("2"); printf("\n"); perror("mkdir failed"); return -1; // 失败 } } return 0; // 成功(无论是已存在还是新创建) } char* create_filename(const char* file_path) { const char* base_path = "/usr/java/apache-tomcat-9.0.76/webapps/itemArrangeMZ/ARRANGE_V2_Mysql/tts/"; char date_str[11]; // "YYYY_MM_DD"格式最多需要10个字符+1个空字符 char directory_path[256]; // 足够大的缓冲区来存储完整路径 // 获取当前日期并格式化为"YYYY_MM_DD" time_t rawtime; struct tm *timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); strftime(date_str, sizeof(date_str), "%Y-%m-%d", timeinfo); // 构建完整路径 snprintf(directory_path, sizeof(directory_path), "%s%s%s", base_path, date_str,"/"); ensure_directory_exists(directory_path); const char* extension = ".wav"; // 计算所需的总长度(包括null终止符) size_t total_length = strlen(directory_path) + strlen(file_path) + strlen(extension) + 1; // 动态分配内存来存储完整的文件名 char* filename = (char*)malloc(total_length * sizeof(char)); if (filename == NULL) { perror("malloc failed"); return NULL; // 内存分配失败时返回NULL } // 使用snprintf来安全地拼接字符串 snprintf(filename, total_length, "%s%s%s", directory_path, file_path, extension); return filename; } int main(int argc, char* argv[]) { /*解析入口参数*/ /**tts文本*/ const char* tts_txt = argv[1]; printf("ttswenben:"); printf(tts_txt); printf("\n"); /*生成文件存储文件名字*/ const char* file_path=argv[2]; printf(file_path); printf("\n"); /*tts发声参数*/ const char* tts_param=argv[3]; printf(tts_param); printf("\n"); int ret = MSP_SUCCESS; const char* login_params = "appid =8c3c5635, work_dir = .";//登录参数,appid与msc库绑定,请勿随意改动 /* * rdn: 合成音频数字发音方式 * volume: 合成音频的音量 * pitch: 合成音频的音调 * speed: 合成音频对应的语速 * voice_name: 合成发音人 * sample_rate: 合成音频采样率 * text_encoding: 合成文本编码格式 * */ const char* session_begin_params = tts_param; printf(session_begin_params); const char* filename = create_filename(file_path); const char* text = tts_txt; /* 用户登录 */ ret = MSPLogin(NULL, NULL, login_params); //第一个参数是用户名,第二个参数是密码,第三个参数是登录参数,用户名和密码可在http://www.xfyun.cn注册获取 if (MSP_SUCCESS != ret) { printf("MSPLogin failed, error code: %d.\n", ret); MSPLogout(); //退出登录 return 0; } /* 文本合成 */ ret = text_to_speech(text, filename, session_begin_params); if (MSP_SUCCESS != ret) { printf("text_to_speech failed, error code: %d.\n", ret); } MSPLogout(); //退出登录 return 0; } |

更新修改文件

更新完之后,需要进入到/usr/local/tts_server/env/voice/Mydemo/tts_offline_sample 的目录下再次进行

命令如下

source 64bit_make.sh

make

修改完之后 我们可以在/usr/local/tts_server/env/voice/MyDemo/bin 目录下进行测试

命令如下

tts测试 是生成的文字

ewr5we 是命名的wav文件名

./tts_offline_sample "tts测试" ewr5we "engine_type = local,voice_name=xiaoyan, text_encoding = UTF8, tts_res_path = fo|res/tts/xiaoyan.jet;fo|res/tts/common.jet, sample_rate = 16000, speed = 50, volume = 50, pitch = 50, rdn = 2"

执行完之后,可以看到语音文件已经成功生成

以上就是执行的可变参数,但是java调用只能调用Linux的sh脚本,所以我们需要新建一个脚本来供给java进行调用

脚本命令如下

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 脚本名称为 tts_test.sh |
| #!/bin/bash # 定义要source的文件的绝对路径 SOURCE_SCRIPT="/usr/local/tts_server/env/voice/MyDemo/tts_offline_sample/64bit_make.sh" # 定义make命令要执行的目录的绝对路径 MAKE_DIRECTORY="/usr/local/tts_server/env/voice/MyDemo/tts_offline_sample" # 检查source脚本是否存在 if [ ! -f "SOURCE_SCRIPT" \]; then echo "Error: Source script 'SOURCE_SCRIPT' not found!" exit 1 fi # source该脚本 source "SOURCE_SCRIPT" # 切换到make命令要执行的目录(如果需要的话) # 注意:如果64bit_make.sh已经设置了必要的环境变量,并且这些变量对make命令有效, # 那么可能不需要下面的cd命令。这取决于64bit_make.sh的具体内容。 # cd "MAKE_DIRECTORY" # 执行make命令 make -C "$MAKE_DIRECTORY" # 检查make命令的退出状态 if [ $? -ne 0 ]; then echo "Error: Make command failed!" exit 1 fi echo "Make command completed successfully." /usr/local/tts_server/env/voice/MyDemo/bin/tts_offline_sample "$1" $2 "engine_type = local,voice_name=xiaoyan, text_encoding = UTF8, tts_res_path = fo|/usr/local/tts_server/env/voice/MyDemo/bin/msc/res/tts/xiaoyan.jet;fo|/usr/local/tts_server/env/voice/MyDemo/bin/msc/res/tts/common.jet, sample_rate = 16000, speed = 50, volume = 50, pitch = 50, rdn = 2" |

直接上传脚本

由于脚本执行的是绝对路径,所以我们需要修改/usr/local/tts_server/env/voice/Mydemo/tts_offline_sample目录下的64bit_make.sh和Makefile文件下的目录

如果不修改会报如下的错误

修改如图

64bit_make.sh文件修改如图

Makefile文件修改如图

修改完之后 直接进行呼叫测试

成功呼叫

语音文件也成功生成

相关推荐
子非衣22 分钟前
MySQL修改JSON格式数据示例
android·mysql·json
钊兵1 小时前
数据库驱动免费下载(Oracle、Mysql、达梦、Postgresql)
数据库·mysql·postgresql·oracle·达梦·驱动
lllsure3 小时前
Linux 实用指令
linux·物联网
隔壁老王1563 小时前
mysql实时同步到es
数据库·mysql·elasticsearch
努力的小T4 小时前
使用 Docker 部署 Apache Spark 集群教程
linux·运维·服务器·docker·容器·spark·云计算
Nerd Nirvana4 小时前
OpenSSL crt & key (生成一套用于TLS双向认证的证书密钥)
linux·ssl·shell·认证·加密·tls·oepnssl
letisgo55 小时前
记录一次部署PC端网址全过程
linux·阿里云·服务器运维
猫猫的小茶馆5 小时前
【网络编程】UDP协议
linux·服务器·网络·网络协议·ubuntu·udp
尚墨11115 小时前
linux 安装启动zookeeper全过程及遇到的坑
linux·zookeeper