源码下载地址:https://download.csdn.net/download/horseroll/10500847

无积分付费下载地址:https://download.csdn.net/download/HorseRoll/21113297

调用方法:

new SpeechDemo().Tts("要播放的内容");

调用后直接播放参数内容,mp3文件和wav默认保存在D盘,在方法中可以进行路径更改

封装的SpeechDemo类

using System;
using System.Collections.Generic;
using System.IO;
using Baidu.Aip.Speech;
using System.Web;
using NAudio.Wave;
using System.Media;namespace 读取语音
{public class SpeechDemo{private readonly Asr _asrClient;private readonly Tts _ttsClient;//App ID: 7948081//API Key: 1G4dOtYNSCud03x5CKM77grtCPTky2z4//Secret Key: vluE1PUsviXuoXgNaADUKgfO7kl402YGpublic SpeechDemo(){_asrClient = new Asr("1G4dOtYNSCud03x5CKM77grtCPTky2z4", "vluE1PUsviXuoXgNaADUKgfO7kl402YG");_ttsClient = new Tts("1G4dOtYNSCud03x5CKM77grtCPTky2z4", "vluE1PUsviXuoXgNaADUKgfO7kl402YG");}// 识别本地文件//public void AsrData()//{//    var data = File.ReadAllBytes("语音pcm文件地址");//    var result = _asrClient.Recognize(data, "pcm", 16000);//    Console.Write(result);//}识别URL中的语音文件//public void AsrUrl()//{//    var result = _asrClient.Recoginze(//        "http://xxx.com/待识别的pcm文件地址",//        "http://xxx.com/识别结果回调地址",//        "pcm",//        16000);//    Console.WriteLine(result);//}List<string> listdata = new List<string>();/// <summary>/// 语音文件的生成/// </summary>/// <param name="str">需要生成的语音字符</param>/// <returns></returns>public string Tts(string str){lock (this){string pathwave = @"D:\3.mp3";// 可选参数var option = new Dictionary<string, object>()                                                            {{"spd", 5}, // 语速{"vol", 10}, // 音量{"per", 0}  // 发音人,4:情感度丫丫童声};var result = _ttsClient.Synthesis(str, option);if (result.ErrorCode == 0)  // 或 result.Success{//  System.Web.HttpApplication.File.WriteAllBytes(pathwave, result.Data);var mp3FileName = pathwave;var outputFileName = mp3FileName.Substring(0, mp3FileName.Length - 3) + "wav";Mp3ToWav(mp3FileName, outputFileName);//mp3转wav文件SoundPlayer player = new SoundPlayer();//进行语音文件播放player.SoundLocation = outputFileName;player.Load(); //同步加载声音  player.Play(); //启用新线程播放  }return "";}}/// <summary>/// MP3文件转WAV/// </summary>/// <param name="mp3File">MP3文件路径</param>/// <param name="outputFile">WAV文件输出目录</param>/// <returns></returns>public static string Mp3ToWav(string mp3File, string outputFile){using (Mp3FileReader reader = new Mp3FileReader(mp3File)){var newFormat = new WaveFormat(8000, 8, 1); // 8kHz, 8bitusing (var conversionStream = new WaveFormatConversionStream(newFormat, reader)){WaveFileWriter.CreateWaveFile(outputFile, conversionStream);}return outputFile;}}/// <summary>/// 将.mp3或者其他.wav文件转为16kHz,16bit的.wav(by NAudio)/// </summary>/// <param name="filePath">转换前音频文件的路径</param>/// <returns>转换后音频文件的路径</returns>public static string Convert2Wav(string filePath){string directoryName = Path.GetDirectoryName(filePath);string fileName = Path.GetFileName(filePath);string tempDir = directoryName + "\\temp" + DateTime.Now.ToString("yyyyMMddHHmmss") + "\\";if (!Directory.Exists(tempDir)){Directory.CreateDirectory(tempDir);}if (filePath.EndsWith(".wav", StringComparison.CurrentCultureIgnoreCase)){using (var reader = new WaveFileReader(filePath)){var newFormat = new WaveFormat(8000, 8, 1); // 8kHz, 8bitusing (var conversionStream = new WaveFormatConversionStream(newFormat, reader)){WaveFileWriter.CreateWaveFile(tempDir + fileName, conversionStream);}}}else if (filePath.EndsWith(".mp3", StringComparison.CurrentCultureIgnoreCase)){using (Mp3FileReader reader = new Mp3FileReader(filePath)){var newFormat = new WaveFormat(8000, 8, 1); // 8kHz, 8bitusing (var conversionStream = new WaveFormatConversionStream(newFormat, reader)){WaveFileWriter.CreateWaveFile(tempDir + fileName, conversionStream);}}}return tempDir + fileName;}}
}

C#文字转语音,实时播放以及mp3,wav文件保存相关推荐

  1. 文字转语音+html5,JS实现文字转语音并播放

    html: div> audio> div> js: function doTTS() { var ttsDiv = document.getElementById('bdtts_d ...

  2. 微信小程序文字转语音并播放

    深知像我这种小白对不懂得绝望,希望可以帮助到别人,本文步骤较为详细 在微信小程序中,识别语音转文字或者文字转语音,可以使用官方自带的插件:微信同声传译插件 使用方法: 第一步:首先登录微信公众平台,找 ...

  3. 爬取清风网vvvdj.com播放的mp3到文件

    爬取清风网播放mp3到文件 #coding=utf-8 import contextlib import os import tempfile import requests from urllib ...

  4. 使用C#播放MP3/WAV文件的四种方式

    第一种:使用C#自带的SoundPlayer view plaincopy to clipboardprint? using System.Media; SoundPlayer sound = new ...

  5. 在XNA 3.0 项目添加声音——通过Xact播放简单的.wav文件

    问题 你想在游戏中播放声音. 注意:Zune不支持Xact,所以参见教程7-1和7-2学习如何在Zune上播放声音. 解决方案 通过使用Xact,一个XNA Game Studio 3.0自带的免费工 ...

  6. mui使用百度语音合成来制作文字转语音来播放

    百度语音合成中有对应的webapi可以使用,这个相对比较简单,废话不多说直接上代码吧.代码比较简单,老规矩不懂的在下方评论留言,觉得好就点个赞,转发请注明出处:https://blog.csdn.ne ...

  7. Linux Ubuntu 使用play命令播放音乐 mp3 wav 等文件

    1.打开一个终端(Ctrl+Alt+T),然后输入如下命令:sudo apt-get install sox 2,通过下面的命令来让 SOX 可以播放它所支持的音频格式文件:sudo apt-get ...

  8. Ubuntu播放音乐 mp3 wav

    1.打开一个终端(Ctrl+Alt+T),然后输入如下命令: sudo apt-get install sox 2.通过下面的命令来让 SOX 可以播放它所支持的音频格式文件: sudo apt-ge ...

  9. 微信小程序 - 音乐列表点击播放 / 暂停音频,流畅切换音频(支持暂停音乐后,保留音乐 “进度“ 继续播放)最好用最详细的源码示例教程,适用于wechat列表点击后播放 mp3 wav 文件的需求

    前言 网上的教程代码太臃肿且有 BUG,一行注释都没有很难读懂和改造示例. 本文提供一个干净整洁的代码示例,实现了 点击列表时,播放.暂停.切换音频,暂停时保留 "进度" 继续播放 ...

最新文章

  1. 计算机网络和机器视觉,一文读懂计算机视觉和机器人视觉
  2. LeNet试验(一) 搭建pytorch版模型及运行
  3. html(3)标签(2)
  4. 推荐系统中的Embedding
  5. Python教你迅速成为蚂蚁森林排行榜第一名
  6. 用vuejs如何实现ajax,vue.js如何实现ajax
  7. centos 7 开放指定端口
  8. 计算机考试题目czt,8级计算机组成原理本科期末试题a带答案(史岚).docx
  9. 团队作业7——第二次项目冲刺(Beta版本)
  10. 黑客帝国屏幕保护设置
  11. JSEclipse安装后无法打开js文件_火狐浏览器打开邮箱添加不了附件
  12. 河南财经政法大学计算机基础,河南财经政法大学就“忘开必修课”情况说明
  13. 使用Windows Server Backup备份与还原Hyper-V虚拟机
  14. kafka中的核心概念
  15. Echarts设置y轴值间隔
  16. HI3516D之Caffe移植
  17. 三大特性看明白中国电影市场
  18. 表示所有字符的正则表达式html,JavaScript正则表达式介绍
  19. hdfs回收站的开启
  20. IPv6 地址获取方式及工具

热门文章

  1. 循环遍历和迭代器遍历如何选择
  2. 我的关于前端一些知识点的理解《一》
  3. OSPF协议学习笔记(一)
  4. Linux下sh/bash/source/.命令的区别(转)
  5. 控制C++的内存分配
  6. red hat关于桥接模式连不上外网或者没有IP
  7. Nginx+uWSGI+Django原理
  8. Rails 添加新的运行环境
  9. 在 MOSS2007 集成 SQL Server 2008 报表服务
  10. Oracle中的 IN, NOT IN和 EXISTS, NOT EXISTS的區別