【Vue瀑布流布局】vue简单实现瀑布流布局,循环数据自动排列到最短的列上【详细注释,直接使用】

前言

瀑布流布局是什么呢?应用于什么场景呢?
简单描述一下,就是,瀑布流布局就是宽度一致,但是高度不限定死,最终通过算法排列,使得布局出现一种上下交错显示的感觉,看起来像是瀑布一样。
应用场景:可以说非常多了,比如最常见的淘宝,蘑菇街等都是瀑布流布局
做前端的肯定都会遇到这种情况需要使用瀑布流布局
那么今天我就专门整理一个好用的瀑布流布局实现方法
以后小伙伴们在需要做到这个布局的时候可以直接来着复制去改改就可以使用了。【建议收藏】

效果图

效果图内放上三张图片,一张是pc端的5列布局。一种是移动端手机的2列布局,一种是pad端的2列布局

PC端的

在这里插入图片描述

手机端的

在这里插入图片描述

pad端的

在这里插入图片描述

上代码

这里代码可以直接一键复制丢到你们的项目上看看效果哈。
简单描述一下实现逻辑,代码内有注释详细看得懂。
逻辑:通过定位来实现每一个盒子的位置排列。
然后通过js的计算把每一列的长短都计算好,以此让下一个循环出的盒子永远放在最短的那一列下面
保证列不会出现一列非常长,另外一列很短的情况。

手机和电脑切换的时候刷新一下,因为可能布局会有点乱掉了。正常设备大小会自适应的。

<template>
  <div class="tab-container" id="tabContainer">
    <div class="tab-item" v-for="(item, index) in pbList" :key="index">
      <img :src="item.url" />
      <div>
        <p class="content">{{ item.content }}</p>
        <div class="tips">
          <div class="tipsLeft">
            <span style="color: #f56c6c">¥</span>
            <span style="color: #f56c6c; font-size: 22px; margin-left: 10px">{{
              item.money
            }}</span>
          </div>
          <div class="tipsRight">销量: {{ item.sales_volume }}</div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      //瀑布流数据
      pbList: [
        {
          url: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg3.doubanio.com%2Fview%2Fphoto%2Fm%2Fpublic%2Fp2650049201.jpg&refer=http%3A%2F%2Fimg3.doubanio.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1664935370&t=d4bf3e4d352c277a1bdebfcc8fda959f",
          title: "标题",
          content:
            "描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "68.50",
          sales_volume: "281",
        },
        {
          url: "https://img1.baidu.com/it/u=2911909188,130959360&fm=253&fmt=auto&app=138&f=JPEG?w=440&h=641",
          title: "标题",
          content: "描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "35.00",
          sales_volume: "1221",
        },
        {
          url: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg3.doubanio.com%2Fview%2Fphoto%2Fm%2Fpublic%2Fp2650049201.jpg&refer=http%3A%2F%2Fimg3.doubanio.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1664935370&t=d4bf3e4d352c277a1bdebfcc8fda959f",
          title: "标题",
          content:
            "描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "68.50",
          sales_volume: "281",
        },
        {
          url: "https://img1.baidu.com/it/u=2911909188,130959360&fm=253&fmt=auto&app=138&f=JPEG?w=440&h=641",
          title: "标题",
          content: "描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "35.00",
          sales_volume: "1221",
        },
        {
          url: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg3.doubanio.com%2Fview%2Fphoto%2Fm%2Fpublic%2Fp2650049201.jpg&refer=http%3A%2F%2Fimg3.doubanio.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1664935370&t=d4bf3e4d352c277a1bdebfcc8fda959f",
          title: "标题",
          content:
            "描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "68.50",
          sales_volume: "281",
        },
        {
          url: "https://img1.baidu.com/it/u=2911909188,130959360&fm=253&fmt=auto&app=138&f=JPEG?w=440&h=641",
          title: "标题",
          content: "描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "35.00",
          sales_volume: "1221",
        },
        {
          url: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg3.doubanio.com%2Fview%2Fphoto%2Fm%2Fpublic%2Fp2650049201.jpg&refer=http%3A%2F%2Fimg3.doubanio.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1664935370&t=d4bf3e4d352c277a1bdebfcc8fda959f",
          title: "标题",
          content:
            "描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "68.50",
          sales_volume: "281",
        },
        {
          url: "https://img1.baidu.com/it/u=2911909188,130959360&fm=253&fmt=auto&app=138&f=JPEG?w=440&h=641",
          title: "标题",
          content: "描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "35.00",
          sales_volume: "1221",
        },
        {
          url: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg3.doubanio.com%2Fview%2Fphoto%2Fm%2Fpublic%2Fp2650049201.jpg&refer=http%3A%2F%2Fimg3.doubanio.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1664935370&t=d4bf3e4d352c277a1bdebfcc8fda959f",
          title: "标题",
          content:
            "描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "68.50",
          sales_volume: "281",
        },
        {
          url: "https://img1.baidu.com/it/u=2911909188,130959360&fm=253&fmt=auto&app=138&f=JPEG?w=440&h=641",
          title: "标题",
          content: "描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "35.00",
          sales_volume: "1221",
        },
        {
          url: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg3.doubanio.com%2Fview%2Fphoto%2Fm%2Fpublic%2Fp2650049201.jpg&refer=http%3A%2F%2Fimg3.doubanio.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1664935370&t=d4bf3e4d352c277a1bdebfcc8fda959f",
          title: "标题",
          content:
            "描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "68.50",
          sales_volume: "281",
        },
        {
          url: "https://img1.baidu.com/it/u=2911909188,130959360&fm=253&fmt=auto&app=138&f=JPEG?w=440&h=641",
          title: "标题",
          content: "描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "35.00",
          sales_volume: "1221",
        },
        {
          url: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg3.doubanio.com%2Fview%2Fphoto%2Fm%2Fpublic%2Fp2650049201.jpg&refer=http%3A%2F%2Fimg3.doubanio.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1664935370&t=d4bf3e4d352c277a1bdebfcc8fda959f",
          title: "标题",
          content:
            "描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "68.50",
          sales_volume: "281",
        },
        {
          url: "https://img1.baidu.com/it/u=2911909188,130959360&fm=253&fmt=auto&app=138&f=JPEG?w=440&h=641",
          title: "标题",
          content: "描述部分描述部分描述部分描述部分描述部分描述部分描述部分",
          money: "35.00",
          sales_volume: "1221",
        },
      ],
    };
  },
  mounted() {
    this.waterFall("#tabContainer", ".tab-item"); //实现瀑布流
    // 窗口变化自适应布局
    window.onresize = () => {
      return (() => {
        this.waterFall("#tabContainer", ".tab-item");
      })();
    };
  },
  methods: {
    /**
     * @param { string } wrapIdName    容器id(或class)名称
     * @param { string } contentIdName 容器中内容项id(或class)名称
     * @param { number } column        容器中内容展示列数 手机的话建议改为2
     * @param { number } columnGap     容器中 列 间隔距离 默认为20
     * @param { number } rowGap        容器中 行 间隔距离 默认为20
     */

    //瀑布流方法:通过拿到dom循环,给每一个dom添加对应的定位位置排列出瀑布流布局。
    //通过判断列的高度,来把下一个盒子放在最短的地方补上
    waterFall(
      wrapIdName,
      contentIdName,
      columns = 5,
      columnGap = 20,
      rowGap = 20
    ) {
      // 获得内容可用宽度(去除滚动条宽度)
      const wrapContentWidth =
        document.querySelector(wrapIdName).offsetWidth - 8;

      // 间隔空白区域
      const whiteArea = (columns - 1) * columnGap;

      // 得到每列宽度(也即每项内容宽度)
      const contentWidth = parseInt((wrapContentWidth - whiteArea) / columns);

      // 得到内容项集合
      const contentList = document.querySelectorAll(contentIdName);

      // 成行内容项高度集合
      const lineConentHeightList = [];

      for (let i = 0; i < contentList.length; i++) {
        // 动态设置内容项宽度
        contentList[i].style.width = contentWidth + "px";

        // 获取内容项高度
        const height = contentList[i].clientHeight;

        if (i < columns) {
          // 第一行按序布局
          contentList[i].style.top = 0;
          contentList[i].style.left = contentWidth * i + columnGap * i + "px";

          // 将行高push到数组
          lineConentHeightList.push(height);
        } else {
          // 其他行
          // 获取数组最小的高度 和 对应索引
          let minHeight = Math.min(...lineConentHeightList);
          let index = lineConentHeightList.findIndex(
            (listH) => listH === minHeight
          );

          contentList[i].style.top = minHeight + rowGap + "px";
          contentList[i].style.left = (contentWidth + columnGap) * index + "px";

          // 修改最小列的高度 最小列的高度 = 当前自己的高度 + 拼接过来的高度 + 行间距
          lineConentHeightList[index] += height + rowGap;
        }
      }
    },
  },
};
</script>

<style scoped>
* {
  margin: 0;
  padding: 0;
}
/* 最外层大盒子 */
.tab-container {
  position: relative;
}
/* 每个小盒子 */
.tab-container .tab-item {
  position: absolute;
  height: auto;
  border: 1px solid #ccc;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
  background: white;
  /* 元素不能中断显示 */
  break-inside: avoid;
  text-align: center;
}
.tab-container .tab-item img {
  width: 100%;
  height: auto;
}
/* 描述 */
.content {
  text-align: left;
  color: #5c5c5c;
  font-size: 14px;
  margin-top: 10px;
  padding: 0 10px 0 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  /* 将对象作为弹性伸缩盒子模型显示 */
  display: -webkit-box;
  /* 限制在一个块元素显示的文本的行数 */
  /* -webkit-line-clamp 其实是一个不规范属性,使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;*/
  -webkit-line-clamp: 2;
  /* 设置或检索伸缩盒对象的子元素的排列方式 */
  -webkit-box-orient: vertical;
}
/* 价格和销量 */
.tips {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  margin: 10px 0;
}
.tipsRight {
  padding: 3px 7px;
  background-color: #ff9a00;
  color: #fff;
  border-radius: 8px;
  font-size: 14px;
}
</style>
实用语音识别基础--21世纪高等院校技术优秀教材 ISBN:711803746 作者:王炳锡 屈丹 彭煊 出版社:国防工业出版社 本书从语音识别的基本理论出发,以“从理论到实用”为主线,讲解了国际上最新、最前沿的语音识别领域的关键技术,从语料库建立、语音信号预处理、特征提取、特征变换、模型建立等方面详细介绍了语音识别系统建立的过程,并针对语音识别系统实用化的问题,给出了一些改善语音识别系统性能的关键技术,力求语音识别能走出实验室,向实用发展。   全书共分四个部分(17章),第一部分介绍语音识别的基本理论;第二部分介绍实用语音识别系统建立的过程;第三部分列举了语音识别系统工程化所需的关键技术;第四部分对语音识别的4个主要应用领域进行了详尽的、深入浅出的讲解,并根据最新的研究与实验结果提供了大量的实际参数、图表,与实际工作联系紧密,具有很强的可操作性与实用性。章节之间紧密配合、前后呼应,具有很强酶系统性。同时,通过书中的研究过程和研究方法,读者能够在以后的研究工作中得到很大的启发。   本书可作为高等院校理工科通信和信息处理及相关专业的高年级本科生和(硕士、博士)研究生的教材或参考书,也可供从事信息处理、通信工程等专业的研究人员参考。   目录:   第1章 绪论   1. 1 概述   1. 2 语音识别综述   1. 3 国内外语音识别的研究现状和发展趋势   参考文献   第一部分 基本理论   第2章 听觉机理和汉语语音基础   2. 1 概述   2. 2 听觉机理和心理   2. 2. 1 语音听觉器官的生理结构   2. 2. 2 语音听觉的心理   2. 3 发音的生理机构与过程   2. 4 汉语语音基本特性   2. 4. 1 元音和辅音   2. 4. 2 声母和韵母   2. 4. 3 音调 字调   2. 4. 4 音节 字 构成   2. 4. 5 汉语的波形特征   2. 4. 6 音的频谱特性   2. 4. 7 辅音的频谱特性   2. 4. 8 汉语语音的韵律特征   2. 5 小结   参考文献   第3章 语音信号处理方法--时域处理   3. 1 概述   3. 2 语音信号的数字化和预处理   3. 2. 1 语音信号的数字化   3. 2. 2 语音信号的预处理   3. 3 短时平均能量和短时平均幅度   3. 3. 1 短时平均能量   3. 3. 2 短时平均幅度   3. 4 短时过零分析   3. 4. 1 短时平均过零率   3. 4. 2 短时上升过零间隔   3. 5 短时自相关函数和平均幅度差函数   3. 5. 1 短时自相关函数   3. 5. 2 短时平均幅度差函数   3. 6 高阶统计量   3. 6. 1 单个随机变量情况   3. 6. 2 多个随机变量及随机过程情况   3. 6. 3 高斯过程的高阶累积量   3. 7 小结   参考文献   第4章 语音信号处理方法--时频处理   4. 1 概述   4. 2 短时傅里叶变换   4. 2. 1 短时傅里叶变换的定义和物理意义   4. 2. 2 基于短时傅里叶变换的语谱图及其时频分辨率   4. 2. 3 短时傅里叶谱的采样   4. 3 小波变换   4. 3. 1 连续小波变换   4. 3. 2 二进小波变换   4. 3. 3 离散小波变换   4. 3. 4 多分辨分析   4. 3. 5 正交小波包   4. 4 Wigner分布   4. 4. 1 Wigner分布的定义   4. 4. 2 Wigner分布的一般性质   4. 4. 3 两个信号和妁Wigner分布   4. 4. 4 Wigner分布的重建   4. 4. 5 Wigner分布的实现   4. 5 小结   参考文献   第5章 语音信号处理方法--倒谱同态处理   5. 1 概述   5. 2 复倒谱和倒谱   5. 2. 1 定义   5. 2. 2 复倒谱的性质   5. 3 语音信号的倒谱分析与同态解卷积   5. 3. 1 叠加原理和广义叠加原理   5. 3. 2 同态解卷特征系统和同态解卷反特征系统   5. 3. 3 同态解卷系统   5. 3. 4 语音的复倒谱及同态解卷   5. 4 避免相位卷绕的算法   5. 4. 1 最小相位信号法   5. 4. 2 递归法   5. 5 小结   参考文献   第二部分 语音识别系统   第6章 语料库   6. 1 概述   6. 2 语料库的基本特征   6. 3 语料库的类型   6. 4 语音语料库   6. 4. 1 语音语料库建立. 收集和标注的意义   6. 4. 2 语音语料库的建立和收集要点   6. 4. 3 标准语音库语音特性描述   6. 5 语料库的设计举例--863汉语普通话语音合成语料库的设计   6. 5. 1 语料库设计原则   6. 5. 2 语音库的标注   6. 5. 3 与语音语料库相关的文字语料库标注   6. 6 小结   参考文献   第7章 语音识别的预处理   7. 1 概述   7. 2 语音识别单元的选取   7. 2. 1 汉语音节   7. 2. 2 汉语的基本音素   7. 2. 3 汉语半音节   7. 3 自动分段--端点检测技术   7. 3. 1 基于能量的端点检测   7. 3. 2 基于LPC-10声码器的端点检测   7. 3. 3 基于信息熵的语音端点检测   7. 3. 4 基于频带方差的端点检测   7. 3. 5 基于倒谱特征的带噪语音信号端点检测   7. 3. 6 基于HMM的端点检测方法   7. 3. 7 基于分形技术的端点检测   7, 3. 8 基于自相关相似距离的端点检测   7. 3. 9 基于迟滞编码的端点检测   7. 3. 10 实时端点检测算法   7. 4 小结   参考文献   第8章 语音信号特征参数   8. 1 概述   8. 2 基音周期   8. 2. 1 自相关法及其改进   8. 2. 2 并行处理法   8. 2. 3 倒谱法   8. 2. 4 简化逆滤波法   8. 3 线性预测参数   8. 3. 1 线性预测信号模型   8. 3. 2 线性预测误差滤波   8. 3. 3 语音信号的线性预测分析   8. 3. 4 线性预测分析的解法   8. 3. 5 斜格法及其改进   8. 4 线谱对 LSP 参数   8. 4. 1 线谱对分析原理   8. 4. 2 线谱对分析的求解   8. 5 LPCC参数   8. 6 mfcc参数   8. 7 ASCC参数   8. 8 感觉加权的线性预测 PLP 特征   8. 8. 1 PLP参数   8. 8. 2 RASTA-PLP参数   8. 9 动态差分参数   8. 10 高阶信号谱类特征   8. 10. 1 WV谱的定义及其主要性质   8. 10. 2 WV谱计算式的一些变形   8. 11 小结   参考文献   第9章 特征变换   9. 1 概述   9. 2 线性判别分析 LDA   9. 2. 1 线性判别分析的概念   9. 2. 2 广义线性判别函数   9. 2. 3 Fisher线性判别   9. 2. 4 多类问题   9. 3 主分量分析 PCA   9. 3. 1 基于K-L变换的主分量分析   9. 3. 2 随机向量的K-L展开   9. 3. 3 基于K-L变换的降维   9. 4 独立分量分析 ICA   9. 4. 1 引言   9. 4. 2 线性独立分量分析   9. 4. 3 线性独立分量分析算法   9. 4. 4 独立分量分析的预处理   9. 4. 5 非线性独立分量分析   9. 5 小结   参考文献   第10章 语音识别的模型   10. 1 概述   10. 2 动态时间规整 DTW   10. 2. 1 动态规划技术 DP   10. 2. 2 DTW算法的改进   10. 3 隐马尔可夫模型 HMM   10. 3. 1 隐马尔可夫模型的定义   10. 3. 2 HMM中的3个基本问题及其解决方案   10. 3. 3 隐马尔可夫模型的类型   10. 3. 4 HMM算法实现的问题   10. 4 分类模型 SVM   10. 4. 1 引言   10. 4. 2 学习问题   10. 4. 3 学习过程一致性的条件   10. 4. 4 学习过程收敛速度的界   10. 4. 5 结构风险最小归纳原理   10. 4. 6 支持向量机   10. 5 人工神经网络   10. 5. 1 引言   10. 5. 2 神经元的基本模型   10. 5. 3 前向网络   10. 5. 4 反馈网络   10. 6 高斯混合模型 GMM   10. 6. 1 高斯混合模型的定义   10. 6. 2 参数调整算法--em算法   10. 7 小结   参考文献   第三部分 语音识别中关键处理技术   第11章 说话人自适应和说话人归一化技术   11. 1 概述   11. 2 自适应方式的分类   11. 3 MLLR算法介绍   11. 3. 1 语音特征空间的划分   11. 3. 2 参数的估计   11. 3. 3 对均值矢量的变换   11. 4 MAP算法介绍   11. 4. 1 MAP算法准则   11. 4. 2 MAP算法公式推导   11. 4. 3 MAP算法讨论   11. 5 说话人归一化技术   11. 5. 1 说话人归一化技术原理   11. 5. 2 声道长度归一化 VTLN   11. 6 小结   参考文献   第12章 噪声抑制   12. 1 概述   12. 2 基于小波变换的噪声抑制   12. 2. 1 利用小波变换去除周期性噪声   12. 2. 2 利用小波变换去除冲激噪声   12. 2. 3 利用小波变换去除宽带噪声   12. 2. 4 小波去噪方法的分析   12. 3 基于EVRC编码的噪声抑制   12. 4 基于HMM模型的噪声补偿   12. 5 小结   参考文献   第13章 信道补偿   13. 1 概述   13. 2 稳健语音识别技术   13. 2. 1 稳健语音识别的提出   13. 2. 2 稳健语音识别的研究现状   13. 3 信道补偿技术的主要方法   13. 3. 1 经验补偿技术   13. 3. 2 盲补偿   13. 3. 3 基于特征及模型的补偿   13. 4 信道补偿技术在语音识别中的应用   13. 4. 1 信道补偿技术在汽车内语音识别中的应用   13. 4. 2 基于信道补偿的电话语音识别   13. 5 小结   参考文献   第四部分语音识别应用   第14章 说话人识别   14. 1 概述   14. 2 说话人识别的基本原理   14. 2. 1 说话人识别系统的典型结构   14. 2. 2 技术原理   14. 3 说话人识别的特征选择   14. 3. 1 说话人识别系统中常用的特征   14. 3. 2 特征参数的统计评价   14. 4 说话人识别的主要方法   14. 4. 1 模板匹配法   14. 4. 2 概率统计方法   14. 4. 3 辨别分类器方法   14. 4. 4. 混合方法   14. 5 判决规则与性能评价标准   14. 5. 1 说话人辨认   14. 5. 2 说话人确认 检测   14. 6 说话人识别中的稳健技术   14. 7 系统举例   14. 7. 1 GMM说话人辨认算法   14. 7. 2 SVM-GMM混合模型   14. 7. 3 CMM-UBM说话人确认   14. 8 小结   参考文献   第15章 关键词识别   15. 1 概述   15. 2 关键词识别及其与连续语音识别的关系   15. 3 关键词识别原理   15. 3. 1 关键词识别系统组成   15. 3. 2 关键词识别的基本问题   15. 3. 3 关键词识别系统的主要技术难点   15. 4 搜索策略   15. 4. 1 语音起始和结束点的粗判   15. 4. 2 帧同步的Viterbi解码算法   15. 4. 3 加入驻留惩罚的改进Viterbi解码算法   15. 4. 4 语法节点处的路径合并   15. 4. 5 回溯   15. 5 识别结果的确认   15. 5. 1 置信度的原理   15. 5. 2 利用反词模型的拒识方法   15. 5. 3 利用识别结果本身信息的拒识方法   15. 6 系统实现   15. 6. 1 训练和识别系统框图   15. 6. 2 训练系统的具体实现   15. 6. 3 识别系统的具体实现   15. 7 小结   参考文献   第16章 语言辨识   16. 1 概述   16. 1. 1 语言辨识的原理   16. 1. 2 语言辨识技术研究发展的历史   16. 2 语言辨识所需要的有用信息   16. 3 针对自动语言辨识的知觉研究   16. 4 语言辨识的主要方法   16. 4. 1 频谱相似性方法   16. 4. 2 基于韵律信息的方法   16. 4. 3 基于音素识别的方法   16. 4. 4 基于多语言语音单元的方法   16. 4. 5 单词层次方法   16. 4. 6 基于连续语音识别的方法   16. 4. 7 元音系统模型   16. 5 语言辨识系统举例   16. 5. 1 基于GMM-UBM模型的语言辨识系统   16. 5. 2 基于最小分类误差准则的语言辨识系统   16. 5. 3 基于说话人聚类和高斯混合模型的语言辨识系统   16. 5. 4 基于时频主分量分析和高斯混合模型的语言辨识系统   16. 5. 5 基于高斯混合二元模型的语言辨识系统   16. 6 语言辨识系统评估   16. 7 小结   参考文献   第17章 连续语音识别   17. 1 概述   17. 2 连续语音识别整体模型   17. 3 声学模型   17. 3. 1 语音识别单元的选取   17. 3. 2 基于予词单元HMM的训练   17. 4 连续语音识别中的搜索策略   17. 4. 1 传统的帧同步算法   17. 4. 2 基于统计知识的帧同步搜索算法原理   17. 4. 3 受词法约束的词搜索树   17. 4. 4 连续语音识别中的双层搜索网络   17. 5 语言模型   17. 5. 1 基于规则的方法   17. 5. 2 基于统计的方法   17. 5. 3 N-gram模型的平滑   17. 5. 4 基于文法规则的方法和基于统计的方法相结合   17. 6 小结   参考文献   附录 英汉名词对照
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

接口写好了吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值