前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云语音识别(ASR)助力智慧园区落地

腾讯云语音识别(ASR)助力智慧园区落地

原创
作者头像
不惑
发布2024-05-25 16:19:10
2213
发布2024-05-25 16:19:10
举报
文章被收录于专栏:Goboy

引言

语音识别,也称为自动语言识别(Automatic Language Identification, ALI),是自然语言处理(NLP)领域的一个重要研究方向。它旨在让计算机能够自动地识别出给定文本所属的语言种类。这一技术对于跨语言交流、多语言信息处理、机器翻译等方面具有广泛的应用价值。

随着全球化进程的加速和信息技术的飞速发展,跨语言交流变得越来越频繁。在这种背景下,语言识别技术的重要性日益凸显。例如,在国际化的企业或组织中,员工可能使用不同的语言进行沟通,这时就需要借助语言识别技术来自动识别出邮件、文档或聊天记录中的语言类型,以便进行正确的翻译或处理。

此外,语言识别技术还可以应用于多语言信息检索、舆情分析、社交媒体监测等领域。例如,在搜索引擎中,用户可能希望搜索特定语言的内容,而语言识别技术可以帮助搜索引擎自动识别网页的语言类型,从而提供更准确的搜索结果。

随着深度学习技术的发展,语言识别的准确性得到了显著提高,但同时也面临着一些挑战,如处理低资源语言、处理口音和方言差异等。未来的研究将继续探索更高效、更准确的语言识别方法,以满足不断增长的应用需求。

腾讯云语音识别

腾讯云语音识别(Automatic Speech Recognition,ASR)是一项将语音转换为文字的PaaS产品,它依托业界领先的自研语音识别技术和海量的语音行业大数据,为不同行业、不同需求的客户提供高质量的语音识别服务。

腾讯云ASR有效提高了复杂场景的识别准确性,显著改善了复杂音频和低信噪比音频识别的效果。通过业界首创的高性能引擎,它能够实现23种方言的语音识别,并支持多语言和多方言的混合识别。此外,腾讯云ASR还自研了多模态融合算法、蒸馏算法等,以提升识别性能,并支持热词增强版、ASR情绪识别等功能。

腾讯云ASR已在微信、王者荣耀等腾讯内部产品以及外部不同行业持续落地,覆盖录音质检、会议实时转写、语音输入法等多个场景。

技术亮点

腾讯云语音识别(ASR)的技术亮点主要包括:

业界领先的自研语音识别技术:依托微信智聆实验室自研技术,有效提高复杂场景的识别准确性,极大地改善复杂音频和低信噪比音频识别的效果。

业界首创的高性能引擎:能够实现23种方言的语音识别,让用户无需事先定义方言,即可让模型进行自动化适应。

多模态融合算法、蒸馏算法:自研多模态融合、蒸馏算法,带来更准确的语音识别性能。通过自研多模态融合算法,腾讯云在模型预训练阶段加入文本大语言模型(LLM),增加上下文预测的准确率,对部分通过纯音频识别无法正确识别的场景有了更好的提升作用,在各行业数据集中(尤其是低信噪比数据集)取得更佳效果。

高性能引擎支持多语言和多方言的混合识别:通过采用自研的高新技术,打造多项业界首创的高性能引擎,进一步增强ASR混合识别能力。依托业界首创的支持多种语言和多方言的混合识别引擎,腾讯云成功构建了中文方言大模型能力。提升23个方言语种的平均识别准确率(平均提升指标在7%以上),识别过程无需事先定义方言种类,实现对“普通话+方言”识别场景的自动化适应,为不同语种用户提供更全面的服务,有效满足了跨省市的语音识别需求。

灵活、广泛适配多种应用场景:腾讯云语音识别方案不仅能够更好地解决现有ASR引擎在高并发、高可用性方面的局限,在智能客服、语音输入法、下沉市场等多种应用场景,展现出了强大的灵活性和广泛性,使得各行业、各种特征迥异的音频都能获得相对高性能和更准确地转写服务。

功能体验

体验地址 :https://cloud.tencent.com/product/asr?from_column=20421&from=20421#mod2

实时转写

实时语音识别功能体验

1. 手机扫码进行实时语音文件识别功能体验。

2. 选择“语音识别”进入功能体验。

3. 选择您需要体验的引擎模型。

4. 按住按钮进行说话,请在完全按住后再开始说话,说完后再松开按钮。

5. 可实时的获取识别结果。

录音文件转写

录音文件识别功能体验

文件来源:支持上传本地文件和 URL 链接两种方式。需要您按照产品详细信息中的 录音文件识别 要求,上传的语音文件大小不超过1GB,时长不能超过5小时

音频类别:支持电话和非电话。两种类别音频的推荐位深都为16位。音频类别必须和上传的音频相匹配,才会得到正确的识别结果。若您不知道录音文件的音频属性,可在常见的音频软件中查看(例如 Adobe Audition),也可使用开源命令行工具 FFmpeg 进行查看。

  • 电话:手机或座机通话生成的音频,一般采样率默认为8000Hz。
  • 非电话:非手机或座机通话生成的音频,推荐的采样率为16000Hz。

识别类型:支持通用语音识别和大模型语音识别。

  • 通用语音识别:腾讯云通用ASR引擎。
  • 大模型语音识别:腾讯全新上线ASR大模型,在全行业数据集上的识别准确率极大提升。

支持的语种类别请前往 控制台 查看。

引擎模型:可根据您实际音频的语言和行业来选择,若您的音频并没有对应行业的引擎模型,建议使用对应语音的通用模型进行识别。

结果样式:支持含时间戳和不含时间戳。

  • 含时间戳:识别结果带对应语音分片的起止时间。
  • 不含时间戳:识别结果是只包含文字。

录音文件:选择文件/文件地址。

  • “文件来源”选择本地文件时,单击选择文件进行本地文件上传。
  • “文件来源”选择 URL 链接时,需填写语音 URL 的地址。

上传完文件后,单击开始识别,识别完后,单击点击下载结果即可查看语音识别的内容。

点击这里即可跳转至识别记录页,可以查看音频名称、时长、类型、引擎模型、状态等相关信息。

开通服务

就是现在,错过再等一年!!!;

0元体验

新用户专享资源包

  • 一句话识别5,000次调用
  • 实时语音识别5小时时长
  • 录音文件识别10小时时长
  • 语音流异步识别5小时时长
  • 录音文件识别极速版5小时时长
  • 自购买之日起当月有效

创建秘钥

不要暴露秘钥

获得免费资源

项目实战

腾讯云语音识别(ASR)助力智慧园区落地

背景描述

随着人工智能和物联网技术的快速发展,智慧园区已成为现代城市发展的重要组成部分。智慧园区旨在通过集成先进的信息技术,提高园区的运营效率和服务质量,同时为园区内的企业和员工提供更加便捷、舒适的工作环境。

在这样的背景下,语音识别技术作为一种自然、便捷的交互方式,被广泛应用于智慧园区的各种场景中。通过结合腾讯云ASR服务,智慧园区可以实现对大屏幕的语音控制,从而提供更加智能化的信息显示和管理方式。这不仅提升了园区的科技感和现代化水平,也进一步优化了园区的运营和服务流程。

技术方案

系统架构

  • 前端设备:在智慧园区内设置多个麦克风或录音设备,用于捕捉语音指令。
  • 边缘计算:部署边缘计算设备或服务器,用于实时处理录音数据,减少延迟。
  • 腾讯云ASR服务:通过API接口与腾讯云语音识别服务连接,将录音数据上传并请求识别结果。
  • 后端控制:后端服务器接收ASR服务的识别结果,并根据指令控制智慧园区的大屏幕显示内容。

工作流程

  • 用户在智慧园区内发出语音指令。
  • 前端设备捕捉到语音信号后,将其传输至边缘计算设备进行初步处理。
  • 处理后的录音数据通过API上传至腾讯云ASR服务。
  • ASR服务识别出文字内容后,将结果返回给后端服务器。
  • 后端服务器解析识别结果,并根据预设的规则或机器学习模型确定如何操控大屏幕。
  • 大屏幕根据后端服务器的指令显示相应的内容。

技术细节

  • 降噪处理:在录音和传输过程中使用降噪技术,以提高语音识别的准确性。
  • 流式识别:利用流式语音识别技术,实时处理语音数据,实现快速响应。
  • 安全加密:确保数据传输的安全性,使用HTTPS或SSL/TLS加密。
  • 错误处理机制:设计容错机制,以应对网络不稳定或ASR服务暂时不可用的情况。

功能实现

代码实现

pom.xml

代码语言:xml
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.neo</groupId>
	<artifactId>spring-boot-aar</artifactId>
	<version>1.0</version>
	<packaging>jar</packaging>

	<name>spring-boot-aar</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.7.4</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>8</java.version>
	</properties>

	<dependencies>
	     <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-web</artifactId>
	    </dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>
<!--		# 版本在maven生效需要时间,如获取不到对应的版本,可以调低版本号-->
		<dependency>
			<groupId>com.tencentcloudapi</groupId>
			<artifactId>tencentcloud-sdk-java-asr</artifactId>
			<version>3.1.1018</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
	</dependencies>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
	
</project>

Java API

代码语言:java
复制
package com.neo.controller;

import com.tencentcloudapi.asr.v20190614.AsrClient;
import com.tencentcloudapi.asr.v20190614.models.SentenceRecognitionRequest;
import com.tencentcloudapi.asr.v20190614.models.SentenceRecognitionResponse;
import com.tencentcloudapi.common.AbstractModel;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;

//@RestController
@Controller
public class AudioController {

    @RequestMapping("/home")
    public String home() {
        return "index"; // 这里返回的字符串对应templates目录下的HTML文件名
    }

    @RequestMapping("/record")
    public String recordPage() {
        return "record"; // 这里返回的字符串对应templates目录下的HTML文件名
    }

    @PostMapping("/upload")
    public ResponseEntity<Map<String, String>> handleFileUpload(@RequestParam("file") MultipartFile file) {
//        if (file.isEmpty()) {
//            return new ResponseEntity<>("请选择一个文件", HttpStatus.BAD_REQUEST);
//        }
        try {
            // 保存文件到服务器
//            File dest = convertMultipartFileToFile(file);
            File dest = new File("E:\\BaiduNetdiskDownload\\21855127cc5e97177c0092b957948c71.wav");
            // 调用腾讯云语音识别API
            String recognitionResult = asr(dest);
            Map<String, String> response = new HashMap<>();
            response.put("result", recognitionResult);
            return ResponseEntity.ok(response);
//            return new ResponseEntity<>(recognitionResult, HttpStatus.OK);
        } catch (Exception e) {
            e.printStackTrace();
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        }
    }

    private File convertMultipartFileToFile(MultipartFile file) throws IOException {
        File convFile = new File(file.getOriginalFilename());
        try (FileOutputStream fos = new FileOutputStream(convFile)) {
            fos.write(file.getBytes());
        }
        return convFile;
    }

    private String convertFileToBase64(File file) throws IOException {
        try (FileInputStream fileInputStream = new FileInputStream(file)) {
            byte[] fileBytes = new byte[(int) file.length()];
            fileInputStream.read(fileBytes);
            return Base64.getEncoder().encodeToString(fileBytes);
        }
    }

    public String fileToBase64(File file) {
        try {
            byte[] fileBytes = Files.readAllBytes(file.toPath());
            return Base64.getEncoder().encodeToString(fileBytes);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

    private String asr(File audioFile) {
        try{
            // 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
            // 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
            // 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
    //        Credential cred = new Credential("SecretId", "SecretKey");
            Credential cred = new Credential("", "");
            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("asr.tencentcloudapi.com");
            // 实例化一个client选项,可选的,没有特殊需求可以跳过
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的
            AsrClient client = new AsrClient(cred, "", clientProfile);
            // 实例化一个请求对象,每个接口都会对应一个request对象
            SentenceRecognitionRequest req = new SentenceRecognitionRequest();
            req.setEngSerViceType("16k_zh");
            req.setSourceType(1L);
            req.setVoiceFormat("wav");
            // 读取音频文件
//            byte[] audioBytes = Files.readAllBytes(audioFile.toPath());
//            String base64Audio = Base64.getEncoder().encodeToString(audioBytes);
            String base64Audio = convertFileToBase64(audioFile);
            System.out.println(base64Audio);
            req.setData(base64Audio);
            // 返回的resp是一个SentenceRecognitionResponse的实例,与请求对象对应
            SentenceRecognitionResponse resp = client.SentenceRecognition(req);
            // 输出json格式的字符串回包
//            System.out.println(AbstractModel.toJsonString(resp));
            return AbstractModel.toJsonString(resp);
        } catch (TencentCloudSDKException | IOException e) {
            System.out.println(e.toString());
            return "ERROR";
        }
    }

}

application.properties

代码语言:properties
复制
server.port=8091
spring.thymeleaf.enabled=true
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=false

HTML

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
    <title>Audio Recorder</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            min-height: 100vh;
            /*background-color: #f5f5f5;*/
            background: url('/images/234.png') no-repeat center center fixed;
            background-size: cover;
            background-color: rgba(255, 255, 255, 0.8); /* fallback color */
        }

        h1 {
            margin-bottom: 20px;
            color: #51b341e0;
            background-color: rgba(255, 255, 255, 0.8);
            padding: 10px;
            border-radius: 8px;
        }

        .charts-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 20px;
        }

        .chart-container {
            flex: 1 1 300px;
            background-color: #fff;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        .chart-title {
            background-color: #007bff;
            color: #fff;
            padding: 10px;
            font-size: 18px;
            text-align: center;
        }

        .chart {
            height: 300px;
        }

        button {
            padding: 10px 20px;
            font-size: 16px;
            margin: 5px;
            cursor: pointer;
        }
    </style>
</head>
<body>
<h1>智慧园区</h1>
<div class="charts-container" style="opacity: 0;">
    <div class="chart-container">
        <div class="chart-title">Bar Chart</div>
        <div id="bar-chart" class="chart"></div>
    </div>
    <div class="chart-container">
        <div class="chart-title">Line Chart</div>
        <div id="line-chart" class="chart"></div>
    </div>
    <div class="chart-container">
        <div class="chart-title">Pie Chart</div>
        <div id="pie-chart" class="chart"></div>
    </div>
    <div class="chart-container">
        <div class="chart-title">Scatter Chart</div>
        <div id="scatter-chart" class="chart"></div>
    </div>
    <div class="chart-container">
        <div class="chart-title">Radar Chart</div>
        <div id="radar-chart" class="chart"></div>
    </div>
</div>
<button type="button" id="start-btn">开始录音</button>
<button type="button" id="stop-btn">停止录音</button>
<button type="button" id="play-btn" disabled>播放录音</button>

<script>
    const startBtn = document.querySelector('#start-btn');
    const stopBtn = document.querySelector('#stop-btn');
    const playBtn = document.querySelector('#play-btn');
    let mediaRecorder = null;
    let audioData = [];
    const chartsContainer = document.querySelector('.charts-container');

    // Initialize all charts
    const charts = {
        bar: echarts.init(document.getElementById('bar-chart')),
        line: echarts.init(document.getElementById('line-chart')),
        pie: echarts.init(document.getElementById('pie-chart')),
        scatter: echarts.init(document.getElementById('scatter-chart')),
        radar: echarts.init(document.getElementById('radar-chart'))
    };

    // Sample data for demonstration
    const sampleData = {
        categories: ['A', 'B', 'C', 'D', 'E'],
        values: [20, 30, 40, 10, 50]
    };

    // Function to render different types of charts
    function renderCharts() {
        Object.keys(charts).forEach(type => {
            const chart = charts[type];
            const option = {
                title: {
                    text: `${type.charAt(0).toUpperCase() + type.slice(1)} Chart`
                },
                tooltip: {},
                xAxis: {
                    data: sampleData.categories
                },
                yAxis: {},
                series: [{
                    name: 'Data',
                    type: type === 'scatter' ? 'scatter' : 'bar',
                    data: type === 'scatter' ? sampleData.values.map((value, index) => ([index, value])) : sampleData.values
                }]
            };
            chart.setOption(option);
        });
    }

    // Start recording button click
    startBtn.addEventListener('click', () => {
        navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
            mediaRecorder = new MediaRecorder(stream, { mimeType: 'audio/webm' });
            mediaRecorder.start();
            mediaRecorder.addEventListener('dataavailable', ev => {
                audioData.push(ev.data);
            });
            mediaRecorder.addEventListener('stop', () => {
                audioData = new Blob(audioData);
            });
            startBtn.disabled = true;
            stopBtn.disabled = false;
        }).catch(info => {
            alert('无法获取麦克风权限!错误信息:' + info);
        });
    });

    // Stop recording button click
    stopBtn.addEventListener('click', () => {
        startBtn.disabled = false;
        stopBtn.disabled = true;
        playBtn.disabled = false;
        sendAudioToServer();
    });

    // Play recorded audio button click
    playBtn.addEventListener('click', () => {
        if (audioData === null) return false;
        const audio = new Audio(URL.createObjectURL(audioData));
        audio.play();
    });

    // Function to send audio data to server
    async function sendAudioToServer() {
        const blob = new Blob();
        const formData = new FormData();
        formData.append('file', blob, 'audio.webm');
        try {
            const response = await fetch('/upload', {
                method: 'POST',
                body: formData
            });
            if (response.ok) {
                const responseData = await response.json();
                var txt = JSON.parse(responseData.result).Result;
                if (txt.includes("打开图表")) {
                    // chartsContainer.style.display = 'block';
                    chartsContainer.style.opacity = '1'; // Hide the container
                    showChart();
                } else {
                    alert(txt);
                }
            } else {
                alert('发送录音时出错');
            }
        } catch (error) {
            alert('发送录音时出错');
        }
    }

    // Function to show chart based on server response
    function showChart() {
        renderCharts();
    }
</script>
</body>
</html>

操作步骤

点击“开始录音”进行浏览器录音.

点击“停止录音”讲录制好的音频传递到后端服务,进行语言识别.

上传录音,调用ASR识别。

前端接收识别结果,进行业务处理。

识别成功后,数据展示直接联动。

通过整合腾讯云语音识别(ASR)服务,为智慧园区提供一个基于语音交互的大屏幕操控系统。该系统能够实时捕捉并识别园区内的语音指令,进而控制大屏幕显示相应内容,从而提升智慧园区的运营效率和用户体验。

通过实施这一技术方案,智慧园区能够进一步提升其智能化水平,为员工和企业提供更加便捷、高效的交互体验,同时优化园区的管理和运营流程。

写在最后

腾讯云语言识别技术在企业智能化转型中扮演着重要角色。随着人工智能技术的不断发展,越来越多的企业开始寻求通过智能化手段提升生产效率、优化客户体验和降低运营成本。在这个过程中,腾讯云语言识别技术为企业提供了一种高效、便捷的解决方案。

首先,腾讯云语言识别技术能够帮助企业实现业务流程的自动化。在传统的业务场景中,员工往往需要通过手动输入文字来记录信息,这个过程既耗时又容易出错。而通过引入腾讯云语言识别技术,企业可以将员工的语音实时转化为文字,从而大大提高工作效率,降低人力成本。

其次,腾讯云语言识别技术有助于提升客户服务质量。在客户服务环节,企业可以利用腾讯云语言识别技术构建智能语音助手,实现自动化的语音应答和转接功能。这样不仅可以缩短客户等待时间,还能为客户提供更加精准、个性化的服务体验。

此外,腾讯云语言识别技术还能够助力企业拓展新的业务模式。例如,在在线教育领域,企业可以通过腾讯云语言识别技术为学生提供语音互动教学服务,让学生在轻松愉快的氛围中学习知识。这种创新的教学方式不仅能够吸引更多学生参与,还能提高学生的学习兴趣和效果。

最后,腾讯云语言识别技术还能够帮助企业实现数据驱动的决策。通过对大量的语音数据进行分析和挖掘,企业可以更加准确地了解客户需求、市场趋势和业务运营情况,从而制定更加科学合理的经营策略。

腾讯云语言识别技术在企业智能化转型中发挥着重要作用。它不仅能够提高工作效率、优化客户体验,还能助力企业拓展新业务模式、实现数据驱动的决策。因此,对于希望借助智能化手段提升竞争力的企业来说,腾讯云语言识别技术无疑是一个值得考虑的选择。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 腾讯云语音识别
  • 技术亮点
  • 功能体验
    • 实时转写
      • 实时语音识别功能体验
    • 录音文件转写
      • 录音文件识别功能体验
  • 开通服务
    • 0元体验
    • 创建秘钥
    • 项目实战
      • 背景描述
      • 技术方案
        • 系统架构
          • 工作流程
            • 技术细节
            • 功能实现
              • 代码实现
                • pom.xml
                • Java API
                • application.properties
                • HTML
            • 操作步骤
            • 写在最后
            相关产品与服务
            语音识别
            腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档