一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【CW32模塊使用】JQ8900語(yǔ)音播報(bào)模塊

CW32生態(tài)社區(qū) ? 來(lái)源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2025-03-29 17:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、模塊來(lái)源

模塊實(shí)物展示:

wKgZO2flNVeAbAFRAABAhDLsu-A072.jpg

二、規(guī)格參數(shù)

輸入電壓:2.8V-5.5V

IO電壓:3.3V(模塊引腳輸出電壓)

額定電流:500uA~10mA

控制方式:串口

以上信息見(jiàn)廠家資料文件

三、移植過(guò)程

3.1查看資料

此芯片最大的優(yōu)勢(shì)在于能夠靈活的更換 SPI-flash 內(nèi)的語(yǔ)音內(nèi)容,省去了傳統(tǒng)語(yǔ)音芯片需要安裝上位機(jī)更換語(yǔ)音的麻煩,SPI FLASH 直接模擬成 U 盤(pán),跟拷貝 U 盤(pán)一樣,非常方便。使得產(chǎn)品研發(fā)和生產(chǎn)變得便捷簡(jiǎn)單。一線串口控制模式、RX232 串口控制可選,為研發(fā)提供更多的選擇性。

USB 數(shù)據(jù)線連接芯片,插上電腦,電腦會(huì)自動(dòng)識(shí)別,如下圖所示:出廠內(nèi)部自帶了10首語(yǔ)音。

注意語(yǔ)音內(nèi)容不可太長(zhǎng),防止內(nèi)存不夠。

wKgZPGflNViAMm9_AAAKyPqxJ6s135.jpg

電腦自動(dòng)識(shí)別

wKgZO2flNViAKKV_AAB6xIEDNfs719.jpg

U盤(pán)內(nèi)部

該模塊分有單獨(dú)IO控制、一線串行控制、兩線串口控制。

單獨(dú)IO口控制

如果需要更新語(yǔ)音,把要放置的聲音拷貝過(guò)去按照相應(yīng)格式命名即可。按 5 位數(shù)字進(jìn)行命名,即 00001、00002......00007。

wKgZPGflNVmAAtnGAAAzRsUaYe4351.jpg

一線串行控制

wKgZO2flNVmAWrr3AAA7Ei5FCRM166.jpg

wKgZPGflNVmAF5UJAABYPmCaY54138.jpg

wKgZO2flNVqARMKdAABBckeJ_j0474.jpgwKgZPGflNVqAPpLeAACY-HcQqCo313.jpg

兩線串口控制

波特率為 9600,數(shù)據(jù)位:8 ,停止位 1 位,檢驗(yàn)位 N

3.2引腳選擇

wKgZO2flNVuAU48IAACJqj2qbzk467.jpgwKgZPGflNVuAcSyyAACztIIqoBA012.jpgwKgZO2flNVyAQ_yqAAj1GCCoh-8548.jpg

模塊接線圖

3.3移植至工程

移植步驟中的導(dǎo)入.c和.h文件與【CW32模塊使用】DHT11溫濕度傳感器相同,只是將.c和.h文件更改為bsp_jq8900.c與bsp_jq8900.h。這里不再過(guò)多講述,移植完成后面修改相關(guān)代碼。

在文件bsp_jq8900.c中,編寫(xiě)如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-25     LCKFB-LP    first version
 */
#include "bsp_jq8900.h"
#include "stdio.h"
#include "string.h"


unsigned char JQ8900_RX_BUFF[JQ8900_RX_LEN_MAX];
unsigned char JQ8900_RX_FLAG = 0;
unsigned char JQ8900_RX_LEN = 0;


/************************************************************
 * 函數(shù)名稱(chēng):JQ8900_USART_Init
 * 函數(shù)說(shuō)明:連接JQ8900的初始化
 * 型    參:bund=串口波特率
 * 返 回 值:無(wú)
 * 備    注:無(wú)
*************************************************************/
void JQ8900_USART_Init(unsigned int bund)
{
    GPIO_InitTypeDef GPIO_InitStruct; // GPIO初始化結(jié)構(gòu)體

    BSP_JQ8900_GPIO_RCC_ENABLE();        // 使能GPIO時(shí)鐘
    BSP_JQ8900_UART_RCC_ENABLE();        // 使能UART時(shí)鐘

    GPIO_InitStruct.Pins = BSP_JQ8900_TX_PIN;            // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;          // 推挽輸出
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;             // 輸出速度高
    GPIO_Init(BSP_JQ8900_GPIO_PORT, &GPIO_InitStruct);   // 初始化

    GPIO_InitStruct.Pins = BSP_JQ8900_RX_PIN;            // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT_PULLUP;       // 上拉輸入
    GPIO_Init(BSP_JQ8900_GPIO_PORT, &GPIO_InitStruct);   // 初始化

    BSP_JQ8900_AF_UART_TX(); // UART_TX復(fù)用
    BSP_JQ8900_AF_UART_RX(); // UART_RX復(fù)用

    // 配置UART
    USART_InitTypeDef USART_InitStructure;

    USART_InitStructure.USART_BaudRate = bund;                                     // 波特率
    USART_InitStructure.USART_Over = USART_Over_16;                     // 配置USART的過(guò)采樣率。
    USART_InitStructure.USART_Source = USART_Source_PCLK;               // 設(shè)置時(shí)鐘源
    USART_InitStructure.USART_UclkFreq = 64000000;                      //設(shè)置USART時(shí)鐘頻率(和主頻一致即可)
    USART_InitStructure.USART_StartBit = USART_StartBit_FE;             //RXD下降沿開(kāi)始
    USART_InitStructure.USART_StopBits = USART_StopBits_1;              // 停止位1
    USART_InitStructure.USART_Parity = USART_Parity_No ;                // 不使用校驗(yàn)
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // 不使用流控
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;     // 收發(fā)模式
    USART_Init(BSP_JQ8900_UART, &USART_InitStructure);                  // 初始化串口2

    // 優(yōu)先級(jí),無(wú)優(yōu)先級(jí)分組
    NVIC_SetPriority(BSP_JQ8900_IRQ, 0);

    // UARTx中斷使能
    NVIC_EnableIRQ(BSP_JQ8900_IRQ);

    // 使能UARTx RC中斷
    USART_ITConfig(BSP_JQ8900_UART, USART_IT_RC, ENABLE);
}

/******************************************************************
 * 函 數(shù) 名 稱(chēng):JQ8900_USART_Send_Bit
 * 函 數(shù) 說(shuō) 明:向JQ8900模塊發(fā)送單個(gè)字符
 * 函 數(shù) 形 參:ch=字符
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
void JQ8900_USART_Send_Bit(unsigned char ch)
{
    USART_SendData(BSP_JQ8900_UART, (uint8_t)ch);

    while( RESET == USART_GetFlagStatus(BSP_JQ8900_UART, USART_FLAG_TXE) ){} // 等待發(fā)送數(shù)據(jù)緩沖區(qū)標(biāo)志置位
}


/******************************************************************
 * 函 數(shù) 名 稱(chēng):JQ8900_USART_send_String
 * 函 數(shù) 說(shuō) 明:向JQ8900模塊發(fā)送字符串
 * 函 數(shù) 形 參:str=發(fā)送的字符串
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
void JQ8900_USART_send_String(unsigned char *str, unsigned int len)
{
        while( len-- )
        {
                JQ8900_USART_Send_Bit(*str++);
        }
}
//清除串口接收的數(shù)據(jù)
/******************************************************************
 * 函 數(shù) 名 稱(chēng):Clear_JQ8900_RX_BUFF
 * 函 數(shù) 說(shuō) 明:清除JQ8900發(fā)過(guò)來(lái)的數(shù)據(jù)
 * 函 數(shù) 形 參:無(wú)
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
void Clear_JQ8900_RX_BUFF(void)
{
        unsigned char i = JQ8900_RX_LEN_MAX-1;
        while(i)
        {
                JQ8900_RX_BUFF[i--] = 0;
        }
        JQ8900_RX_LEN = 0;
        JQ8900_RX_FLAG = 0;
}



/******************************************************************
 * 函 數(shù) 名 稱(chēng):JQ8900_Init
 * 函 數(shù) 說(shuō) 明:JQ8900模塊初始化
 * 函 數(shù) 形 參:無(wú)
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:JQ8900的默認(rèn)波特率是9600
******************************************************************/
void JQ8900_Init(void)
{
    JQ8900_USART_Init(9600);//默認(rèn)波特率為9600

    GPIO_InitTypeDef GPIO_InitStruct; // GPIO初始化結(jié)構(gòu)體

    BSP_JQ8900_GPIO_RCC_ENABLE();        // 使能GPIO時(shí)鐘

    GPIO_InitStruct.Pins = GPIO_JQ8900_APP;              // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;          // 推挽輸出
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;             // 輸出速度高
    GPIO_Init(BSP_JQ8900_GPIO_PORT, &GPIO_InitStruct);   // 初始化

    SET_JQ8900_APP(1);
}



/**********************************************************
 * 函 數(shù) 名 稱(chēng):SendData
 * 函 數(shù) 功 能:一線串行通信控制
 * 傳 入 參 數(shù):addr=發(fā)送的指令
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:無(wú)
**********************************************************/
void SendData ( unsigned char  addr )
{
    unsigned char i;
    SET_JQ8900_APP(1); /*開(kāi)始拉高  */
    delay_us ( 500 );
    SET_JQ8900_APP(0);/*開(kāi)始引導(dǎo)碼*/
    delay_ms ( 4 );/*此處延時(shí)最少要大于2ms,官方建議4MS  */
    for ( i = 0; i < 8; i++ ) /*總共8位數(shù)據(jù),從低位開(kāi)始  */
    {
                //數(shù)據(jù)總是從1開(kāi)始
        SET_JQ8900_APP(1);
        if ( addr & 0x01 )
        {
            delay_us ( 1300 );/*3:1表示數(shù)據(jù)位1,每個(gè)位用兩個(gè)脈沖表示  */
           SET_JQ8900_APP(0);
            delay_us ( 500 );
        }
        else
        {
            delay_us ( 500 );/*1:3表示數(shù)據(jù)位0 ,每個(gè)位用兩個(gè)脈沖表示  */
            SET_JQ8900_APP(0);
            delay_us ( 1300 );
        }
        addr >>= 1;
    }
    SET_JQ8900_APP(1);
        delay_ms(10);//兩個(gè)字節(jié)之間延時(shí)建議在10ms以上
}



/******************************************************************
 * 函 數(shù) 名 稱(chēng):JQ8900_USART_IRQHandler
 * 函 數(shù) 說(shuō) 明:連接JQ8900的串口中斷服務(wù)函數(shù)
 * 函 數(shù) 形 參:無(wú)
 * 函 數(shù) 返 回:無(wú)
 * 作       者:LC
 * 備       注:無(wú)
******************************************************************/
void JQ8900_USART_IRQHandler(void)
{
    if(USART_GetITStatus(BSP_JQ8900_UART,USART_IT_RC) != RESET) // 接收緩沖區(qū)不為空
    {
                                    //接收數(shù)據(jù)
        JQ8900_RX_BUFF[ JQ8900_RX_LEN ] = USART_ReceiveData(BSP_JQ8900_UART);

        #if DEBUG
                //測(cè)試,查看接收到了什么數(shù)據(jù)
                printf("%c", JQ8900_RX_BUFF[ JQ8900_RX_LEN ]);
        #endif

        //接收長(zhǎng)度限制
        JQ8900_RX_LEN = ( JQ8900_RX_LEN + 1 ) % JQ8900_RX_LEN_MAX;

        JQ8900_RX_BUFF[JQ8900_RX_LEN] = '?'; //字符串結(jié)尾補(bǔ) '?'
        JQ8900_RX_FLAG = SET;            // 接收完成

        USART_ClearITPendingBit(BSP_JQ8900_UART, USART_IT_RC); // 清除中斷標(biāo)志位
    }
}

在文件bsp_jq8900.h中,編寫(xiě)如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-25     LCKFB-LP    first version
 */

#ifndef _BSP_JQ8900_H_
#define _BSP_JQ8900_H_

#include "string.h"
#include "board.h"


//是否開(kāi)啟串口調(diào)試,查看WIFI回顯數(shù)據(jù)
#define     DEBUG   1


#define JQ8900_RX_LEN_MAX        250 //串口接收最大長(zhǎng)度


/****************************   串口配置    ****************************/
#define BSP_JQ8900_GPIO_RCC_ENABLE()  __RCC_GPIOA_CLK_ENABLE()   // 串口TX的端口時(shí)鐘
#define BSP_JQ8900_UART_RCC_ENABLE()  __RCC_UART2_CLK_ENABLE()   // 串口2的時(shí)鐘

#define BSP_JQ8900_AF_UART_TX()       PA02_AFx_UART2TXD()
#define BSP_JQ8900_AF_UART_RX()       PA03_AFx_UART2RXD()

#define BSP_JQ8900_GPIO_PORT          CW_GPIOA          // GPIO的端口

#define BSP_JQ8900_TX_PIN             GPIO_PIN_2        // 串口TX的引腳
#define BSP_JQ8900_RX_PIN             GPIO_PIN_3        // 串口RX的引腳

#define BSP_JQ8900_UART               CW_UART2          // 串口2
#define BSP_JQ8900_IRQ                UART2_IRQn        // 串口2中斷
#define BSP_JQ8900_IRQHandler         UART2_IRQHandler  // 串口2中斷服務(wù)函數(shù)

#define GPIO_JQ8900_APP               GPIO_PIN_1

#define SET_JQ8900_APP(x)             GPIO_WritePin(BSP_JQ8900_GPIO_PORT, GPIO_JQ8900_APP, x?GPIO_Pin_SET:GPIO_Pin_RESET);


void JQ8900_Init(void);
void JQ8900_USART_send_String(unsigned char *str, unsigned int len);
void SendData ( unsigned char  addr );
void JQ8900_USART_Send_Bit(unsigned char ch);
#endif

四、移植驗(yàn)證

在自己工程中的main主函數(shù)中,編寫(xiě)如下。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-25     LCKFB-LP    first version
 */
#include "board.h"
#include "stdio.h"
#include "bsp_uart.h"
#include "bsp_jq8900.h"

int32_t main(void)
{
    //下一曲(沒(méi)有指定曲目則從1開(kāi)始一直播報(bào)到最后)
    uint8_t send_buff[4] = {0xAA,0x06,0x00,0xB0};

    board_init();
    uart1_init(115200U);

    JQ8900_Init();

    printf("Start...rn");

    while(1)
    {
        //兩線串口測(cè)試
        JQ8900_USART_send_String(send_buff,4);
        delay_ms(3000);
    }
}

移植現(xiàn)象:

移植現(xiàn)象:持續(xù)播報(bào)模塊內(nèi)部的全部語(yǔ)音。

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/1XcBxcE_BNWIzfEHu9G5c1g?pwd=LCKF

提取碼:LCKF

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1588

    瀏覽量

    80001
  • 語(yǔ)音芯片
    +關(guān)注

    關(guān)注

    12

    文章

    2049

    瀏覽量

    38055
  • 語(yǔ)音播報(bào)
    +關(guān)注

    關(guān)注

    1

    文章

    35

    瀏覽量

    14866
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    255

    瀏覽量

    1258
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32移植Free-RTOS】CW32開(kāi)發(fā)者扶持計(jì)劃

    CW32配置Free-RTOS全過(guò)程,CW32開(kāi)發(fā)者扶持計(jì)劃
    的頭像 發(fā)表于 04-18 09:38 ?6667次閱讀
    【<b class='flag-5'>CW32</b>移植Free-RTOS】<b class='flag-5'>CW32</b>開(kāi)發(fā)者扶持計(jì)劃

    CW32模塊使用】語(yǔ)音合成播報(bào)模塊

    SYN6288E 中文語(yǔ)音合成芯片是北京宇音天下科技有限公司在 2010 年初推出的一款性/價(jià)比更高的 SYN6288 芯片的基礎(chǔ)上更改封裝方式的,效果更自然的一款中高端語(yǔ)音合成芯片
    的頭像 發(fā)表于 03-29 17:25 ?647次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用】<b class='flag-5'>語(yǔ)音</b>合成<b class='flag-5'>播報(bào)</b><b class='flag-5'>模塊</b>

    語(yǔ)音模塊JQ8400

    最近做語(yǔ)音播放器,買(mǎi)了JQ8400-TF模塊實(shí)驗(yàn)。用軟件發(fā)送指令,可以發(fā)送,可是模塊沒(méi)法反應(yīng)。。。驅(qū)動(dòng)也裝了,連接也沒(méi)錯(cuò)。。各位大俠可有招?可有大俠做過(guò)類(lèi)似的或者其他好用的
    發(fā)表于 08-14 22:37

    arduino如何控制JQ***P語(yǔ)音模塊

    首先要感謝stm32通過(guò) 一線串口通信控制JQ***P語(yǔ)音模塊的作者我就是根據(jù)這位博主的代碼改寫(xiě)的,但是碰到了意想不到的問(wèn)題。其實(shí)代碼是寫(xiě)對(duì)了,語(yǔ)音
    發(fā)表于 01-07 08:09

    JQ6500語(yǔ)音模塊的相關(guān)資料分享

    一:Note今天分享一下最近用到的JQ6500語(yǔ)音模塊,我主要是用它來(lái)做個(gè)語(yǔ)音播報(bào)功能,同時(shí)在使用中遇到的一些問(wèn)題。二:使用說(shuō)明這個(gè)
    發(fā)表于 01-07 08:06

    JQ8400語(yǔ)音模塊資料包

    JQ8400語(yǔ)音模塊資料包
    發(fā)表于 03-13 13:03 ?180次下載

    使用STC89C52一線串口控制JQ8900播放指定曲目的資料和程序說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STC89C52一線串口控制JQ8900語(yǔ)音芯片播放指定曲目的資料和程序說(shuō)明。
    發(fā)表于 04-04 08:00 ?135次下載
    使用STC89C52一線串口控制<b class='flag-5'>JQ8900</b>播放指定曲目的資料和程序說(shuō)明

    JQ8900語(yǔ)音芯片的STM32F1使用程序資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是JQ8900語(yǔ)音芯片的STM32F1使用例程資料免費(fèi)下載
    發(fā)表于 05-19 08:00 ?58次下載
    <b class='flag-5'>JQ8900</b><b class='flag-5'>語(yǔ)音</b>芯片的STM32F1使用程序資料免費(fèi)下載

    語(yǔ)音播報(bào)模塊有哪些芯片?支持OTA升級(jí)的語(yǔ)音ic芯片模塊WT2003H

    語(yǔ)音播報(bào)模塊領(lǐng)域,WT2003H語(yǔ)音芯片是一款備受歡迎的語(yǔ)音芯片。除了提供高品質(zhì)音頻播報(bào)功能外
    的頭像 發(fā)表于 04-11 10:13 ?1394次閱讀
    <b class='flag-5'>語(yǔ)音</b><b class='flag-5'>播報(bào)</b><b class='flag-5'>模塊</b>有哪些芯片?支持OTA升級(jí)的<b class='flag-5'>語(yǔ)音</b>ic芯片<b class='flag-5'>模塊</b>WT2003H

    語(yǔ)音播報(bào)模塊有哪些芯片?支持OTA升級(jí)的語(yǔ)音ic芯片模塊WT2003H

    語(yǔ)音播報(bào)模塊領(lǐng)域,WT2003H語(yǔ)音芯片是一款備受歡迎的語(yǔ)音芯片。除了提供高品質(zhì)音頻播報(bào)功能外
    的頭像 發(fā)表于 04-11 10:40 ?1275次閱讀
    <b class='flag-5'>語(yǔ)音</b><b class='flag-5'>播報(bào)</b><b class='flag-5'>模塊</b>有哪些芯片?支持OTA升級(jí)的<b class='flag-5'>語(yǔ)音</b>ic芯片<b class='flag-5'>模塊</b>WT2003H

    基于CW32的智能語(yǔ)音分類(lèi)垃圾桶設(shè)計(jì)

    基于CW32的智能語(yǔ)音分類(lèi)垃圾桶設(shè)計(jì)
    的頭像 發(fā)表于 11-06 16:51 ?1918次閱讀
    基于<b class='flag-5'>CW32</b>的智能<b class='flag-5'>語(yǔ)音</b>分類(lèi)垃圾桶設(shè)計(jì)

    基于CW32的RC522刷卡模塊的應(yīng)用

    基于CW32的RC522刷卡模塊的應(yīng)用
    的頭像 發(fā)表于 11-02 14:53 ?1737次閱讀
    基于<b class='flag-5'>CW32</b>的RC522刷卡<b class='flag-5'>模塊</b>的應(yīng)用

    基于CW32的物聯(lián)網(wǎng)應(yīng)用

    CW32】基于CW32的物聯(lián)網(wǎng)應(yīng)用
    的頭像 發(fā)表于 11-02 15:55 ?1235次閱讀
    基于<b class='flag-5'>CW32</b>的物聯(lián)網(wǎng)應(yīng)用

    基于CW32的遙控循跡小車(chē)

    本實(shí)驗(yàn)是使用CW32單片機(jī)制作一個(gè)入門(mén)的遙控循跡小車(chē)。遙控采用藍(lán)牙配合手機(jī)APP進(jìn)行遙控。循跡使用一個(gè)5路的循跡模塊。使用OLED模塊進(jìn)行顯示當(dāng)前小車(chē)狀態(tài)。
    的頭像 發(fā)表于 11-17 17:46 ?1496次閱讀
    基于<b class='flag-5'>CW32</b>的遙控循跡小車(chē)

    TTS語(yǔ)音播報(bào)模塊簡(jiǎn)介

    在現(xiàn)代科技日新月異的時(shí)代,語(yǔ)音技術(shù)作為人工智能領(lǐng)域的重要分支,正以前所未有的速度改變著我們的生活方式。其中,TTS(Text To Speech,文本轉(zhuǎn)語(yǔ)音)語(yǔ)音播報(bào)
    的頭像 發(fā)表于 02-18 16:16 ?1005次閱讀