值得一提的是,很多东西看起来简单,其实后面复杂的要死。比如 audacity 那个人声消除和隔离处理算法,如果不知道后面真正用的处理方式想理解很难。
duangsuse::Echo
值得一提的是,很多东西看起来简单,其实后面复杂的要死。比如 audacity 那个人声消除和隔离处理算法,如果不知道后面真正用的处理方式想理解很难。
Audio
效果,第一个是原音频、第二个 VocieTrap 的处理结果、第三个 VoiceTrap 的 Isolation (隔离人声)结果、第四个 Audacity 通道差算法插件的结果、第五个 Audacity FFT 插件的结果。FFT 插件的处理速度比简单算法的慢很多但有 bass
duangsuse::Echo
那个算法是基于 FFT(快速傅里叶变换) 的(类似商业 VSTi VocalTrap),不是简单一个通道减另一个通道(类似 Audacity 的另外一个 Nyquist 插件) (第一个插件 200 多行代码复杂得要命还用了一些外部函数,第二个只是简单的 100 多行,其实他们对一些 centered 的波形处理完效果都差不多,可见算法啊是多么重要)(喷,不是说某些都差不多么)
顺便科普,Nyquist 这个名字还是蛮有意思的
Wikipedia
奈奎斯特频率
奈奎斯特频率(英語:Nyquist frequency)是离散信号系统采样频率的一半,因瑞典裔美國工程師哈里·奈奎斯特(Harry Nyquist)或奈奎斯特-香农采样定理得名。采样定理指出,只要离散系统的奈奎斯特频率高于被采样信号的最高频率或带宽,就可以避免混叠现象。
duangsuse::Echo
值得一提的是,很多东西看起来简单,其实后面复杂的要死。比如 audacity 那个人声消除和隔离处理算法,如果不知道后面真正用的处理方式想理解很难。
所以我上面列举出的就是我以前所谓的『和现实世界相关的编程』
因为数学... 不管是 G'MIC 的各种计算机图形学 CGI、Filtering/分析 算法
还是对波形的分析处理... 还是数字信号模拟信号... 无线电... 一切真正的现实,那些从现实世界进来的数据
蕴含着多少东西... 隐含的信息 需要程序自己来发掘
微积分... 导数... 卷积... Octave、Matlab....
数据和数据... 都是数字和各种各样的指标... 两开花(跑
我喜欢,即使是我看不懂的列表 primitive recursion 和各种奇妙的 FP 组合子,因为隔壁的 FFT 算法我根本看不懂。
即便是可能被喷自虐的 GADT、Coinductive 和循环写成递归,各种不常见的设计模式?不 trivial 的了解。不是『复读机』抄来的代码,而是真正理解自己在做什么。
证明这个有什么用?这么 immediate 的属性不是随便找个阿猫阿狗的都知道,负负得正一样的东西。
就是和自己过不去啊,就是这样了还要递推下去用某些非常基本的命题成立来推导到
无聊吗?有时候当益智游戏可以玩玩吧...
即便是开始像数学、像物理的计算机科学上一些 FP、PL 的理论、模式...
对隔壁『面向现实世界的软件工程』:头晕 😵
因为数学... 不管是 G'MIC 的各种计算机图形学 CGI、Filtering/分析 算法
还是对波形的分析处理... 还是数字信号模拟信号... 无线电... 一切真正的现实,那些从现实世界进来的数据
蕴含着多少东西... 隐含的信息 需要程序自己来发掘
微积分... 导数... 卷积... Octave、Matlab....
数据和数据... 都是数字和各种各样的指标... 两开花(跑
我喜欢,即使是我看不懂的列表 primitive recursion 和各种奇妙的 FP 组合子,因为隔壁的 FFT 算法我根本看不懂。
即便是可能被喷自虐的 GADT、Coinductive 和循环写成递归,各种不常见的设计模式?不 trivial 的了解。不是『复读机』抄来的代码,而是真正理解自己在做什么。
listOf(1, 2, 3).reverse().reverse() 为什么等于 listOf(1, 2, 3) 呢? (当然这个其实很 trivial,我现在也能理解归纳证明了,我这里只是举个例子,再说很多人连这个都不知道)证明这个有什么用?这么 immediate 的属性不是随便找个阿猫阿狗的都知道,负负得正一样的东西。
就是和自己过不去啊,就是这样了还要递推下去用某些非常基本的命题成立来推导到
forall v. reverse (reverse v) = v...无聊吗?有时候当益智游戏可以玩玩吧...
即便是开始像数学、像物理的计算机科学上一些 FP、PL 的理论、模式...
h [] = v(上面的东西如果有兴趣可以在这里看,第十页)
h (x : xs) = g x (h xs)
<=> h = fold g v
h y [] = f y
h y (x : xs) = g y x (h y xs)
<=>
h y = fold (g y) (f y)
h y [] = f y
h y (x : xs) = g y x xs (h y xs)
对隔壁『面向现实世界的软件工程』:头晕 😵
duangsuse::Echo
所以我上面列举出的就是我以前所谓的『和现实世界相关的编程』 因为数学... 不管是 G'MIC 的各种计算机图形学 CGI、Filtering/分析 算法 还是对波形的分析处理... 还是数字信号模拟信号... 无线电... 一切真正的现实,那些从现实世界进来的数据 蕴含着多少东西... 隐含的信息 需要程序自己来发掘 微积分... 导数... 卷积... Octave、Matlab.... 数据和数据... 都是数字和各种各样的指标... 两开花(跑 我喜欢,即使是我看不懂的列表 primitive…
duangsuse::Echo
#Kotlin #JVM 靠,被坑了,原来 Java 那么喜欢副作用的么... » listOf(1, 2, 3).reverse() error: unresolved reference. None of the following candidates is applicable because of receiver type mismatch 返回值居然都是 Unit... listOf(1, 2, 3).reversed().reversed() 才想起来
object Foo {
@JvmStatic fun reverseTwice(l: List<*>) = l.reversed().reversed()
fun main(vararg args: String) = println(reverseTwice(args.asList()))
}
简单的测试程序,看看 kotlinc-jvm 知不知道 reversed() 两次是没有效果的public final class Foo: ACC_PUBLIC, ACC_FINAL, ACC_SUPER {
static (stack = 2, locals = 2, args = 0) {
new class Foo
dup
invokespecial <init>:()V
astore_0
aload_0
putstatic INSTANCE:LFoo
return
}
public static final Foo INSTANCE
public static final java.util.List<java.lang.Object> reverseTwice(java.util.List<?>) (stack=2, locals=1, args=1) {
aload_0
ldc l
invokestatic kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull:(Ljava/lang/Object;Ljava/lang/String;)V
aload_0
checkcast class java/lang/Iterable
invokestatic kotlin/collections/CollectionsKt.reversed:(Ljava/lang/Iterable;)Ljava/util/List;
checkcast class java/lang/Iterable
invokestatic kotlin/collections/CollectionsKt.reversed:(Ljava/lang/Iterable;)Ljava/util/List;
areturn
}
}
好吧,好像没有优化掉,我没开 -Xno-optimize
Oracle HotSpot JVM 上不知道会不会,我想可能不会,要不然黑科技了?
duangsuse::Echo
object Foo { @JvmStatic fun reverseTwice(l: List<*>) = l.reversed().reversed() fun main(vararg args: String) = println(reverseTwice(args.asList())) } 简单的测试程序,看看 kotlinc-jvm 知不知道 reversed() 两次是没有效果的 public final class Foo: ACC_PUBLIC, ACC_FINAL, ACC_SUPER…
KOTLIN_RUNNER=1 kotlin -J-XX:+AggressiveOpts -J-XX:+UnlockDiagnosticVMOptions -J-XX:+UnlockExperimentalVMOptions -J-server -J-Xdiag -J-Xcomp "-J-XX:CompileCommand=print,*Foo.*" Foo 1 2 3没有 HSDIS...
Could not load hsdis-amd64.so; library not loadable; PrintAssembly is disabled
妈耶又要全部重新编译,别人编译的还不能用。
GitHub
Adopt OpenJDK
The Community and code behind the Build Farm which produces high quality, FREE OpenJDK (Java) binaries. - Adopt OpenJDK
duangsuse::Echo
object Foo { @JvmStatic fun reverseTwice(l: List<*>) = l.reversed().reversed() fun main(vararg args: String) = println(reverseTwice(args.asList())) } 简单的测试程序,看看 kotlinc-jvm 知不知道 reversed() 两次是没有效果的 public final class Foo: ACC_PUBLIC, ACC_FINAL, ACC_SUPER…
(其实这里『优化掉』是比较不严谨的,因为这个本来就不应该被优化『掉』嘛。虽然说可以认为大部分情况『优化掉』也没有什么问题,我是想了解一下 HotSpot 那些『基于证明』的优化...(但其实如果都无法识别出来这种情况自动证明也没用...)(主要还是分析啊)
#media #SynthesizerV 正在试用,以后如果有钱了可以购买支持一下(
duangsuse::Echo
所以我上面列举出的就是我以前所谓的『和现实世界相关的编程』 因为数学... 不管是 G'MIC 的各种计算机图形学 CGI、Filtering/分析 算法 还是对波形的分析处理... 还是数字信号模拟信号... 无线电... 一切真正的现实,那些从现实世界进来的数据 蕴含着多少东西... 隐含的信息 需要程序自己来发掘 微积分... 导数... 卷积... Octave、Matlab.... 数据和数据... 都是数字和各种各样的指标... 两开花(跑 我喜欢,即使是我看不懂的列表 primitive…
#Firefox #Mozilla #Haha 顺便科普一下 #Regex 来表述 『(只要)带一个英文冒号并且(冒号)前面是纯英文』的 URL(URI) 模式就是这样:
比如
这次我们直接上 Perl & PCRE 了(因为 Perl 就是做这个的,AWK 懒得用)。
grep --perl-regexp '\s*\S+\:.*'也即(其实是一个... 呃,方便不会正则的人看,虽然我觉得不会有人不会正则)
SequenceOf如果用 『后行否定断言』
InSet(Spaces).repeatAnyTimes()
NotInSet(Spaces).repeatForAtLeastOneTime()
Character(':')
InSet(All).repeatAnyTimes()
比如
scheme:hierarchical-part 这个的 : 只有在 scheme 这个 [A-Za-z]+(假设我们只允许『常见的』ALPHABETS 集合)后面才匹配这次我们直接上 Perl & PCRE 了(因为 Perl 就是做这个的,AWK 懒得用)。
perl -e 'while ($ln = <STDIN>) { print ($ln =~ m/(?<=[A-Za-z]):.*/) }'
如果用具名组匹配(大家熟悉并且喜欢的 ECMAScript):TODO()Wikipedia
Perl Compatible Regular Expressions
software library for interpreting regular expressions
Forwarded from Rachel 碎碎念 (IFTTT)
这个就更厉害了,只要带一个英文冒号并且冒号前面为纯英文,那么 Firefox 就认为这是一个 url pic.twitter.com/u8yN6GwYRE
— 是萝莉控 (@GermanyOrthoped) January 31, 2019
— 是萝莉控 (@GermanyOrthoped) January 31, 2019
Twitter
是萝莉控
这个就更厉害了,只要带一个英文冒号并且冒号前面为纯英文,那么 Firefox 就认为这是一个 url
Rachel 碎碎念
这个就更厉害了,只要带一个英文冒号并且冒号前面为纯英文,那么 Firefox 就认为这是一个 url pic.twitter.com/u8yN6GwYRE — 是萝莉控 (@GermanyOrthoped) January 31, 2019
另外从某种意义上这么解析其实没问题,URI 的规范在这里(IETF RFC 3986)
BNF 在这里
不考虑 URI 里别的那些东西(比如 Encoding),BNF 是这样的
[IETF RFC 3986] [Wikipedia]
最后我给大家一个严谨一点的 Bison + Flex (就是 Yacc/Lex Style 的解析器风格)程序
顺便还可以学一点 C,何乐而不为呢?(虽然我其实也不怎么会 C... 不是特别熟
RFC3989 上有 ABNF 语法集合的,然后我们做一下翻译的工作就可以了,因为 BNF 很长不可能直接弄成 Bison 写消息里,我再写。
至于 Firefox 的 URL 解析器实现(其实在这里基本上就是个 validator,因为不像网页正文有时候可能需要扫描识别 URL)
他们是放在 FTP 上的,当然或许也有自己的 DVCS 版本库... 不过不在 GitHub 或者 GitLab 之类可以搜索的话不方便,这里有一个 iOS 版的实现我们看看
OpenSearchParser class 就是上面那个的 parser
他们为它准备的 test cases 单元测试很有价值可以看看
emmm... 不是,这个是 OpenSearchEngines API 的东西
我找了一会,然后放弃了... 没啥价值,这种东西...
BNF 在这里
不考虑 URI 里别的那些东西(比如 Encoding),BNF 是这样的
[IETF RFC 3986] [Wikipedia]
URI = scheme:[//authority]path[?query][#fragment]这是个比较不严谨的定义,Wiki 上还有图解(推荐,类似 JSON 那个)
authority = [userinfo@]host[:port]
最后我给大家一个严谨一点的 Bison + Flex (就是 Yacc/Lex Style 的解析器风格)程序
顺便还可以学一点 C,何乐而不为呢?(虽然我其实也不怎么会 C... 不是特别熟
RFC3989 上有 ABNF 语法集合的,然后我们做一下翻译的工作就可以了,因为 BNF 很长不可能直接弄成 Bison 写消息里,我再写。
至于 Firefox 的 URL 解析器实现(其实在这里基本上就是个 validator,因为不像网页正文有时候可能需要扫描识别 URL)
他们是放在 FTP 上的,当然或许也有自己的 DVCS 版本库... 不过不在 GitHub 或者 GitLab 之类可以搜索的话不方便,这里有一个 iOS 版的实现我们看看
OpenSearchParser class 就是上面那个的 parser
他们为它准备的 test cases 单元测试很有价值可以看看
emmm... 不是,这个是 OpenSearchEngines API 的东西
我找了一会,然后放弃了... 没啥价值,这种东西...
IETF Datatracker
RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with…
duangsuse Throws
#Statement 但是啊,我说,其实我现在还没有去写过机器学习算法的程序,人工神经网络我完全不了解,所以这方面我要学习的还有很多。 之所以学某些媒体系的用这种风格来说是因为我觉得这真的是我最『崇拜』的故事,和我所认为最好最用心最特别的歌声合成软件 ❤️ 诚恳地说,我真的不了解这些技术(因为我的确没有写过,甚至完全没有考虑过类似的程序,不过我最近比较想解决递推理解上的问题,我尽可能快。 但我得像数字集成电路一样找到自己的频率,平稳地按照自己的『晶震』工作,不会因为和大佬们差别太大就『跑飞』爆炸伤害身体健康。…
哦,现在找到了作者(华侃如)开始写的那个,不在 GitHub issue tracker 上...
Ivocaloid
【建议】UTAU社区与重复发明轮子_iVocaloid论坛 - Powered by Discuz!
UTAU专区,Vocaloid,UTAU,原创,素材,创作,音源,分享