精华内容
下载资源
问答
  • 我在网上查了很多,想用频谱的办法获取整幅较小的地方不知道这样可不可以,该如何做
  • alert('请先录制一段声音'); return; } wx.playVoice({ localId: voice.localId }); } }; //删除语音,重新录音; document.querySelector('#deleteVoice'...

    网上查了很多资料,自己在总结一下,感谢各位大佬提供的资料。

    页面

    <div class="lbox_close wxapi_form">
    		<button class="btn btn_primary" id="startRecord">开始</button>
    		<button class="btn btn_primary" id="deleteVoice">删除</button>
    		<button class="btn btn_primary" id="uploadVoice">确认</button>
    	</div>
    
    <script>
    	//文档加载完后立即执行
    	wx.config({
    		debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    		appId: '{$sign["appId"]}', // 必填,公众号的唯一标识
    		timestamp: {$sign['timestamp']}, // 必填,生成签名的时间戳
    		nonceStr: '{$sign["nonceStr"]}', // 必填,生成签名的随机串
    		signature: '{$sign["signature"]}',// 必填,签名
    		jsApiList: [
    			"startRecord",
    			"stopRecord",
    			"onVoiceRecordEnd",
    			"playVoice",
    			"pauseVoice",
    			"stopVoice",
    			"onVoicePlayEnd",
    			"uploadVoice",
    			"downloadVoice",]// 必填,需要使用的JS接口列表
    	});
    
    	wx.ready(function () {
    				var voice = {
    					localId: '',
    					serverId: ''
    				};
    				var startRecord = document.querySelector('#startRecord');
    				var stopClearTimeout;
    				startRecord.onclick = function () {
    					//开始录音
    					if(startRecord.innerHTML == '开始'){
    						wx.startRecord({
    							success: function(){
    								startRecord.innerHTML = '停止';
    								//30秒后自动停止;
    								stopClearTimeout = setTimeout(function(){
    									wx.stopRecord({
    										success: function (res) {
    											voice.localId = res.localId;
    											startRecord.innerHTML = '试听';
    										}
    									});
    								},30000);
    							}
    						});
    					}
    
    					//结束录音
    				if(startRecord.innerHTML =='停止'){
    						wx.stopRecord({
    							success: function (res) {
    								clearTimeout(stopClearTimeout);
    								startRecord.innerHTML = '试听';
    								voice.localId = res.localId;
    							},
    							fail: function (res) {
    								alert(JSON.stringify(res));
    							}
    						});
    					}
    
    					//试听音频
    				if(startRecord.innerHTML =='试听'){
    						if (voice.localId == '') {
    							alert('请先录制一段声音');
    							return;
    						}
    						wx.playVoice({
    							localId: voice.localId
    						});
    					}
    
    				};
    
    				//删除语音,重新录音;
    				document.querySelector('#deleteVoice').onclick = function(){
    					voice.localId = '';
    					startRecord.innerHTML = '开始';
    				};
    
    				//确认上传语音
    				document.querySelector('#uploadVoice').onclick = function () {
    					if (voice.localId == '') {
    						alert('请先录制一段声音');
    						return;
    					}
    					wx.uploadVoice({
    						localId: voice.localId, // 本地微信语音文件标识
    						isShowProgressTips: 1, // 开启上传提示
    						success: function (res) {
    							//上传成功后从微信服务器下保存
    							voice.serverId = res.serverId;
    							$.ajax({
    								url: '/mobile/member/luyin.php?action=save',//后台接收数据地址
    								type: 'post',
    								data: {'id': voice.serverId},
    								success: function (msg) {
    									if(msg == 1){
    										alert('上传成功!');
    									}
    								}
    							});
    
    						},
    						error:function(res){
    
    							alert("上传失败");
    						}
    					});
    				};
    
    			});
    
    
    		wx.error(function (res) {
    			 alert("出现错误请重试:"+res.errMsg);
    		});
    </script>
    

    后台接收数据保存部分,使用到了ffmpeg,将amr格式的文件转换为MP3

    	$id=$_POST['id'];
    		$now=time();
    		$url="http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=$access_token&media_id=$id";
    		$targetName =  DT_ROOT .'/file/upload/123/'.$now.'.amr';   //保存目录,格式为www/wwwroot/http:...../。。.amr;
    		ob_start();
    		readfile($url);
    		$luyin  = ob_get_contents();
    		ob_end_clean();
    		$size = strlen($luyin);
    		$fp = fopen($targetName, 'a');
    		fwrite($fp, $luyin);
    		fclose($fp);
    		
    		// 将 amr 文件格式转换成 mp3 格式  ,不需要转换的在这里就结束了,当然了可以写个语句把MP3的路径保存起来,方便调用,下一篇讲一下ffmpeg的安装使用。
    		$amrFile = DT_ROOT .'/file/upload/123/'.$now.'.amr';
    		$mp3File =  DT_ROOT .'/file/upload/123/'.$now.'.mp3';
    		// 调用PHP命令,将amr格式文件转换为mp3
    		$command = "ffmpeg -i " . $amrFile . " " . $mp3File . " 2>&1";
    		$a1=exec($command, $output1,$return1);
    		$a2=$a1.'|'.$output1.'|'.$return1;
    		//var_dump($al);
    		$videourl=$CFG['url'] .'/file/upload/123/'.$now.'.mp3';//类似http:....../时间戳.mp3
    //		$videourl=$mp3File;
    		$names=$_username;
    		$db->query("INSERT INTO {$DT_PRE}sound_record (userid,username,soundrecord,addtime,status) VALUES ('$_userid','$names','$videourl','$now','1')");
    		echo 1;
    		exit;
    

    转载自:微信 JS-SDK 录音功能开发

    展开全文
  • 剪切音频中的一部分,简单点来说,就是把音频中的部分内容给去掉。比如说:一个音频有50秒,我想把其中20~40秒的内容去掉,只保留另外一部分内容。但是因为要去掉的视频部分精确到了秒,所以就需要设置相应的起止...

    剪切音频中的一部分,简单点来说,就是把音频中的部分内容给去掉。比如说:一个音频有50秒,我想把其中20~40秒的内容去掉,只保留另外一部分内容。但是因为要去掉的视频部分精确到了秒,所以就需要设置相应的起止时间,然后再去掉选中的部分。什么音频转换器能截取音频?这个就是我们今天的看点了。

    操作步骤:

    双击运行迅捷音频转换器,点击软件主界面上的“音频剪切”。 如下图所示,会跳转到音频剪切界面。

    点击界面上的“添加文件”,在打开对话框中选择要添加的音频素材,然后点击“打开”。(这个工具很适合新手小白,操作简单,并且功能齐全。)

    其实很简单,通过直接拖动播放进度条两端的截取条来确定需要截取的音频片段,左边的表示开始时间,右边的表示结束时间;接下来选中截取后的音频,点击确定就可以回到主界面了。

    设置音频输出目录,最后点击“开始剪切”按钮。大家不要再有什么软件能截取音频这样的疑惑了,我们这里已经解决了哈。

    界面上方会显示音频剪切输出的进度,根据音频的大小,输出所需时间也会有所不同,不过一般情况下音频输出的速度都还是挺快的。

    以上就是剪切音频的方法了,在上面的操作中,我们截取的是需要保留的部分,大家在操作的时候可要看仔细了,不要弄错。

    展开全文
  • 功能非常简单,把长段录音截断,控制在60s以内。 为什么要截短,当然是为了接百度语音识别的API 全文参考了下文: https://blog.csdn.net/watfe/article/details/80284242?utm_source=app #本程序用于把长段的音频...

    功能非常简单,把长段录音截断,控制在60s以内。

    为什么要截短,当然是为了接百度语音识别的API

    全文参考了下文:
    https://blog.csdn.net/watfe/article/details/80284242?utm_source=app

    #本程序用于把长段的音频文件按照语气停顿进行截取
    #操作注意:拷贝代码后把path改成自己的目标文件即可
    from pydub import AudioSegment
    from pydub.silence import split_on_silence
    import os
    
    path = "G:/a.wav"
    audiotype = 'wav'
    sound = AudioSegment.from_file(path, format=audiotype)
    sound = sound[:3*60*1000]
     
    print('开始分割')
    chunks = split_on_silence(sound,min_silence_len=1000,silence_thresh=-70)#min_silence_len: 拆分语句时,静默满1秒则拆分。silence_thresh:小于-70dBFS以下的为静默。
    # 创建保存目录
    filepath = os.path.split(path)[0]
    chunks_path = filepath+'/chunks/'
    if not os.path.exists(chunks_path):os.mkdir(chunks_path)
    # 保存所有分段
    print('开始保存')
    for i in range(len(chunks)):
        new = chunks[i]
        save_name = chunks_path+'%04d.%s'%(i,audiotype)
        new.export(save_name, format=audiotype)
        print('%04d'%i,len(new))
    print('保存完毕')
    
    展开全文
  • python录音

    千次阅读 2019-05-23 18:49:01
    PyAudio 实现录音 自动化交互实现问答 Python 很强大其原因就是因为它庞大的三方库 , 资源是非常的丰富 , 当然也不会缺少关于音频的库 关于音频, PyAudio 这个库, 可以实现开启麦克风录音, 可以播放音频文件等等,...

     PyAudio 实现录音 自动化交互实现问答

    Python 很强大其原因就是因为它庞大的三方库 , 资源是非常的丰富 , 当然也不会缺少关于音频的库

    关于音频, PyAudio 这个库, 可以实现开启麦克风录音, 可以播放音频文件等等,此刻我们不去了解其他的功能,只了解一下它如何实现录音的

    首先要先 pip 一个 PyAudio

    pip install pyaudio

    一.PyAudio 实现麦克风录音

    然后建立一个py文件,复制如下代码

    复制代码

    import pyaudio
    import wave
    
    CHUNK = 1024
    FORMAT = pyaudio.paInt16
    CHANNELS = 2
    RATE = 16000
    RECORD_SECONDS = 2
    WAVE_OUTPUT_FILENAME = "Oldboy.wav"
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=FORMAT,
                    channels=CHANNELS,
                    rate=RATE,
                    input=True,
                    frames_per_buffer=CHUNK)
    
    print("开始录音,请说话......")
    
    frames = []
    
    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
        data = stream.read(CHUNK)
        frames.append(data)
    
    print("录音结束,请闭嘴!")
    
    stream.stop_stream()
    stream.close()
    p.terminate()
    
    wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
    wf.setnchannels(CHANNELS)
    wf.setsampwidth(p.get_sample_size(FORMAT))
    wf.setframerate(RATE)
    wf.writeframes(b''.join(frames))
    wf.close()

    复制代码

    尝试一下,在目录中出现了一个 Oldboy.wav 文件 , 听一听,还是很清晰的嘛

    接下来,我们将这段录音代码,写在一个函数里面,如果要录音的话就调用

    建立一个文件 pyrec.py 并将录音代码和函数写在内

    复制代码

    # pyrec.py 文件内容
    import pyaudio
    import wave
    
    CHUNK = 1024
    FORMAT = pyaudio.paInt16
    CHANNELS = 2
    RATE = 16000
    RECORD_SECONDS = 2
    
    def rec(file_name):
        p = pyaudio.PyAudio()
    
        stream = p.open(format=FORMAT,
                        channels=CHANNELS,
                        rate=RATE,
                        input=True,
                        frames_per_buffer=CHUNK)
    
        print("开始录音,请说话......")
    
        frames = []
    
        for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
            data = stream.read(CHUNK)
            frames.append(data)
    
        print("录音结束,请闭嘴!")
    
        stream.stop_stream()
        stream.close()
        p.terminate()
    
        wf = wave.open(file_name, 'wb')
        wf.setnchannels(CHANNELS)
        wf.setsampwidth(p.get_sample_size(FORMAT))
        wf.setframerate(RATE)
        wf.writeframes(b''.join(frames))
        wf.close()

    复制代码

    rec 函数就是我们调用的录音函数,并且给他一个文件名,他就会自动将声音写入到文件中了

     

    二.实现音频格式自动转换 并 调用语音识别

    录音的问题解决了,赶快和百度语音识别接在一起使用一下:

    不管你的录音有多么多么清晰,你发现百度给你返回的永远是:

    {'err_msg': 'speech quality error.', 'err_no': 3301, 'sn': '6397933501529645284'} # 音质不清晰

    其实不是没听清,而是百度支持的音频格式PCM搞的鬼

    所以,我们要将录制的wav音频文件转换为pcm文件

    写一个文件 wav2pcm.py 这个文件里面的函数是专门为我们转换wav文件的

    使用 os 模块中的 os.system()方法 这个方法是执行系统命令用的, 在windows系统中的命令就是 cmd 里面写的东西,dir , cd 这类的命令

    复制代码

    # wav2pcm.py 文件内容
    import os
    
    def wav_to_pcm(wav_file):
        # 假设 wav_file = "音频文件.wav"
        # wav_file.split(".") 得到["音频文件","wav"] 拿出第一个结果"音频文件"  与 ".pcm" 拼接 等到结果 "音频文件.pcm"
        pcm_file = "%s.pcm" %(wav_file.split(".")[0])
    
        # 就是此前我们在cmd窗口中输入命令,这里面就是在让Python帮我们在cmd中执行命令
        os.system("ffmpeg -y  -i %s  -acodec pcm_s16le -f s16le -ac 1 -ar 16000 %s"%(wav_file,pcm_file))
    
        return pcm_file

    复制代码

    这样我们就有了把wav转为pcm的函数了 , 再重新构建一次咱们的代码

    这次的返回结果还挺让人满意的嘛

    {'corpus_no': '6569869134617218414', 'err_msg': 'success.', 'err_no': 0, 'result': ['老男孩教育'], 'sn': '8116162981529666859'}

    拿到语音识别的字符串了,接下来用这段字符串 语音合成, 学习咱们说出来的话

     

    三.语音合成 与 FFmpeg 播放mp3 文件

    拿到字符串了,直接调用synthesis方法去合成吧

    这段代码衔接上一段代码,成功获得了 synth.mp3 音频文件,并且确定了实在学习我们说的话

    接下来就是让我们的程序自动将 synth.mp3 音频文件播放了 其实PyAudio 有播放的功能,但是操作有点复杂

    所以我们还是选择用简单的方式解决复杂的问题,就是这么简单粗暴,是否还记得FFmpeg 呢?

    FFmpeg 这个系统工具中,有一个 ffplay 的工具用来打开并播放音频文件的,使用方法大概是: ffplay 音频文件.mp3

    建立一个playmp3.py文件, 写一个 play_mp3 的函数用来播放已经合成的语音

    # playmp3.py 文件内容
    import os
    
    def play_mp3(file_name):
        os.system("ffplay  %s"%(file_name))

    回到主文件,调用playmp3.py文件中的 play_mp3 函数

    执行代码,当你看到 : 开始录音,请说话......

    请大声的说出: 学IT 找老男孩教育

    然后你就会听到,一个娇滴滴声音重复你说的话

     

    四.简单问答

    首先我们要把代码重新梳理一下:

    把语音合成 语音识别部分的代码独立成函数放到baidu_ai.py文件中

    复制代码

    # baidu_ai.py 文件内容
    from aip import AipSpeech
    
    # 这里的三个参数,对应在百度语音创建的应用中的三个参数
    APP_ID = "xxxxx"
    API_KEY = "xxxxxxx"
    SECRET_KEY = "xxxxxxxx"
    
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    
    
    def audio_to_text(pcm_file):
        # 读取文件 , 终于得到了PCM文件
        with open(pcm_file, 'rb') as fp:
            file_context = fp.read()
    
        # 识别本地文件
        res = client.asr(file_context, 'pcm', 16000, {
            'dev_pid': 1536,
        })
    
        # 从字典里面获取"result"的value 列表中第1个元素,就是识别出来的字符串"老男孩教育"
        res_str = res.get("result")[0]
    
        return res_str
    
    
    def text_to_audio(res_str):
        synth_file = "synth.mp3"
        synth_context = client.synthesis(res_str, "zh", 1, {
            "vol": 5,
            "spd": 4,
            "pit": 9,
            "per": 4
        })
    
        with open(synth_file, "wb") as f:
            f.write(synth_context)
    
        return synth_file

    复制代码

    然后把我们的主文件进行一下修改

    复制代码

    import pyrec  # 录音函数文件
    import wav2pcm  # wav转换pcm 函数文件
    import baidu_ai  # 语音合成函数,语音识别函数 文件
    import playmp3  # 播放mp3 函数 文件
    
    pyrec.rec("1.wav")  # 录音并生成wav文件,使用方式传入文件名
    
    pcm_file = wav2pcm.wav_to_pcm("1.wav")  # 将wav文件 转换成pcm文件 返回 pcm的文件名
    
    res_str = baidu_ai.audio_to_text(pcm_file) # 将转换后的pcm音频文件识别成 文字 res_str
    
    synth_file = baidu_ai.text_to_audio(res_str) # 将res_str 字符串 合成语音 返回文件名 synth_file
    
    playmp3.play_mp3(synth_file) # 播放 synth_file

    复制代码

     

    然后就是大展宏图的时候了,展开你们的想象力:

    res_str 是字符串,如果字符串等于"你叫什么名字"的时候,我们就要给他一个回答:我的名字叫老男孩教育

    新建一个FAQ.py的文件然后建立一个函数faq:

    # FAQ.py 文件内容
    def faq(Q):
        if Q == "你叫什么名字": # 问题
            return "我的名字是老男孩教育" # 答案
    
      return "我不知道你在说什么" #问题没有答案时返

    在主文件中导入这个函数,并将语音识别后的字符串传入函数中

    现在来尝试一下:"你叫什么名字","你今年几岁了"

    成功了,现在你可以对 FAQ.py 这个文件进行更多的问题匹配了

    还是那句话,别玩儿坏了

    思考题:

    1.如何实现一直问答不用问一次停一次?

    2.问题那么多,是不是要写这么多问题呢?

    3.如果我问你是谁,是不是要重复也一次 我的名字叫老男孩教育 的答案呢?

     

    转:https://www.cnblogs.com/DragonFire/p/9212935.html

    展开全文
  • 无限制录音时长、识别全部语音文件
  • android录音实现

    千次阅读 2018-03-10 18:49:28
    Android 简单实现录音功能
  • Qt各种采样率录音 录音到内存

    千次阅读 2017-11-18 11:53:09
    时间了解了Qt的录音模块,Qt的录音模块分为QAudioInput输入,QAudioOutput输出。输入用来录音,输出用于播放。当然还用其它的QMediaPlayer、QAudioRecorder,这类控件封装的比较上层了;QAudioRecorder只能将...
  • 文章目录、功能简介与操作视频二、文件夹结构三、实现3.1 录制3.2 暂停/继续录制3.3 pcm转wav3.4 自定义文件名保存3.5 文件列表显示(1)功能1:...跳转到播放界面3.6 播放3.7 计时器3.8 跳转到下个界面前删除当前界面...
  • 花了两天时间在前人基础上重复造了个网页录音的轮子,顺带把github仓库使用研究了一下,扔到了github上,地址:https://github.com/xiangyuecn/Recorder 传送门:https://xiangyuecn.github.io/Recorder/ ...
  • 我最近在做一个关于录音然后剪辑的模块 录音写好了 可是剪辑没有思路啊 求指导 比如剪掉后边一段,保留前面的 。
  • android 录音

    千次阅读 2013-05-28 09:46:28
    原帖:...   直接给上个详细的使用Android MediaRecorder进行手机录音解说代码: package cn.com.chenzheng_java.media; import java.io.IOException; import android.
  • USB 之一 USB2.0 规范详解 第一部分

    万次阅读 多人点赞 2018-04-16 18:47:22
    后续见 第二部分 简介   USB(Universal Serial Bus) 是种支持热插拔的高速串行传输总线,它使用差分信号来传输数据。在USB 1.0和 USB 1.1 版本中,只支持1.5Mb/s 的低速(low-speed)模式和 12Mb/s 的...
  • 虽然在Android5.0之前在AudioRecord开放给第三方的初始化方法中VOICE_CALL音频源是可以使用的,但是在厂商的适配过程中很多还是不能用,因此在低版本中一直是通过AudioRecord读取MIC录音源实现。很多厂商在做系统...
  • Android路上--AudioRecord 录音详解

    千次阅读 2018-12-25 11:59:42
    AudioRecord + AudioTrack + AudioFormat,通过pcm文件合并并转wav实现录音、暂停、播放、停止、重录、计时等功能。
  • python——判断一段音频是否有声音

    万次阅读 热门讨论 2017-01-11 11:45:52
    根据一段wav音频判断该音频是否有声音#-*- coding: utf-8 -*- import os import wave from time import sleep import numpy as npSUCCESS = 0 FAIL = 1# 需要添加录音互斥功能能,某些功能开启的时候录音暂时关闭 def...
  • 今日早间,一段疑似“币圈首富”李笑来的谈话录音被曝光,这段谈话内容涉及众多区块链项目以及币圈人物,包括老猫、neo、以太坊、Ripple、易理华、罗振宇、孙宇晨、赵长鹏等。在这段长达50分钟的录音中,李笑来脏话...
  • 篇博客,我们把个Yuv编码格式的视频文件编码为H264格式。那么接下来,自然要学习下音频编码了。在学习音频编码之前,我们先看看ubuntu下如何采集声音和播放声音。
  • Tips_千万别学英语 第阶段

    千次阅读 2006-05-23 09:15:00
    但是,大部分韩国人却在下功夫“攻读”英语。这正是韩国人为什么学不好英语的症结所在。无论是英语还是母语,都是语言,语言是不需要“攻读”的,需要的是“熟练”。一定要坚持听下去,就像什么也不懂的孩童喜欢听...
  • FreeSwitch录音模块研究

    千次阅读 2018-08-15 20:25:29
     FreeSwitch中,录音相关的App是由mod_dptools模块提供的。大部分实现代码都在mod_dptools.c中。  App的定义通过宏SWITCH_ADD_APP添加的。在mod_dptools.c的第6345行: SWITCH_ADD_APP(app_interface, "...
  • 最近在学习Android 录音方面的知识,发现在部分手机正常运行的APP,在华为平板上挂了,eclipse的Logcat显示MediaRecorder start failed:-38。查了下资料,原因是我的APP在编码时使用了多路录音,而调试用的华为平板...
  • 关于ios下录音

    万次阅读 2012-12-28 14:28:24
    我是采用的AVAudioRecorder这个框架来进行录音 这个录音跟官方网站上的speakHere有些区别,最大的区别是,这个必须要录制完成才能处理...先说明一点,默认AVAudioRecorder录制后的格式是.caf,而大部分的播放器都是不
  • Linux录音详解

    千次阅读 2013-05-09 21:35:09
    大体流程的伪代码分两部分给出,一部分为基于mixer编程的专门负责调节声卡的录音效果,第二部分为录音程序。 mixer混音编程 6.4.1.1 常用命令简介 声卡上的混音器由多个混音通道组成,它们可以通过驱动程序...
  • 7月4日,一段疑似李笑来“内部分享”的音频疯传网络。音频中“李笑来”不仅频爆粗口,更是点评了多位币圈大佬及项目,如直言目前最大的虚拟币交易所币安是骗子交易所,锐波创始人孙...
  • 硬件——STM32 , 录音

    千次阅读 2018-03-01 14:34:00
    章,我们实现了个简单的音乐播放器,本章我们将在上章的基础上,实现个简单的录音机,实现WAV录音。本章分为如下几个部: 50.1 WAV简介 50.2 硬件设计 50.3 软件设计 50.4 下载验证 50.1 WAV简介 ...
  • Python-将音频批量切成段一

    千次阅读 热门讨论 2020-06-09 14:14:15
    由于工作需要将音频批量切成段一的,没找到啥工具,所以写了这个脚本。 1.代码如下: from pydub import AudioSegment from pydub.utils import make_chunks audio = AudioSegment.from_file("电视剧...
  • iOS 录音功能实现

    千次阅读 2020-05-06 10:11:39
    描述一段PCM数据一般需要以下几个概念:量化格式(sampleFormat)、采样率(sampleRate)、声道数(channel)。以CD的音质为例:量化格式(有的地方描述为位深度)为16比特(2字节),采样率为44100,声道数为2,...
  • Windows基础-实时录音程序(WaveXXX)

    千次阅读 2015-11-25 22:19:00
    使用MMAPI和MCI分别实现实时和非实时录音
  • 树莓派 + USB麦克风 >>> 录音

    千次阅读 2019-11-21 14:51:36
    又到期末了,课程设计又来了,我打算搞个简易版家庭语音助手,然后前几天在搞百度的语音识别和语音合成,正好今天淘宝买的麦克风到了,我就开始搞拾音部分 关于语音识别和语音合成可参见: 树莓派 >>> ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,425
精华内容 6,570
关键字:

一段录音怎么删除一部分