GithubHelp home page GithubHelp logo

chinesetts's Introduction

TTSChinese

Build GitHub Colab

这是一个TensorFlowTTS中文语音合成的Android demo工程。项目基于TensorFlowTTS的Android example。在此基础上做了些修改,并且针对数字的播报做了简单的转换和处理。

相关参考

  • 生成tflite文件,具体可参考此colab进行。在转换成tflite时建议大家安装最新版本的tensorflow,否则可能会导致转换后的模型在安卓手机上跑时会出现杂音的情况。
  • 修改原demo项目中的部分代码参数,具体可参考博客TensorflowTTS 中文android客户端。最关键的中文text2ids的Processor博客中没有给出,根据参考baker_mapper.json自己写了一个,汉字转拼音用的是pinyin4j的工具库,然后对照着colab上的结果进行拼接,后续计划继续完善转换播报的规则代码,例如2021/02/07的格式转换成日期的播报方式,也希望大家可以一起补充完善。

使用

添加依赖

allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}

  dependencies {
	        dependencies {
            	       implementation 'com.github.jinguangyang:ChineseTTS:1.0.0'
            	}
}

初始化

 TtsManager.getInstance().init(this);

        TtsStateDispatcher.getInstance().addListener(new OnTtsStateListener() {
            @Override
            public void onTtsReady() {
                speakBtn.setEnabled(true);
            }

            @Override
            public void onTtsStart(String text) {
            }

            @Override
            public void onTtsStop() {
            }
        });

开始语音

  TtsManager.getInstance().speak(inputText, speed, true);

结束语音

    TtsManager.getInstance().stopTts());

目前不支持按时间格式进行播报,有兴趣的大神可以完善

chinesetts's People

Contributors

jinguangyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

chinesetts's Issues

如何减少编译后的so包的大小

谢谢提供这么好的tts,我用AS编译通过了,在手机上也安装没问题,但我觉得包有点大,约110M,我去掉了X86与ARM V8,还是有40多M,我拆包看到armeabi-v7a下面有两个文件,分别是libtensorflowlite_flex_jni.so和libtensorflowlite_jni.so,第一个约46M,第二个约1.7M。我想大概是由于引入tensorflowlite引起的,想问如何把这个46M包的大小给降下来?
另外,运行后听声音似乎还是不太自然,似乎还很急促,是不是tflite的缘故?能不能加入韵律?在知乎上有一篇文章,采用的类似的方法,是用python实现的,加入了韵律,我听了作者在B站上的音频,觉得效果不错,很贴近真人。
(https://zhuanlan.zhihu.com/p/319978933)

初始化失败,使用报空了

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.air4.chinesetts.tts.InputWorker.interrupt()' on a null object reference
at com.air4.chinesetts.tts.TtsManager.stopTts(TtsManager.java:86)
at com.air4.chinesetts.tts.TtsManager.speak(TtsManager.java:91)
at com.bohai.myapplication.MainActivity$2.onClick(MainActivity.java:43)
at android.view.View.performClick(View.java:7659)
at android.view.View.performClickInternal(View.java:7636)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:30156)
at android.os.Handler.handleCallback(Handler.java:990)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8214)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1187)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.