Skip to content

Instantly share code, notes, and snippets.

View UlyssesWu's full-sized avatar
💤
Learn C++

Ulysses UlyssesWu

💤
Learn C++
View GitHub Profile
/*
* This is an implementation of wcwidth() and wcswidth() (defined in
* IEEE Std 1002.1-2001) for Unicode.
*
* http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html
* http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html
*
* In fixed-width output devices, Latin characters all occupy a single
* "cell" position of equal width, whereas ideographic CJK characters
* occupy two such cells. Interoperability between terminal-line
@candlewill
candlewill / extract_features_for_merlin.md
Last active November 2, 2022 08:34
Analysis the source code of merlin

声学特征提取

本文介绍如何提取提取声学特征用于Merlin训练。在语音合成中,属于声码器(vocoder)的内容。

Merlin可以使用两种vocoder,STRAIGHTWORLDWORLD的目标是提取60-dim MGC, variable-dim BAP (BAP dim: 1 for 16Khz, 5 for 48Khz), 1-dim LF0;STRAIGHT的目标是提取60-dim MGC, 25-dim BAP, 1-dim LF0。

新版本的WORLD_v2还在开发中,目标是提取60-dim MGC, 5-dim BAP, 1-dim LF0(MGC和BAP的维度支持微调)。

由于STRAIGHT的使用有严格的证书限制,本文,主要介绍WORLD

Merlin for Chinese

用于中文语音合成的Merlin。本文,主要利用Merlin,合成中文语音。

数据准备

为了测试方法是否可行,我们仅使用100条数据。待确认可行,再使用完整数据。

由于缺少中文前端,我们仅使用音素。

@karanlyons
karanlyons / solver.py
Last active July 26, 2025 15:51
Why PRNGs are not the same as CSPRNGs
import z3
def sym_xoroshiro128plus(solver, sym_s0, sym_s1, mask, result):
s0 = sym_s0
s1 = sym_s1
sym_r = (sym_s0 + sym_s1)
condition = z3.Bool('c0x%0.16x' % result)
solver.add(z3.Implies(condition, (sym_r & mask) == result & mask))
@bromine0x23
bromine0x23 / kux.rb
Created September 14, 2017 09:54
kux.rb
#!ruby
#
# MKVToolNix required.
# https://mkvtoolnix.download/
#
require 'fileutils'
# YOUKU_DIR = 'D:\workspace\ruby\kux'

What is Garbage Collection?

Garbage Collection is a form of automatic memory management. It is a feature of many modern languages that you may have already used (C#, Python, Javascript, etc.) so you may already be using it without even knowing! In a garbage collected environment objects are automatically removed from memory after you stop using them. This means you can create a new object, use it for a while, and when you are done using it you set the variable that points to it as null and that's the end of your worries. Behind the scene the garbage collector ("GC") is keeping track of what objects are still being used. When an object is no longer being used the garbage collector automatically frees up the memory.

Lower level languages such as C and C++ do not provide a garbage collector out of the box. This means you have to manually keep track of what memory is being used and free it when you no longer wish to use it. This can be bug prone and is harder for a programmer to manage so Unreal Engine 4 has c

@jagt
jagt / RoslynCodeGen.cs
Created December 15, 2017 15:16
Sample roslyn code generation
using System;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Editing;
// ref https://msdn.microsoft.com/en-us/magazine/mt707527.aspx
// needed packages
// Microsoft.CSharp;
// Microsoft.CodeAnalysis;
// Microsoft.CodeAnalysis.CSharp;
// Microsoft.CodeAnalysis.CSharp.Workspaces;
@mjs3339
mjs3339 / BoyerMoore.cs
Last active March 13, 2026 07:36
C# High Performance Boyer Moore Byte Array Search Algorithm
public class BoyerMoore
{
private int[] _jumpTable;
private byte[] _pattern;
private int _patternLength;
public BoyerMoore()
{
}
public BoyerMoore(byte[] pattern)
{

ELF

ELF Header

The first portion of any ELF file is the ELF header. This generally provides offsets to other headers (program headers and section headers) within an ELF.

typedef struct {
  unsigned char e_ident[EI_NIDENT];
 uint16_t e_type;
@gistlyn
gistlyn / README.md
Last active April 11, 2020 12:31
.NET Core 2.1 Web Apps Gallery