热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

百度_音频转文字

手机49kbps转换比特率256Kpbs{‘corpus_no’:‘7045177033217452815’,‘err_msg’:‘success.’,‘err_no’:0,‘re

在这里插入图片描述
手机49kbps 转换比特率256Kpbs
{‘corpus_no’: ‘7045177033217452815’, ‘err_msg’: ‘success.’, ‘err_no’: 0, ‘result’: [‘今天下午去开会今天下午去开会’], ‘sn’: ‘858605479691640333103’}
{‘corpus_no’: ‘7045177041635399899’, ‘err_msg’: ‘success.’, ‘err_no’: 0, ‘result’: [‘今天下午去开会今天下午去开会’], ‘sn’: ‘683207632331640333105’}

from aip import AipSpeech
from moviepy.editor import AudioFileClip# 语音三个参数:声道数、取样频率和量化位数;声道数:单声道、双声道;
# 取样频率:秒采样次数;量化位数:bit单次采样数据,8bit、16bit、24bit和32bit
# 例:CD储存声音信号是双声道、44.1kHz、16bit```java
def avi_hebing():# 1、导入视频from moviepy.editor import *#1 读取视频1videoclip_1 = VideoFileClip("one.mp4")clipSpeed = videoclip_1.speedx(2)#倍速clip = clipSpeed.subclip(0, 50)# 截取前50秒视频# 1.1.0 将源视频中指定范围子窗口内容输出到保存的视频文件。clip.crop(0, 278, 540, 580).write_videofile(r"F:\video\WinBasedWorkHard_crop.mp4")#保存clipSpeed.write_videofile(r"F:\video\fansNote_speed2.mp4") # 保存#2提取音频分audio_1 = videoclip_1.audio #单独提取音频video_audio_clip = videoclip_1.audio.volumex(0.8) # 提取视频音频,并调小音量#2.1背景音乐audio_clip = AudioFileClip(r'F:\test\video\aaa\moviepy\mp3\test.mp3').volumex(0.5)audio = afx.audio_loop(audio_clip, duration=videoclip_1.duration)#设背景音乐循环,时间与视频1时间一致# 1.1.4视频声音和背景音乐,音频叠加audio_clip_add = CompositeAudioClip([video_audio_clip,audio])#3 读取视频、合并视频videoclip_2 = VideoFileClip("two.mp4") #读取视频final_video = videoclip_2.set_audio(audio_clip_add) #音频+视频2合并final_video.write_videofile("video_result.mp4") #输出新视频def avi_to_txt():fielname_mp4="kaihui.mp4" #原始视频文件名my_audio_clip = AudioFileClip(fielname_mp4)#读取文件#2、 提取音频并保存(# pcm、wav、amr、m4a)fielname_wav='kaihui.wav'#保存的wav文件名# print(my_audio_clip.duration, my_audio_clip.buffersize,my_audio_clip.nchannels, my_audio_clip.fps)# my_audio_clip.write_audiofile(fielname_wav)my_audio_clip.write_audiofile(fielname_wav, fps=8000, nbytes=2, buffersize=20000,codec=None, bitrate=None, ffmpeg_params=None,write_logfile=False, verbose=True, logger='bar')# buffersize = 200000, nbytes = 2, fps = 44100# 8, 000Hz 电话采样率# 11, 025 Hz 22, 050 Hz - 无线电广播所用采样率# 32, 000 Hz - miniDV数字视频camcorder、DAT(LP mode)所用采样率# 44, 100 Hz - 音频CD, 也常用于MPEG - 1 音频(VCD, SVCD, MP3)所用采样率# 47, 250 Hz - Nippon Columbia(Denon)开发的世界上第一个商用PCM录音机所用采样率# 48, 000 Hz - miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率# 50, 000 Hz - 二十世纪七十年代后期出现的3M和Soundstream开发的第一款商用数字录音机所用采样率# 50, 400 Hz - 三菱X - 80 数字录音机所用所用采样率# 96, 000 或者192, 000 Hz - DVD - Audio、一些LPCM DVD音轨、Blu - ray Disc(蓝光盘)音轨、和HD - DVD(高清晰度DVD)音轨所用所用采样率# 2.8224 MHz - SACD、索尼和飞利浦联合开发的称为Direct Stream Digital的1位sigma - delta modulation过程所用采样率。# write_videofile方法用于将视频剪辑输出到文件# write_audiofile(fielname_wav,fps=None, codec=None,bitrate=None, audio_fps=16000)# write_videofile(self, filename, fps=None, codec=None,# bitrate=None, audio=True, audio_fps=44100,# preset="medium",# audio_nbytes=4, audio_codec=None,# audio_bitrate=None, audio_bufsize=2000,# temp_audiofile=None,# rewrite_audio=True, remove_temp=True,# write_logfile=False, verbose=True,# threads=None, ffmpeg_params=None,# logger='bar')# filename:保存视频文件名,只要是ffmpeg支持的视频文件如 .ogv, .mp4, .mpeg, .avi, .mov等都可以# fps:帧率,每秒编码的帧数# codec:图像编解码器,ffmpeg支持解码器。扩展名“.mp4”、“.ogv”、“.webm”,则相应地设置编解码器,其他扩展名,须设置输出文件名。常用编解码器如下:# √. ‘libx264’:视频压缩效果好,MP4缺省编解码器,质量bitrate参数调节# √. ‘mpeg4’:可选MP4编解码器,可替代’libx264’,可获更好视频质量# √.‘rawvideo’:完美视频质量,文件巨大,对应视频文件为’.avi’# √. ‘png’:完美视频质量,视频文件为’.avi’,比’rawvideo’小# √. ‘libvorbis’:完全开放、免费编解码器,不错视频格式,对应视频文件为’.ogv’# √. ‘libvpx’:很适合HTML5使用的网络视频轻量级开源解码器,视频文件为’.webm’# bitrate:输出视频比特率,即码率BPS(Bits Per Second),每秒传送数据位数# audio:可为True、False或文件名,如True且剪辑附加音频,则音频作为视频的音频保存,如False则不保存音频,如为音频文件名则此音频文件将作为视频的音频# audio_fps:声音的采样频率# preset:设置FFMPEG用于优化压缩时间。字符串类型,可选:ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow、 placebo。请注意,这不会影响视频的质量,只影响视频文件的大小。所以如果赶时间而文件大小不是很重要可以设置为ultrafast# audio_nbytes:音频采用位数,对应基于字节为单位是声道数;# audio_codec:音频解码器,如’.mp3’的’libmp3lame’、‘ogg’的’libvorbis’、 ‘m4a’的’libfdk_aac’、 ‘pcm_s16le’ 16位声音和’pcm_s32le’的32位声音。默认值为“libmp3lame”,除非视频扩展名为“ogv”或“webm”,在这2种情况下,默认值为“libvorbis”。# audio_bitrate:音频比特率,字符串形式,如“50k”、“500k”、“3000k”,用于将确定输出文件中音频的大小/质量。注意,这是一个指示性目标,输出文件比特率不一定会按此设置。# audio_bufsize:音频缓冲区大小# temp_audiofile:如输出由音频,该参数用于指定--要生成并合并到电影中的临时音频文件的名称,如果没有指定则用缺省模式临时文件名# rewrite_audio:这个参数目前没有作用,可能为了兼容前版本# remove_temp:是否删除临时文件# write_logfile:为True,为音频和视频输出记录日志文件。日志文件将以“.log”结尾,包含输出文件的名称# verbose:已经废弃使用,留下来是为了兼容性,以前用于打开/关闭消息。现在使用logger=None。# threads:用于ffmpeg的线程数,可以加快多核计算机上视频输出的速度# ffmpeg_params:需额外传递其他ffmpeg参数,用列表传递,形如:[’-option1’,‘value1’,’-option2’,‘value2’]# logger:字符串类型,"bar"表示进度条、None 表示不设置、或任何程序日志记录器的名字# ————————————————# 版权声明:本文为CSDN博主「LaoYuanPython」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。# 原文链接:https://blog.csdn.net/LaoYuanPython/article/details/114589561#2、wav转pcmimport numpy as npdef wav2pcm(wavfile, pcmfile, data_type=np.int16):f = open(wavfile, "rb")f.seek(0)f.read(44)data = np.fromfile(f, dtype= data_type)data.tofile(pcmfile)pcmfile_pcm='kaihui.pcm'#设置保存文件名wav2pcm(fielname_wav, pcmfile_pcm, data_type=np.int16)#保存# 申请百度语音识别APP_ID = ''API_KEY ='GYKqlTqfnxFHokkfEujXbuDW'SECRET_KEY ='23zkptXIwi0YnWbfpll2s5jhFkKxZuSR'client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)# 读取文件def get_file_content(file_path):with open(file_path, 'rb') as fp:return fp.read()# 识别本地文件fielname_wav='kaihui.wav' ## fielname_wav='16k.wav'百度测试文件result = client.asr(get_file_content(fielname_wav), 'wav', 16000, {'dev_pid': 1536})# result = client.asr(get_file_content(fielname_wav), 'wav', 713125, {'dev_pid': 1536})print(result)# 识别本地文件# pcmfile_pcm='16k.pcm' #百度提供初期测试test1 = client.asr(get_file_content(pcmfile_pcm), 'pcm', 16000, {'dev_pid': 1536, })# 参数1: speech 音频文件流 包含语音Buffer对象, 文件格式:pcm 或 wav 或 amr,pcm最好# 参数2: format 文件格式,包括pcm(不压缩)、wav、amr# 参数2: rate 音频文件采样率 如使用FFmpeg命令转换,是16000# 参数4: dev_pid 语言id 默认1537(普通话 输入法模型)print(test1)


推荐阅读
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
author-avatar
风中冰雨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有