sem可以为网站建设做什么秦皇岛房产信息网官网
web/
2025/9/29 21:03:12/
文章来源:
sem可以为网站建设做什么,秦皇岛房产信息网官网,大连知名的seo外包,seo外包优化公司前言
前言#xff1a;在实际使用中#xff0c;经常要参考官方的案例#xff0c;但有时候因为工具的不一样#xff0c;比如idea 和 eclipse#xff0c;普通项目和spring项目等的差别#xff1b;还有时候因为水平有限#xff0c;难以在散布于官方的各个文档读懂#xff…
前言
前言在实际使用中经常要参考官方的案例但有时候因为工具的不一样比如idea 和 eclipse普通项目和spring项目等的差别还有时候因为水平有限难以在散布于官方的各个文档读懂还有些时候因为自己测试使用的demo的文件不符合官网要求。。。总是实现不了相关功能。
本系列博客尝试结合官网案例阐述百度 AI 开放平台里的组件使用方式核心是如何在spring项目中快速上手应用。
本文介绍如何在Springboot中使用语音文件识别 ffmpeg的安装和使用 文章目录 前言引出一、如何使用语音识别1.官网的sdk2.下载sdk 二、如何在idea中跑通demo1.新建项目新建lib文件夹2.选中作为lib引入3.拷贝官网的案例4.获得语音识别案例文件 三、如何结合springboot使用1.导入依赖2.进行配置3.controller层进行调用 四、ffmpeg的使用简介1.基础知识2.安装和命令的使用3.使用命令 总结 引出 1.从官网demo到idea中使用 2.从idea中使用到springboot项目整合 3.ffmpeg的安装和使用初步 一、如何使用语音识别
1.官网的sdk https://ai.baidu.com/ai-doc/SPEECH/plbxfq24s 有时候找参考文档看到这个点击git后有时候又打不卡 https://github.com/Baidu-AIP/java-sdk 打开GitHub其实有比较好的说明文档但GitHub能否顺利打开又是不确定的 https://ai.baidu.com/sdk 这里可以下载各种sdk资源 2.下载sdk 下载压缩包解压 官方文档提供了eclipse的使用 3.在Eclipse右键“工程 - Properties - Java Build Path - Add JARs”。 但我用idea比较顺手eclipse是在不熟。 二、如何在idea中跑通demo 1.新建项目新建lib文件夹 用来存放刚刚下载后解压获得的jar包 复制粘贴到lib目录下 2.选中作为lib引入 点击确定导入成功 3.拷贝官网的案例 拷贝官网的案例导入jar包里面的包 加入配置文件日志相关 4.获得语音识别案例文件
然后我发现语音识别需要的文件格式是pcm的格式所以又找了工具去转其他格式的文件为pcm后来发现每次调用总是出各种文件最后经过一番波折终于在官网的python案例中找到一个示例文件。。。。 中间各种bug最后终于用找到的这个案例跑通 三、如何结合springboot使用 jar包的理解 简易spring项目搭建总览 1.导入依赖
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.tianju/groupIdartifactIdbaidu-api/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/properties!-- 起步依赖--parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.6.13/version/parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- 百度ai的java sdk中心--dependencygroupIdcom.baidu.aip/groupIdartifactIdjava-sdk/artifactIdversion4.16.16/version/dependency!--json工具--dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion2.0.12/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependency/dependencies/project2.进行配置 BaiduPro配置类 package com.tianju.config.baidu;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;/*** 专门用来获取配置文件里的值*/
Component
ConfigurationProperties(prefix baidu)
PropertySource(classpath:config/baiduAip.properties)Data
NoArgsConstructor
AllArgsConstructorpublic class BaiduPro {private String appId;private String apiKey;private String secretKey;
} 配置类放入容器中 package com.tianju.config.baidu;import com.baidu.aip.speech.AipSpeech;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** 百度相关的配置文件*/
Configuration
public class BaiduConfig {Autowiredprivate BaiduPro baiduPro;/*** 语音相关 AipSpeech* return AipSpeech放容器中*/Beanpublic AipSpeech aipSpeech(){// 初始化一个AipSpeechAipSpeech client new AipSpeech(baiduPro.getAppId(), baiduPro.getApiKey(), baiduPro.getSecretKey());// 可选设置网络连接参数client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);return client;}
}3.controller层进行调用 GET http://localhost:10050/api/baidu/hello package com.tianju.config.controller;import com.baidu.aip.speech.AipSpeech;
import com.tianju.config.resp.HttpResp;import lombok.extern.slf4j.Slf4j;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController
RequestMapping(/api/baidu)Slf4j
public class BaiduApiController {Autowiredprivate AipSpeech aipSpeech;GetMapping(/hello)public HttpResp hello(){JSONObject pcm aipSpeech.asr(D:\\Myprogram\\springboot-workspace\\spring-project\\baidu-api\\src\\main\\resources\\static\\helloAipSpeech.pcm,pcm, 16000, null);log.debug(get responsepcm.toString());return HttpResp.success(pcm.toString());}
}
四、ffmpeg的使用简介 1.基础知识
官网 https://ffmpeg.org/
FFMPEG简介 FFmpeg的名称来自MPEG视频编码标准前面的“FF”代表“Fast Forward”FFmpeg是一套可以用来记录、转换数字音频、视频并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。 FFmpeg的用户有GoogleFacebookYoutube优酷爱奇艺土豆等 基础知识
1.容器/文件(Conainer/File)即特定格式的多媒体文件比如mp4、flv、mkv等。
2.媒体流Stream表示时间轴上的一段连续数据如一段声音数据、一段视频数据或一段字幕数据可以是压缩的也可以是非压缩的压缩的数据需要关联特定的编解码器。
3.数据帧/数据包(Frame/Packet)通常一个媒体流是由大量的数据帧组成的对于压缩数据帧对应着编解码器的最小处理单元分属于不同媒体流的数据帧交错存储于容器之中。
一般情况下
Frame对应压缩前的数据Packet对应压缩后的数据。
4.编解码器(Codec)以帧为单位实现压缩数据和原始数据之间的相互转换的
5.复用(mux)把不同的流按照某种容器的规则放入容器这种行为叫做复用mux
6.解复用(mux)把不同的流从某种容器中解析出来这种行为叫做解复用(demux)
\7. 码率和帧率是视频文件的最重要的基本特征对于他们的特有设置会决定视频质量。如果我们知道码率和时长那么可以很容易计算出输出文件的大小。
8.帧率帧率也叫帧频率帧率是视频文件中每一秒的帧数肉眼想看到连续移动图像至少需要15帧。
9.码率比特率(也叫码率数据率)是一个确定整体视频/音频质量的参数秒为单位处理的位数码率和视频质量成正比在视频文件中中比特率用bps来表达。
2.安装和命令的使用 下载后到指定位置解压然后进行环境变量的配置 cmd命令测试是否成功 3.使用命令
ffmpeg -i wjs.aac -acodec pcm_s16le -ar 44100 output.pcm
ffmpeg -i wjs.aac -acodec pcm_s16le -f s16le -ac 2 -ar 16000 16k.pcmffmpeg -i wjs.aac -ss 00:00:10 -to 00:00:59 -f s16le -ar 16000 16.pcm这是一个使用FFmpeg命令行工具的命令用于将音频文件wjs.aac从第10秒到第59秒的部分提取出来并将其转换为16位有符号的PCM格式采样率为16000Hz保存为16.pcm文件。
具体参数解释如下
-i wjs.aac指定输入文件为wjs.aac。-ss 00:00:10指定从第10秒开始提取。-to 00:00:59指定提取到第59秒结束。-f s16le指定输出格式为16位有符号的PCM。-ar 16000指定输出音频的采样率为16000Hz。16.pcm指定输出文件名为16.pcm。
所以这个命令的意思是提取wjs.aac文件中从第10秒到第59秒的音频部分并将其转换为16位有符号的PCM格式采样率为16000Hz保存为16.pcm文件。 提取1分钟的pcm音频文件命令 总结
1.从官网demo到idea中使用 2.从idea中使用到springboot项目整合 3.ffmpeg的安装和使用初步
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84090.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!