Skip to content

Instantly share code, notes, and snippets.

@tosaka2
tosaka2 / comment_shifter.js
Created January 31, 2019 10:37
Shift comments of YouTube Premiers videos
(async function() {
'use strict';
let shift = 9;
console.log("Comment Shifter! shift:" + shift);
const sleep = msec => new Promise(resolve => setTimeout(resolve, msec));
let button = null;
for (let i = 0; i < 100 && !button; i++) {
await sleep(100);
@tosaka2
tosaka2 / nth_sum_kitamasa.cpp
Created February 1, 2018 17:52
kitamasa法でm項間漸化式の第n項までの和を求めるやつ
#include <bits/stdc++.h>
using namespace std;
const int64_t MOD = 1000000007;
// O(mn) m+1項間漸化式のn要素目までの和を前から順に項を計算し足していくことで求める
int64_t simple_sum(const vector<int64_t>& coefficients, const vector<int64_t>& firsts, int64_t n);
// O(m^3 log(n)) m+1項間漸化式のn要素目までの和を累乗和で求める
int64_t power_series_sum(const vector<int64_t>& coefficients, const vector<int64_t>& firsts, int64_t n);
@tosaka2
tosaka2 / dnn_tts_survey.md
Last active December 23, 2020 17:45
DNNを用いたTTS手法の調査

TTSについて

以下の図がよくまとまっている。[1]
TTSの図

モデルによって音声合成の中でどこまでの仕事を担当しているかが異なる。  


DNNを用いないボコーダー

// return t.generate()の行にブレークポイント
var getObject = () => t;
var getState = () => getObject().state;
var getOption = () => getState().options;
var getNoise = () => getState().gan.noise;
var getNoiseOrigin = () => getState().gan.noiseOrigin;
var isRunning = () => getState().gan.isRunning;
// NoiseをFixedに
// return t.generate()の行にブレークポイント
var getObject = () => t;
var getState = () => getObject().state;
var getOption = () => getState().options;
var getNoise = () => getState().gan.noise;
var getNoiseOrigin = () => getState().gan.noiseOrigin;
var isRunning = () => getState().gan.isRunning;
// NoiseをFixedに
// return t.generate()の行にブレークポイント
var getObject = () => t;
var getState = () => getObject().state;
var getOption = () => getState().options;
var getNoise = () => getState().gan.noise;
var getNoiseOrigin = () => getState().gan.noiseOrigin;
var isRunning = () => getState().gan.isRunning;
// NoiseをFixedに
// return t.generate()の行にブレークポイント
getObject = () => t;
getState = () => getObject().state;
getOption = () => getState().options;
getNoise = () => getState().gan.noise;
// NoiseをFixedに
fixNoise = () => getOption().noise = 1;
// NoiseをRandomに
// return t.generate()の行にブレークポイント
getObject = () => t;
getState = () => getObject().state;
getOption = () => getState().options;
getNoise = () => getState().gan.noise;
// NoiseをFixedに
fixNoise = () => getOption().noise = 1;
// NoiseをRandomに
//this.gan.run(n, this.state.options.noise ... の行にブレークポイント
getState = () => this.state;
getOption = () => getState().options;
getNoise = () => getState().gan.noise;
// NoiseをFixedに
fixNoise = () => getOption().noise = 1;
// NoiseをRandomに
randomNoise = () => getOption().noise = 0;
http://joisc2007.contest.atcoder.jp/
http://joisc2008.contest.atcoder.jp/
http://joisc2009.contest.atcoder.jp/
http://joisc2010.contest.atcoder.jp/
http://joisc2011.contest.atcoder.jp/
http://joisc2012.contest.atcoder.jp/
http://joisc2014.contest.atcoder.jp/
http://joisc2015.contest.atcoder.jp/
http://joisc2016.contest.atcoder.jp/