- 博客(932)
- 收藏
- 关注
转载 vue项目打包后本地index运行
vue-cli项目打包后直接在本机运行,config/index.js 中修改代码build: { // Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', //加了一个小点 assetsPublicPath: './', }打包后图标不能用?build / utils.js 中 return ExtractTextPlugin.ex...
2021-11-24 10:14:48
707
原创 安装 webrtcvad 出错
可参考这篇文章https://ask.youkuaiyun.com/questions/1432431下载编译好的包https://drive.google.com/file/d/1ze3PHQtfpzCietKjyRT9Nd1t5jXKqtfS/view?usp=sharing放入site-packages 中
2021-05-19 09:47:01
838
转载 编译 lame (for IOS)
网上找了许多编译lame的教程,结果都是编译失败,多次尝试后发现是编译脚本放错路径了,记录下编译的过程,把编译脚本放到源码文件夹中和修改编译脚本中的目录是关键。一、首先去Lame官网 http://lame.sourceforge.net/download.php 下载源码(压缩包),这里以3.1版本为例。二、到 https://github.com/kewlbear/lame-ios-build 下载编译脚本(压缩包)三、解压源码,源码目录结构如下:四、解压脚本,得到build-lame.
2021-04-29 20:32:29
685
转载 Android编译Lame库(Mp3编解码库)
一、概述 Lame是目前最好的mp3编解码工具。 特点:音质好,压缩比比较高,被大量软件和硬件支持,应用广泛。 所以储备一下mp3的编解码知识还是很有必要的二、编译示例 继上一节中新建的demo开始讲解: 1.下载lame源代码:下载 2.解压代码并把lame-3.99.5文件下,libmp3lame和include文件夹下的.c和.h文件都copy到cpp/lame文件夹下。 3.对源码进行修改 a.删除fft.c文件的47行的includ...
2021-04-28 15:24:46
1010
转载 C/C++移植IOS(CMAKE编译与链接)
背景:需要把Linux下的C/C++代码移植到iOS平台下,iOS APP链接编译的静态库和动态库进行测试。工具准备: mac一台 cmake xcodegithub上有一个iOS版的Cmake编译工具链:ios-cmake基于该Cmake编译工具链将C/C++代码编译成iOS平台可用的静态库或者动态库。编译进入/C/C++源码目录下,新建ios.toolchain.cmake文件编辑内容如:ios.toolchain.cmake 接着继续新建CMakeL
2021-04-23 22:34:15
2394
转载 iOS 编译理解
iOS的编译,使用了基于LLVM的编译器。Clang(或者Swift)作为编译前端,LLVM作为后端,将代码文件编译为当前架构所对应的可执行文件。编译器通常分为前端和后端。前端: 分析代码,生成后端使用的中间码。 后端: 针对机器架构,生成对应的可执行机器码。 前后端分离: 这样设计的好处则是,支持新语言的时候,只需要修改前端;支持新底层架构,只需改后端了。Clang 是一个C、C++、Objective-C和Objective-C++编程语言的编译器前端。它采用了LLVM作...
2021-04-08 09:57:42
385
转载 Android NDK 编译原理
一、gradlegradle是Android Studio指定的自动编译脚本,它有点像 Linux C开发中的 Makefile。下面我来看下 Android Studio 是如何使用 Gradle 的。在 Android 项目中,包括三个 gradle 文件, 它分分别是:build.gradle是Android 项目的顶级脚本; setting.gradle里记录了 Android 项目里都包括了哪些子项目; app/build.gradle里记录了每个子模块应该如何进行编译。 下.
2021-04-08 09:42:40
794
原创 android studio 笔记
第 8 章数据存储应用程序的开发过程涉及数据的输入、输出和保存。Android提供了以下方式供开发者存取数据:SharedPreferences存储、文件存储、SQLite数据库存储和ContentProvider。SharedPreferences是Android平台上一个轻量级的存储类,用于存储一些简单的key/value对(名值对)。它的value值只能是int型、long型、boolean型、string型和float型。应用程序中主要保存了一些常用的配置信息。8.1.1 Shar...
2021-04-05 20:29:37
330
转载 iOS 真机调试 No profile for team ‘xxxx‘ matching ‘xxx‘ found:
https://www.jianshu.com/p/8f764a7306a8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
2021-04-01 20:33:55
2579
转载 CMakeLists 简单笔记
CMakeLists.txt用于组织c++文件及目录项,并根据CMakeLists.txt文件编写的规则cmake生成对应的可执行文件。CMakeLists.txt在Linux下编译及执行c++项目过程中是必不可少的利器。【参数介绍】PROJECT-------项目名称SET...
2021-03-30 10:07:16
612
转载 Android JNI
在Android OS上开发应用程序,Google提供了两种开发包:SDK和NDK。Android 平台从一开就已经支持了C/C++了。我们知道Android的SDK主要是基于Java的,所以导致了在用Android SDK进行开发的工程师们都必须使用Java语言。不过,Google从一开始就说明Android也支持JNI编程方式,也就是第三方应用完成可以通过JNI调用自己的C动态库。于是NDK就应运而生了。什么是NDKNDK 其中NDK的全拼是:Native Develop Kit。那我们先来..
2021-03-30 09:51:45
391
转载 在Android和iOS设备上调用C++代码
不少Android和iOS项目中,因为种种原因不得不调用C/C++代码。这篇文章主要讲述如何通过Objective-C++、NDK技术在iOS及Android设备上调用C/C++代码。主要工作原理主要工作原理,如上图所示。Google Android提供NDK以便支持C/C++代码,而iOS可以通过Objective-C++(*.mm)来支持C/C++代码的编译运行。如果有朋友钻研过Cocos2d-x的话,应该对上述这些内容非常熟悉。好了,废话不多说,开始提供干货。需要调用的C++代码.
2021-03-30 09:14:31
1895
转载 openfst 学习笔记
系统学习一下openfst的操作tutorial从最基本的 fst 图说起从图中可以大致了解到 fst 包含的几个元素: 起始状态,终止状态(终止状态含有权重),转移边,边上有输入符号,输出符号,边权重于是,对于输入串 ac, fst 会输出 xz 权重和为 6.5对于 bc ,输出 yz, 权重和为 7.5creating fst创建fst的方式有两种,一是通过c++接口,二是通过shell脚本本文以shell脚本方式为主首先通过如下指令创建 text.fstca
2021-03-26 17:13:51
774
原创 lame库(iOS 和 Android)
用LAME这个开源的MP3编码库在iOS平台和Android平台上将一个PCM文件编码为MP3文件,最终将编码后的MP3文件发送到电脑上即可进行播放在iOS上如何搭建一个基础项目xcode选择Single View Application模板,看到Xcode默认是以Story board的形式构建的界面部分,由于我们不希望使用这种形式来构建界面,而是希望使用xib的形式来构建界面,所以要在Main Interface选项中删除其中的内容。接下来,再建立一个界面文件作为应用的第一个界面,而在iO.
2021-03-26 16:35:58
1237
原创 swift 简单笔记
和Objective-C语言冗长的函数名相比,Swift语言显得十分简洁,而在功能上,Swift也丝毫不会逊色于Objective-C,比较显著的特点是Swift语言支持元组类型,支持开发者定义运算符函数,简洁的流程控制语句以及强大的闭包技术。Xcode开发工具的功能十分强大,可以进行macOS、iOS、tvOS、watchOS平台软件的开发,并且支持使用Objective-C与Swift两种语言环境,同时兼容C、C++语言环境。第2章 量值与基本数据类型在Swift语言中,let关键字和var
2021-03-26 16:09:59
202
原创 objective-c 简单笔记
Objective-C源文件使用“.m”作为文件名的扩展名,Xcode可以编译的文件扩展名如下所示。.c:C语言源文件、.cc或.cpp:C++语言源文件、.h:头文件、.m:Objective-C源文件、.mm:Objective-C++源文件、.pl:Perl源文件、.o:已经编译的文件。#import <Foundation/Foundation.h>在Objective-C语言中,编译器指令以 @ 符号开始,这个符号经常用在使用类和对象的情况int main
2021-03-26 14:40:40
1218
转载 Mac 下编译 Kaldi Android (arm) .so 库
话说之前公司里面一直用到的是 PocketSphinx , 但是在新的项目中有一个应用的场景,这时候发现噪声影响以及识别的精确度方面都不是很理想。于是在 Telegram Channel 里面咨询了下,@nshmyrev 回复建议可以利用 Kaldi DNN 模型,应该会有显著提升。于是考虑转向研究 Kaldi。首先碰到的一个问题是跨平台编译。网上搜索后发现,被引用最多的一篇文章(下文简称“编译指南”)是 compile-kaldi-android,但它是基于 Ubuntu 环境来编译的,也看到了编译
2021-02-02 20:34:32
739
1
转载 [!] Gradle threw an error while downloading artifacts from the network. Retrying to download... Runn
配置flutter出现这个问题,百度搜索,说是因为gradle版本过低,所以报错。更改版本就可以,但是本人改了好久都没有成功 反而换各种版本都试过了,甚至重装系统,都无效,最后。。。。。。。搭建了个本地的gradle gradle如果你没有点击这里把zip包直接放到c盘某个位置 并更改android/gradle/wrapper/gradle-wrapper.properties里的distributionUrl 改成本地的地址 比如本人的地址C:/Users/Administr...
2021-01-27 20:30:45
6183
转载 Kaldi(A5)语言模型及HCLG.fst生成
这节介绍一下如何修改生成适合自己场景的语言模型。RefOnline decoding in Kaldi(Nnet2) http://kaldi-asr.org/doc/online_decoding.html修改语言模型首先,我们为什么要修改语言模型?虽然已有现成的Fisher_English或者Librispeech的HCLG.fst,但是他们用到的是3-gram,也就是说上下文一共是3个单词,而且文本涵盖的范围很广。假如我只想在特定范围内进行识别呢?比如仅仅在对某个智能音箱的指令范围内?
2020-12-26 20:54:50
1164
原创 C++标准库笔记 2
7、容器7.1、容器的共通能力三个最核心的能力:所有容器提供的都是“value 语义” 而非 “reference 语义”。 元素有特定顺序。 各项操作并非绝对安全,调用者必须确保传参检查。初始化所有容器提供的类型8、细探 STL 容器成员创建、复制和销毁9、迭代器头文件10、STL 函数对象及 Lambdalambda11、STL 算法<algorithm>12、特殊容器三种标准的 stacks, queu.
2020-12-26 12:23:15
231
转载 tf pb 转 tfjs 将固定大小的输入 改为任意输入
训练时使用固定大小, 方便编程实现和速度优化部署时使用任意大小, 提高体验但是采用固定大小输入做训练, 部署时采用任意大小, 可能效果有点差别吧....pb文件的网络结构 import tensorflow as tf output_graph_def = tf.GraphDef() PB_PATH = r"./pb/feathers.pb" with open(PB_PATH, "rb") as f: output_gr...
2020-12-25 14:17:00
460
原创 C++11 标准库笔记1
STL(standard template library,标准模板库)初始化:int values[] {1, 2, 3}引入 range-based for 循环:for (decl: coll) { statement}// 打印某集合内所有元素,这里不用& 会产生 copytemplate <typename T>void printElements (const T& coll) { for (const auto&a...
2020-12-18 11:12:38
295
转载 机器学习中的音频特征:理解Mel频谱图
如果你像我一样,试着理解mel的光谱图并不是一件容易的事。你读了一篇文章,却被引出了另一篇,又一篇,又一篇,没完没了。我希望这篇简短的文章能澄清一些困惑,并从头解释mel的光谱图。信号信号是一定量随时间的变化。 对于音频,变化的量是气压。 我们如何以数字方式捕获此信息? 我们可以随时间采集气压样本。 我们采样数据的速率可以变化,但是最常见的是44.1kHz,即每秒44,100个采样。 我们捕获的是信号的波形,可以使用计算机软件对其进行解释,修改和分析。import librosaimport
2020-12-17 14:49:53
3198
1
转载 梅尔频谱(mel-spectrogram)提取,griffin_lim声码器【python代码分析】
在语音分析,合成,转换中,第一步往往是提取语音特征参数。利用机器学习方法进行上述语音任务,常用到梅尔频谱。本文介绍从音频文件提取梅尔频谱,和从梅尔频谱变成音频波形。从音频波形提取Mel频谱:对音频信号预加重、分帧和加窗 对每帧信号进行短时傅立叶变换STFT,得到短时幅度谱 短时幅度谱通过Mel滤波器组得到Mel频谱从Mel频谱重建音频波形Mel频谱转换成幅度谱 griffin_lim声码器算法重建波形 去加重声码器有很多种,比如world,straight等,但是griffin
2020-12-17 14:48:55
2692
1
转载 微信小程序-类似探探的卡片拖拽切换
效果用户可以通过拖拽卡片,来将其移除。除此之外还添加了大量的交互式动画。效果图实现为了提升运行速度,采用了只生成两张卡片,并将其不断复用的方法。当用户点击卡片式,记录此次的点击位置,并将这张卡片变小,产生按压的效果。 viewTouchInside: function (event) { var that = this var pointX = event.touches[0].clientX var pointY = event.touc..
2020-12-16 21:46:05
1130
转载 Tensorflow中float32模型强制转为float16半浮点模型
在Tensorflow框架训练完成后,部署模型时希望对模型进行压缩。一种方案是前面文字介绍的方法《【Ubuntu】Tensorflow对训练后的模型做8位(uint8)量化转换》。另一种方法是半浮点量化,今天我们主要介绍如何通过修改Tensorflow的pb文件中的计算节点和常量(const),将float32数据类型的模型大小压缩减半为float16数据类型的模型。最近看到一个巨牛的人工智能教程,分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大.
2020-12-16 20:31:51
1818
1
转载 微信小程序实现卡片切换动画效果
index.wxml<view class="xin"><view class="title">你有一封新的信件</view><view class="border"></view><view class="xin-list" bindtouchend="moveItem" bindtouchstart="moveStart"><block wx:for="{{xinList}}" wx:key="key" wx:f
2020-12-10 15:58:40
1705
1
转载 微信小程序使用pako.js的踩坑笔记
微信小程序使用pako.js的踩坑笔记问题# 今天组长跟我们讨论了个问题,说是文章存储占用有点大,消耗宽带流量费,让我看看能不能找个方法解决一下(文章存储的是html字符串)。第一反应是没什么头绪,能想到的就是将相同的字符串替换成一个标识之类的,小程序再通过标识替换回原本的字符(感觉就不是很靠谱...)。 后来发现真的不靠谱,首先每篇文章样式可能都不一样,需要很多对应的字典,即使是这样大概预估了下,也减少不过10多k左右。唉,还是面向百度编程吧,看看有没有什么别人写好的模块可以用一下。
2020-12-01 17:48:54
1353
转载 小程序中使用onFrameRecorded实时显示波形
onFrameRecorded 传过来的是MP3帧,但是,这个帧有的时候是不完整的帧,好像是小程序的性能问题或者之类的其他问题。使用js-mp3,把MP3帧解码成PCM数据,然后再按照pcm数据,来计算分贝数。踩坑的地方:1.famebuffer设置的太小,造成传过来的arrayBuffer里面没有一个完整的mp3帧,结果就是Decode失败。以为是小程序的黑箱问题。2.js-mp3声称自己不支持mpeg2,感觉心里凉了半截,后来“高坚果”给了一个表格:原来是采样率设置问题,修改为4
2020-11-21 17:17:32
2508
3
转载 thch30 steps/make_mfcc.sh详解
这个脚本的输入参数有三个:1.data/mfcc/train 2.exp/make_mfcc/train 3.mfcc/train1.data/mfcc/train中有数据预处理后的一些文件:phone.txt spk2utt text utt2spk wav.scp word.txt2.exp/make_mfcc/train中应该是要保存程序运行的日志文件的3.mfcc/train中是提取出的特征文件1是输入目录,2,3是输出目录#!/bin/bash# Copyright 2012-2
2020-11-07 17:52:02
913
1
转载 Centos 编译TensorFlow C/C++库 libtensorflow.so libtensorflow_framework.so
安装依赖yum -y install automakelibtoollibsysfslibxslt-devel libffi libffi-devel python-devel gcc openssl openssl-develsqlite-develpip install sixnumpywheelcoverage mock安装CMake从https://cmake.org/download/选择最新的版本wget https://github.com/Kitware/CMa...
2020-11-04 13:50:04
1268
1
转载 js 的异步并发控制
一个极端业务场景引发的思考在业务开发过程中,我们经常会遇到多个异步任务并发执行的情况,待所有异步任务结束之后再执行我们的业务逻辑。通常情况下,我们会采用 ES6 标准下的Promise.all([promise1, promise2, promise3,...]).then( )方法来应对这样的场景需求,Promise.all可以保证,promises 数组中所有 promise 对象都达到 resolve 状态,才执行 then 回调。这样的 promise 对象可能是你发出的 http 请求,.
2020-10-28 19:41:56
865
转载 tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
这篇文章主要介绍了tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例,具有很好的参考价值,希望对大家有所帮助。一起跟随想过来看看吧升级到tf 2.0后, 训练的模型想转成1.x版本的.pb模型, 但之前提供的通过ckpt转pb模型的方法都不可用(因为保存的ckpt不再有.meta)文件, 尝试了好久, 终于找到了一个方法可以迂回转到1.x版本的pb模型.Note: 本方法首先有些要求需要满足:可以拿的到模型的网络结构定义源码网络结构里面的所有操作都是通过tf.k
2020-10-24 20:29:17
1471
2
转载 说说python自带的speech和speech_recognition的使用以及效果
人工智能这么火爆的时代,近来正好有时间就想研究以下智能语音这块的内容,虽然感觉自带的模块应该识别不太准确,不然就不会有百度的padder,google的tensorflow等框架,但是路要一步步走,饭也要一步步吃,初学的时候总要各种尝试一下。以下内容是我最近两天的尝试结果。环境win10,python3.7先说说speech,这个贼简单pip install speech recognize_bing():Microsoft Bing Speech recognize...
2020-10-18 21:08:27
5931
1
转载 云函数参数过大导致无响应
报错:[云函数] [ocrtest] 调用失败 <Error: errCode: -1 | errMsg: cloud.callFunction:fail Error: data no response (callId: 1584065152673-0.21300329228714288) (trace: 10:5:52 start->10:5:57 system error (Error: data no response), retry->10:6:2 system error (Er
2020-10-13 22:50:03
1048
转载 开放API接口签名验证,让你的接口从此不再裸奔
接口安全问题请求身份是否合法? 请求参数是否被篡改? 请求是否唯一?AccessKey&SecretKey (开放平台)请求身份为开发者分配AccessKey(开发者标识,确保唯一)和SecretKey(用于接口加密,确保不易被穷举,生成算法不易被猜测)。防止篡改参数签名按照请求参数名的字母升序排列非空请求参数(包含AccessKey),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA; 在stringA最
2020-10-12 10:34:28
558
转载 【Python】中的bytes问题
bytes是什么由上篇文章几种字符编码, 我们已经知道了ASCII Unicode UTF-8的关系。而且,计算机只能识别0和1,那显然,文件存储在计算机中也只能是以二进制的形式存储,字符编码在计算机中的工作机制是怎样的呢?在计算机内存中(你打开电脑上的一个文件是要从硬盘读取到内存中的),统一使用Unicode编码。在需要保存到硬盘或需要传输时,就转化为UTF-8编码(由上篇文章可知,这样可以节省空间,提高传输速度)。如,在记事本编辑时,从文件读取的UTF-8字符被转化为Unicode字符到内存
2020-10-10 15:07:15
2517
转载 微信小程序crypto-js AES 加解密数据
微信小程序在与后台交互数据过程中,敏感数据需要加解密,本篇博客介绍在微信小程序中如何使用 crypto.js 中的 AES 算法加解密数据使用crypto.js加解密详解:https://blog.youkuaiyun.com/Umbrella_Um/article/details/99686988AES加密算法的详细介绍与实现:https://blog.youkuaiyun.com/qq_28205153/article/details/557986281、引入crypto-js.jscrypto.js地址:ht
2020-10-10 09:31:54
2798
1
转载 小程序云开发也能优雅实现微信支付
原文一、开发微信支付功能一定要架设服务器吗?2019年的最后一天,舍得叔叔沉浸在探索的兴奋中,验证了微信小程序云开发也能优雅实现微信支付!小程序的目标是建立一个“serverless”环境,不用自行架设服务器,而完全通过小程序、云函数、云存储、云数据库来实现整个应用功能。理念很有吸引力,就是那句话:一个人也要像一支队伍!但是,云开发刚刚推出一年多,很多地方不够完美,方向是“去服务器”,但很多地方离开服务器就寸步难行。比如,要想在小程序里面实现微信支付功能,连官方文档都说开发者必须建立自己的服务.
2020-10-08 10:21:13
789
1
转载 重新理解创业——一个创业者的途中思考
我一直认为,成功其实没什么好学习的,因为成功者所具备的天时、地利、人和,这一切都难以复制。学习失败才是真正有意义的事情。但是,我们到底为什么要学习失败,怎么学习失败,从中学习什么?我们特别崇尚和追捧成功,追随一切当下最红的公司、模式、热词,我们的眼中只会聚焦那些成功者。我们耻于谈论失败,甚至会讥讽一切失败的现象、失败的人。这种“唯成功至上、厌恶失败”的环境最后让我们变得怎么样了。它让我们放弃了独立思考,放弃了真正的创新和探索,只敢去追求成绩,没多少人敢尝试,成功了还好,一旦失败就会被别人看不起,
2020-08-27 19:39:30
1365
Tensorflow 实战Google深度学习框架
2018-05-18
Laravel: Up and Running
2018-04-02
玩转BLENDER 3D动画角色创作
2018-03-19
Building-Scalable-Apps-with-Redis-and-Node.js
2018-01-31
TensorFlow Machine Learning Cookbook
2017-12-20
机器学习系统设计.Python
2017-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人