因为是音效吗?没听到你都会说小编胡扯的,对吧。
普通话太普通,切勿吐槽,就听一下演唱装B会咯:链接:https://pan.baidu.com/s/1bo9XVHX 密码:d9lp
一、js增加音效
Loud links这个WEB音效插件可以实现按钮与图片等元素的触发交互,比如鼠标 HOVER 后出现响声,或者鼠标点击后出现响声。本插件非常轻量级,官方介绍只有1.5KB大小,使用也相当简单。
官网:https://loudlinks.rocks/
使用方法:
1、引入<script src="js/loudlinks.min.js"></script>
2、添加class
<button class="main-button button-example loud-link-hover" data-src="123" type="button" name="button">Hover over me</button>
<button class="main-button button-example loud-link-click" data-src="123" type="button" name="button">Click me</button>
<img src="https://loudlinks.rocks/images/cattoiletpaper.gif" class="loud-link-hover" data-src="123" alt="an awesome cat rolling toilet some paper">
3、添加音乐文件
文件路径sounds/mp3/123.mp3
二、百度翻译语音
var obj = $('<audio src="http://fanyi.baidu.com/gettts?lan='+to+'&text='+content+'&spd=5&source=web" autoplay="true"></audio>');
$("body").append(obj);
三、Audio实现(女生国语)
var JA_TSS_AUDIO = new Audio()
JA_TSS_AUDIO.src = 'http://tts.baidu.com/text2audio?lan=zh&pid=101&ie=UTF-8&spd=2&text='+encodeURIComponent(talk);
JA_TSS_AUDIO.play();
四、Java粤语语音合成系统 Vekou(男声粤语)
String content = "敌军还有30秒到达战场!";
ProcessCenter pc = new DefaultStreamProcess(true);
// 建立一个语音引擎,第二个参数设置是否转换为粤语口语发音
Engine engine = new SpeechEngine(pc, true);
// 任何一个String作为你想要它发音的句子
String sentences = content;
// 第一种方法:直接要它发音
engine.getPronounces(sentences);
Jar包需翻墙下载。
Vekou的诞生离不开Ekho(余音)的支持,Vekou的语音库以及初始词典全部来自于它,还有基于中科院的imdict智能词典所采用的智能中文分词程序,Vekou的底层使用到中文分词。
你可以很简单的使用它,初次尝试的时候你可以建立一个如下的Test.java文件来测试:
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.lib.speech.engine.Engine;
import org.lib.speech.engine.SpeechEngine;
import org.lib.speech.process.DefaultStreamProcess;
import org.lib.speech.process.ProcessCenter;
public class Test {
public static void main(String[] args) {
// 建造一个流处理器,参数设置是否重新读取字典文件
ProcessCenter pc = new DefaultStreamProcess(true);
// 建立一个语音引擎,第二个参数设置是否转换为粤语口语发音
Engine engine = new SpeechEngine(pc, true);
// 任何一个String作为你想要它发音的句子
String sentences = "你可以在这里尝试任何一个句子,看看它是如何发音的。";
// 第一种方法:直接要它发音
engine.getPronounces(sentences);
// 第二种方法:句子在一个txt文档中,你要它把txt中的内容读出来,第二个参数设置是否将文档内容输出到控制台显示
try {
engine.getPronounces(new File("C:/a.txt"), false);
} catch (IOException e) {
e.printStackTrace();
}
// 第三种方法:把发音保存在一个.au的声音文件中,目前只支持保存到这种文件,当然你也可以自己扩展
try {
engine.getPronouncesFile(sentences, new File(
"C:/a.au"));
} catch (IOException e) {
e.printStackTrace();
}
// 另外,如果你想获得初始的发音素材,可以这样显示到控制台
List<Object[]> list = engine.getPronounceElements(sentences);
Iterator<Object[]> iter = list.iterator();
while (iter.hasNext()) {
Object[] obj = iter.next();
if (obj[0] instanceof File) {
for (int i = 0; i < obj.length; i++) {
File file = (File) obj[i];
System.out.print(file.getName() + " ");
}
} else {
for (int i = 0; i < obj.length; i++) {
System.out.print(obj[i] + " ");
}
}
System.out.println();
}
}
}
project及lib下载请移步到以下网站:
http://code.google.com/p/vekou/
顾及一些童鞋不能翻墙,小编整理好了需要的资料:链接:https://pan.baidu.com/s/1qXNeE7a 密码:e6w0
按以下步骤可使用java合成粤语声音:
1、新建一个java poject,编码为UTF-8
2、导入jar包
3、编写main方法
String content = "敌军还有30秒到达战场!";
ProcessCenter pc = new DefaultStreamProcess(true);
// 建立一个语音引擎,第二个参数设置是否转换为粤语口语发音
Engine engine = new SpeechEngine(pc, true);
// 任何一个String作为你想要它发音的句子
String sentences = content;
// 第一种方法:直接要它发音
engine.getPronounces(sentences);
4、在工作空间的根目录新建两位文件夹properties和data
properties放如下:
data放如下:
v7文件夹就是一个个wav声音文件:
全部声音文件就130多M
5、ctrl+F11运行main方法
还有很多方法实现语音的。。。。欢迎补充。。。
需要所有源代码,可加QQ490647751获取。。。