Framewise WaveGAN: High Speed Adversarial Vocoder in Time Domain with Very Low Computational ComplexityGAN-based vocoder는 고품질 waveform을 합성하는데 자주 사용됨BUT, 대부분의 architecture는 sample-wise로 waveform을 생성하므로 상당한 GFLOPS가 필요함- 결과적으로 accelerator나 parallel computer 없이 일반적인 CPU에서 사용하기 어려움Framewise WaveGANFramewise로 time domain signal을 생성하기 위해 recurrent, fully-connected network를 활용하는 GAN-based vocoder결과적으로 c..
CoMoSpeech: One-Step Speech and Singing Voice Synthesis via Consistency ModelDenoising Diffusion Probabilistic Model은 음성 합성에서 우수한 성능을 보이고 있지만, 고품질의 sample을 얻기 위해서는 많은 iterative step이 필요함- 결과적으로 추론 속도 저하로 이어짐CoMoSpeechSingle diffusion sampling step만으로 고품질의 합성을 수행하는 Consistency model-based 음성 합성 모델Consistency constraint는 diffusion-based teacher model에서 consistency model을 distill 하기 위해 사용됨논문 (MM 20..
FastDiff: A Fast Conditional Diffusion Model for High-Quality Speech SynthesisDenoising Diffusion Probabilistic Model은 우수한 합성 성능을 보이지만, iterative sampling process로 인해 속도의 한계가 있음FastDiff고품질의 음성 합성을 위한 fast conditional diffusion model다양한 receptive field pattern의 time-aware location-variable convolution stack을 사용하여 adaptive condition으로 long-term dependency를 모델링품질을 유지하면서 sampling step을 줄이기 위해 noise ..
* Python을 기준으로 합니다최대공약수 (Greatest Common Divisor, GCD) & 최소공배수 (Least Common Multiple, LCM)- 개념최대공약수 : 두 수의 약수들 중에서 공통되면서 가장 큰 약수최소공배수 : 두 수의 배수들 중에서 공통되면서 가장 작은 배수기본적으로 최대공약수, 최소공배수 모두 완전 탐색으로 찾을 수 있음- 최대공약수의 경우 $O(N)$의 time complexity, 최소공배수는 $O(NM)$의 time complexity가 소모됨이때 유클리드 호제법을 활용하면 최대공약수 계산을 $O(\log n)$으로 해결 가능함유클리드 호제법두 수 $a, b$ ($a>b$)에 대해, $a$를 $b$로 나눈 나머지를 $r$이라 하면, $a$와 $b$의 최대공약수는..
SoundStorm: Efficient Parallel Audio GenerationEfficient, non-autoregressive audio generation을 위한 neural codec이 필요함SoundStormAudioLM의 semantic token을 input으로 receive 하고 bidrectional attention과 confidence-based parallel decoding을 사용하여 neural audio codec token을 생성Autoregressive 방식과 비교하여 2배의 속도 향상 효과와 고품질의 audio 합성이 가능논문 (Google Research 2023) : Paper Link1. IntroductionNeural codec을 통해 생성된 audio의 ..
* Python을 기준으로 합니다소수 판별 - 에라토스테네스의 체 (Sieve of Eratosthenes)- 개념소수 : 2보다 큰 자연수 중 1과 자기 자신 만을 약수로 가지는 수기본적으로 완전 탐색을 사용할 수 있지만, $O(n)$의 time complexity가 소모되므로 큰 수에 대해서는 비효율적임- 이때 자연수의 약수는 대칭적으로 구해진다는 것을 고려하면, $O(\sqrt{n})$의 time complexity로 줄일 수 있음에라토스테네스의 체 : $N$ 보다 작거나 같은 모든 소수를 찾을 때 사용할 수 있고, $O(n \log \log n)$의 time complexity를 가짐에라토스테네스의 체 동작과정2부터 $N$까지의 모든 자연수를 나열남은 수 중에서 처리되지 않은 가장 작은 자연수 $..
Matcha-TTS: A Fast TTS Architecture with Conditional Flow MatchingOptimal-transport conditional flow matching을 사용하여 text-to-speech에서의 acoustic modeling 속도를 향상할 수 있음Matcha-TTS Optimal-transport conditional flow matching을 기반으로 기존의 score matching 방식보다 더 적은 step으로 고품질의 output을 제공하는 ODE-based decoder를 얻음Probabilistic, non-autregressive 하게 동작하고 external alignment 없이 scratch로 학습 가능논문 (ICASSP 2024) : Pa..
Mels-TTS: Multi-Emotion Multi-Lingual Multi-Speaker Text-to-Speech System via Disentangled Style Tokens효과적인 emotion transfer를 위해 disentangled style token을 활용할 수 있음Mels-TTSGlobal style token에서 영감을 받아 emotion, language, speaker, residual information을 disentangle 하는 개별적인 style token을 활용Attention mechanism을 적용하여 각 style token에서 target speech에 대한 speech attribute를 학습논문 (ICASSP 2024) : ..
* Python을 기준으로 합니다 최장 증가 부분 수열 (Longest Increasing Subsequence, LIS) & 최장 공통 부분 수열 (Longest Common Subsequence, LCS) - 개념 부분 수열 : 주어진 수열 중 일부를 뽑아 새로운 수열을 만들 때, 기존의 상대적인 순서를 유지하는 수열 최장 증가 부분 수열 (LIS) : 부분 수열의 원소가 오름차순을 유지하면서 가장 길이가 긴 수열 일반적으로 다이나믹 프로그래밍으로 해결가능함 LIS 길이 계산에 다이나믹 프로그래밍 적용하기 다이나믹 프로그래밍을 활용하기 위해서는 전체 문제가 중복되는 최적 부분 구조로써 분해 가능해야함 - 최적 부분 구조 : 전체 수열에 대한 LIS 길이는 각 원소로 끝나는 LIS 길이 중 최대값을 구..