讯飞音乐识别python实现
一:进入讯飞听写平台,找到语音识别的歌曲识别

二:点击文档,选择demo文件

三:将下载的文档直接粘贴在pycharm上

四:给定的demo是根据url实现音乐识别的,具有局限性,我想实现的是在前端页面传输文件进行识别。

#_*_encoding:utf-8_*_
import requests
import base64
import json
import time
import hashlibclass demo:def __init__(self):self.url = "http://webqbh.xfyun.cn/v1/service/v1/qbh"self.AUDIO_URL = AUDIO_URLdef music_iat(self):curtime = str(int(time.time()))print(curtime)# 使用audio_url传输音频数据时,http request body须为空。# 直接把音频二进制数据写入到Http Request Body时,不需要设置audio_url参数param = {"audio_url":self.AUDIO_URL}base64_param = base64.urlsafe_b64encode(json.dumps(param).encode('utf-8'))tt = str(base64_param, 'utf-8')m2 = hashlib.md5()m2.update((apikey+ curtime+ tt).encode('utf-8'))checksum = m2.hexdigest()header = {"X-CurTime": curtime,"X-Param": base64_param,"X-Appid": appid,"X-CheckSum":checksum,}res = requests.post(self.url,headers= header)result = res.contentprint(result.decode("utf-8"))if __name__ == "__main__":# 在控制台获取appid等信息appid = ""apikey = ""# 音频url地址AUDIO_URL = "https://xfyun-doc.cn-bj.ufileos.com/1537253485018707/qlzw2.wav"demo = demo()demo.music_iat()

需要四个参数,分别是appid,apikey,file(前端传输文件),url(音乐识别api接口地址)

将music_iat下的代码更换为下面展示的

    def music_iat(self):# 获取文件名filename = self.file.filename# 文件写入磁盘self.file.save(filename)# 将评测文件写入到Http Request 体中with open(filename, 'rb') as f:file_content = f.read()base64_audio = base64.b64encode(file_content)data = {'audio': base64_audio  # 音频数据}param = json.dumps({"aue": "raw",  # 音频编码 raw(支持pcm、wav格式)})curtime = str(int(time.time()))paramBase64 = str(base64.b64encode(param.encode('utf-8')), 'utf-8')m2 = hashlib.md5()m2.update((self.apikey + curtime + paramBase64).encode('utf-8'))checksum = m2.hexdigest()header = {"X-CurTime": curtime,"X-Param": paramBase64,"X-Appid": self.appid,"X-CheckSum": checksum,}res = requests.post(self.url, headers=header, data=data)result = json.loads(res.content)['data']return result

主函数

from qbh_python3_demo import demo  # 导入 speech_eval_api_helper.py中调用讯飞开放平台接口的语音评测模块
from flask import Flask, render_template, request  # 导入flask web框架依赖的模块appid = ""
apikey = ""
url = "http://webqbh.xfyun.cn/v1/service/v1/qbh"
app = Flask(__name__)  # 创建程序实例
@app.route('/', methods=['GET', 'POST'])
def speech_evaluation():if request.method == 'GET':return render_template('music.html', result={})file = request.files.get('file')   # 3、获取文件print(file)if not file:return render_template('music.html', result={})seclass = demo(url, appid, apikey,file)  # 语音评测接口调用模块result = seclass.music_iat()  # 获取语音评测结果及结果解析print(len(result))return render_template('music.html', result=result)if __name__ == '__main__':app.run(debug=True)

前端页面

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><button class="record-btn">开始录音</button><form action="/" method="POST" id="upload" enctype="multipart/form-data"><input type="file" name="file" id="pic" accept=".wav" class="buttons1" required><input type="submit" value="开始评测" onclick="uploadPic()" class="buttons2"></form><div><h3>检测结果</h3>{% for i in range(result['song']|length) %}<h1>{{result['song'][i]}}</h1>{% endfor %}</div>
<div style="width:48%;float:left"><h2>语音评测结果</h2><div style="border:1px solid #ddd;min-height: 400px;padding: 8px;"><table width="600" border="6" cellpadding="10"><tr><th align="center">序号</th><th align="center">歌曲</th><th align="center">歌手</th></tr>{% for i in range(result|length) %}<tr><td align="center">{{loop.index}}</td><td align="center">{{result[i]['song']}}</td><td align="center">{{result[i]['singer']}}</td></tr>{% endfor %}</table></div><div style="clear:both;"></div>
</div></body>
</html>

执行主函数,效果如下

讯飞音乐识别python实现文件识别相关推荐

  1. 数字音乐赛道拐点下,讯飞音乐的AI突围法

    前不久国家市场监管总局要求音乐平台解除独家版权的合作模式,腾讯音乐.网易云音乐纷纷跟进.此前数字音乐的版权生态模式,在多年的资本争夺战后,呈现出少数平台独占多数版权的不公平竞争状态.在数字音乐版权竞争 ...

  2. 当AI与音乐相遇,讯飞音乐用技术引领行业变革

    音乐赛道再迎大玩家. 9月26日,讯飞音乐在北京举办了以"音AI而声"为主题音乐厂牌发布会,并于当天上午与上海音乐学院·音乐工程系签署战略合作协议. 一.AI音乐,熟悉的" ...

  3. C++通过调用Python函数调用讯飞OCR识别接口

    关于C++调用python函数的配置,在前两篇博客中已有介绍: C++调用Python函数(一)--配置及测试 C++调用Python函数(二)--调用函数并输出返回值 最近做OCR字符识别方面的工作 ...

  4. PR视频字幕批量生成程序(用讯飞听见识别音频)

    用过视频剪辑软件的小伙伴们可能都会为添加视频字幕所烦恼,尤其是当一个视频包含了大量语音而且只有你一个人在配字幕的时候,那就变得很蛋疼:尽管到最后你完成了这么庞大的工作量,但是你都会一度怀疑自己的人生. ...

  5. ifly error code 讯飞离线识别错误码

    MSP_SUCCESS 0 函数执行成功 MSP_ERROR_FAIL -1 失败 MSP_ERROR_EXCEPTION -2 异常 MSP_ERROR_GENERAL 10100 基码 MSP_E ...

  6. 乱码 讯飞 语音识别_一段讯飞、百度等语音识别API无法识别的语音最终解决办法...

    最近在做语音识别.字幕扒词相关的工作,遇到了一段录音(https://download.csdn.net/download/u014220286/12169183,各位有兴趣的可以下载下来试试),音质 ...

  7. 测试 | 讯飞星火升级,能力有很大提升,不再一本正经胡说

    6月9日,讯飞星火认知大模型发布,内容详见: 新闻通稿表明: 讯飞星火认知大模型再次提升核心能力,开放式知识问答.逻辑和数字能力.以及多轮对话,三大综合能力升级. 但是事实是不是这样?我们还是全面测试 ...

  8. 讯飞语音识别_赛诺语音输入法报告 搜狗、讯飞、百度AI语音输入哪家强

    哪款输入法最好用?这是一个不同人不同答案的问题.如今生活节奏加快,使用手机打字格外追求效率.因此,输入速度和准确率成为用户考量输入法好用程度最关键因素.目前,语音输入成为有效提高用户沟通效率的一大突破 ...

  9. 讯飞 tts 9.0 app_讯飞B1录音笔,到底值不值得买?

    原标题:讯飞B1录音笔,到底值不值得买? 讯飞B1录音笔,到底值不值得买? 2020-11-07 19:27:121点赞1收藏0评论 创作立场声明:利益相关,讯飞普通付费用户,从讯飞语记用到录音笔和讯 ...

最新文章

  1. HDU - 3911 Black And White 区间翻转+区间连续最长
  2. 百味扶胰系假药 冒用降糖宁胶囊批号
  3. Taro+react开发(1)--简介
  4. matlab判断能控和能观,实验三 利用Matlab分析能控性和能观性
  5. 六、九大隐式对象(JSP的9大内置对象)
  6. django restframwork 教程之authentication权限
  7. 107 岁的 IBM 以 340 亿美元吞下了 25 岁的“小”红帽!
  8. MATLAB资源安装免费激活完整步骤
  9. 炫酷3D相册 520七夕情人节表白网页制作(HTML+CSS+JavaScript)
  10. 最简单的基金理财讲解
  11. 前端html与css学习笔记总结篇
  12. windows_帮助文档【.CHM电子书】打开显示空白解决办法
  13. vue 路由跳转 外部链接
  14. python取反函数_编程语言取反函数
  15. 【单镜头反光相机】影调、反差、光比、宽容度;光质(硬光、软光)、硬调、软调、高调、低调、中间调...
  16. 基于python的旅游系统_基于python的去哪儿网旅游数据分析
  17. ads 微带线 计算公式
  18. eBay账号你应该这样养
  19. 修改UE4缓存路径,免得太多占用c盘空间
  20. DGL | 基于深度图学习框架DGL的分子图初探

热门文章

  1. vue webRTC播放海康摄像头实时画面延迟1s内
  2. Typora+PicGo-Core+腾讯云COS 图床配置教程
  3. 可能是最好用的 IDEA 设置
  4. arecord录制音频和aplay播放音频用法说明
  5. 新导智能关于RFID定位技术详解
  6. 高等数学(函数的极限与连续性)
  7. 写给想玩淘宝返利的各位,淘宝返利模式.
  8. postgreSQL 操作 教程
  9. 【工具分享】优雅地下载B站高清视频的【神级】解决方案
  10. 用C#代码实现记事本