Media is too big
VIEW IN TELEGRAM
#vocaloid SynthesizerV — 野子 Yamine Renri 闇音レンリ (Cover 苏运莹)
#vocaloid #music 好想你 (Cover 朱主爱) 最终版
使用伴奏 http://5sing.kugou.com/bz/2787961.html
著作权: CC-0
另请参阅: https://www.bilibili.com/video/av37422262
使用伴奏 http://5sing.kugou.com/bz/2787961.html
著作权: CC-0
另请参阅: https://www.bilibili.com/video/av37422262
Kugou
朱主爱-好想你-原版伴奏 - 百弦 - 5SING中国原创音乐基地
百弦:
#vocaloid 维尼音源的
— 坏采样表:
hui, da, kuai, fei, chao, kong, zou, sang, shuang, zhou
bai4, diao, dun, piao, po, ran, ruo, mo, wo
gua, guang, kou, lao, mo
han, nei, ni, qun, shao, xiong, yao, zou, huang
— 重复采样表:
ai2 重复太多我已经放弃
迫真心得:
u / uo 音结尾的采样的 consonant 区好像都很短
如果 consonant 的位置比 preutterance 小,那么重复的部分会是 overlap — consonant 而非 consonant — cutoff
如果开头的音是 z / y 的话 preutterance 必须放最前面,不然后面的音素吐音不利落
— 坏采样表:
hui, da, kuai, fei, chao, kong, zou, sang, shuang, zhou
bai4, diao, dun, piao, po, ran, ruo, mo, wo
gua, guang, kou, lao, mo
han, nei, ni, qun, shao, xiong, yao, zou, huang
ai2
迫真心得:
u / uo 音结尾的采样的 consonant 区好像都很短
如果 consonant 的位置比 preutterance 小,那么重复的部分会是 overlap — consonant 而非 consonant — cutoff
如果开头的音是 z / y 的话 preutterance 必须放最前面,不然后面的音素吐音不利落
Media is too big
VIEW IN TELEGRAM
#vocaloid Dream It Possible — Eleanor Forte
Media is too big
VIEW IN TELEGRAM
#vocaloid 爸爸去哪儿 第一季主题曲 Yamine Renri / Eleanor Forte / GENBU
#plt 呃,这几天眼睛有点疼,那个网页重构也接近尾声了(目的就是交个PR),马上把雄狮扭眼的”热度蹭完“,我就能开始二进制pybind了 ……但是到2月我就必须开始制作一个H5动画礼物,以现在这个效率…… (而且之前说的 Java 入门又鸽子了,尽管对话框和离线javac的问题解决,其他内容还是需费精力
说真的我没一次蹭上国内热度,因为每次都是我趁机学了些”没用的“(比如彩字符画、粒子动画、MBR程序、C指针和数组啦),然后数据不好看 😂
这次也是一样,我用shift重映射圆心距l=1~len 环上像素的方式扭曲一块矩形,这个方法是我自己想的(思而不学(我刚刚上网搜了,还没写我这么直白的…… (Android.drawBitmapMesh, web没内建不规则变形)
类似 http://deepred5.com/oppai/ , http://www.htmleaf.com/Demo/201909185795.html (woc dat #gui )这样的。 #Vocaloid 爱好者平时爱看的2D骨架变形是这么做的。
不行这个Grid2Fullscreen #cg webgl实在是太厉害啦 (原作 https://github.com/Anemolo/WebGLDistortionConfigurator . barba.js.org/ 主页动画也很有趣..
它们的原理类似三角形贴图: Mesh=小网格缩放到图片,其上控制点可以移动,相当于小三角在翘曲,例如全向手指位靠(圆挤压 fisheye/pinch C#)
https://blog.csdn.net/lufy_legend/article/details/8084367
当然啦, GLSL 10行内基于笛卡尔座标系() 实现圆的变形是很容易的
https://www.shadertoy.com/view/XsVSW1
甚至
算下距离都能做到同样效果(就是我实现漩涡扭曲滤镜的原理
如果只是圆形其实并不困难,重要是在符合直觉…… (啊草
a:数组,x:项,k:键,q:真假,d:{}表 #code
调用时才去zipMap(形/实参) 然后解析变量,在运行了KV表仍存在,故称『动态作用域』。 若把注意不是微分! 里d.copy()保留,就无需 let old ,且支持『词法域』
有赖于F12 ,在eCall上打断点/
Node和S-expr 一样吗? let a=1,b=2 或 import a.* 应该是S不能表达的语法吧?
欸,大家也看到我编程风格的变化了:宁可用特殊语法+自己注释也不愿用工程的做法.. 主要是省字数,这里是教程 😅
但如果是省字数却弊大于利的情况,我会写自然点:例如 s.trim()!='' 也可写 !/\s/.test 或 !!s.trim ,这都是有取舍的。我经常对一个表达式改了又删,因为所有写法都不过是茫茫语法树里一片叶子罢了,没啥可稀奇
说真的我没一次蹭上国内热度,因为每次都是我趁机学了些”没用的“(比如彩字符画、粒子动画、MBR程序、C指针和数组啦),然后数据不好看 😂
这次也是一样,我用shift重映射圆心距l=1~len 环上像素的方式扭曲一块矩形,这个方法是我自己想的(思而不学(我刚刚上网搜了,还没写我这么直白的…… (Android.drawBitmapMesh, web没内建不规则变形)
类似 http://deepred5.com/oppai/ , http://www.htmleaf.com/Demo/201909185795.html (woc dat #gui )这样的。 #Vocaloid 爱好者平时爱看的2D骨架变形是这么做的。
不行这个Grid2Fullscreen #cg webgl实在是太厉害啦 (原作 https://github.com/Anemolo/WebGLDistortionConfigurator . barba.js.org/ 主页动画也很有趣..
它们的原理类似三角形贴图: Mesh=小网格缩放到图片,其上控制点可以移动,相当于小三角在翘曲,例如全向手指位靠(圆挤压 fisheye/pinch C#)
https://blog.csdn.net/lufy_legend/article/details/8084367
当然啦, GLSL 10行内基于笛卡尔座标系() 实现圆的变形是很容易的
https://www.shadertoy.com/view/XsVSW1
翘曲(k=3)
l=length(xy),r=atan2(x,y); //圆心座标<=>直角
l=l*l*k; 放大 //sqrt(dot())速率试试
l=sqrt(l)*k/1; 挤压
p = l * vec2(cos(r)*0.5, sin(r)*0.5);
//xy就是p的新位置
甚至
p *= length((p-mous)* vec2(w/h,1)); fragColor = texture(iChannel0,p);
vec2 p = center - uv ;
float d = length(p),
factor = .5 * sin( iTime ),
f =d>.5?0.: exp( factor * ( d - .5 ) ) - 1.;
fragColor = texture( iChannel0, uv+ /*normalize*/(p/d) *f);
算下距离都能做到同样效果(就是我实现漩涡扭曲滤镜的原理
如果只是圆形其实并不困难,重要是在符合直觉…… (啊草
a:数组,x:项,k:键,q:真假,d:{}表 #code
let a="run (\\f x. (+ (+ x 2)3)) (f 1)".split(/([()\s\\\.])/g).filter(s=>s.trim()!=''),i=0;
层=(tk)=>{for(let x,q;x=a[i];){i++;if(x==')')break;q=x=='('; tk.push(q?(x=[]):x); if(q)层(x)} }
glo={run:a=>a[a.length-1], ['+']:([a,b])=>a+b }
eva=d/*scope*/=>a=>a.values? (a[0]=='\\'?eFun:eCall)(d,...a) : !/\d/.test(a[0])?d[a] : +a//num
eCall=(d,kf,...a)=>(d[kf]||console.error)(a.map(eva(d)) ) //单步规约
eFun=(d,_,kf,...x)=>{let nArg=x.indexOf('.'),ka=x.slice(0,nArg);x=x.slice(nArg+1);x.unshift("run")//解析:切分 //v 名值表允嵌套
d[kf]=a=>{if(a.length!=nArg)throw `bad arity for ${nArg}`; let old=zipMap(ka,a, (k,v)=>{let v0=d[k];d[k]=v;return[k,v0]});
let r=eva(d)(x);old.forEach(([k,v])=>d[k]=v);return r } }
zipMap=(a,b,f)=>a.map((x,i)=>f(x,b[i]))
层(_6=[]); eva(glo)(_6)
调用时才去zipMap(形/实参) 然后解析变量,在运行了KV表仍存在,故称『动态作用域』。 若把
eFun:eva(d)(x)
just=x=>()=>x, f=just(0/*x是参数0吗?*/)
,若编号变量、独立调用栈,不返回编程(eCall: 内项Promise.all 后才done +-*/)就实现 continuation(断续函数,协程)有赖于F12 ,在eCall上打断点/
logs=f=>a=>{console.log(...a);return f(a)};glo["+"]=logs(glo["+"])
再次调用 glo.f([1])
,可以看到计算过程。 Java上用class造解释器同理,只是给 (run ,if, 1/""/true)
的语义(\f. 内是多表达式) 专门建立Node了而已,因为我们必须区分(顶层/函数内) 是”语句列表“而非调用的特殊「语义」(解释器只看语法树,不知”层级关系“,解析信息必编码为此IR中间表式),S-表达式里用x[0]标注足矣。 解析到此”非规范“AST是完全一样甚至更快的Node和S-expr 一样吗? let a=1,b=2 或 import a.* 应该是S不能表达的语法吧?
(= a 1 b 2) (use-all 'a)
/甚至变import作用域表 就可以。把x[0]当节点类型即可。另外S的本质(前序算式)可以和后序的+-*/优先链、.[]()左先链 结合,算符后序 按*+重排序欸,大家也看到我编程风格的变化了:宁可用特殊语法+自己注释也不愿用工程的做法.. 主要是省字数,这里是教程 😅
但如果是省字数却弊大于利的情况,我会写自然点:例如 s.trim()!='' 也可写 !/\s/.test 或 !!s.trim ,这都是有取舍的。我经常对一个表达式改了又删,因为所有写法都不过是茫茫语法树里一片叶子罢了,没啥可稀奇
Telegram
duangsuse::Echo
明晚7点就是验收日了,我把一小段稿子贴这:
对动苏,无论如何计划好的文章会码完的。我本来就计划写 Java 入门,如果能乘上这次机会,或许会有不一样的收获。虽然人少但回形针前端也是非常靠谱的
<[^编程]是什么,许多大学毕业生也无法回答这个问题。许多人认为程序就是代码、Java代码、C代码,编程=写代码=“编码”,没有意识到 __代码背后的「目标领域」及其上「概念」__,其实,编程是从基础API(如List,int,..)用语言的定义结构(如变量,函数,类)和控制结构,实现自己的应用领域(Android…
对动苏,无论如何计划好的文章会码完的。我本来就计划写 Java 入门,如果能乘上这次机会,或许会有不一样的收获。虽然人少但回形针前端也是非常靠谱的
<[^编程]是什么,许多大学毕业生也无法回答这个问题。许多人认为程序就是代码、Java代码、C代码,编程=写代码=“编码”,没有意识到 __代码背后的「目标领域」及其上「概念」__,其实,编程是从基础API(如List,int,..)用语言的定义结构(如变量,函数,类)和控制结构,实现自己的应用领域(Android…
jb.svp
83.6 KB
https://resource.dreamtonics.com/download/ 欢迎大家试用K华大佬的 SV~ #vocaloid