
FeatherWave: An Efficient High-Fidelity Neural Vocoder with Multi-Band Linear Prediction Multi-band signal processing과 linear predictive coding을 결합하여 neural vocoder를 구성할 수 있음 FeatherWave LPCNet에 multi-band linear predictive coding을 결합한 모델 Multi-band method를 활용하여 여러 sample을 병렬적으로 빠르게 합성할 수 있도록 함 논문 (INTERSPEECH 2020) : Paper Link 1. Introduction Text-to-Speech (TTS)에서 vocoder는 human-like 음성을 합성하는..

* Python을 기준으로 합니다 위상 정렬 (Topology Sort) - 개념 위상 정렬 : 방향 비순환 그래프 (Directed Acyclic Graph, DAG)의 모든 노드를 순서대로 나열하는 것 진입차수 (Indegree) : 그래프에서 특정 노드를 가리키는 간선의 개수 위상 정렬의 동작 진입차수가 0인 노드를 큐에 push 큐에서 노드를 pop 하면서, 인접 노드의 진입차수를 1씩 줄임 이후 진입차수가 0이 된 노드를 큐에 push 위 2~3번 과정을 큐가 빌 때까지 반복 위상 정렬의 동작 과정에서 모든 노드들을 방문하기 전에 큐가 비어지면, cycle이 존재하는 것으로 볼 수 있음 - Cycle이 존재하는 경우 어떠한 노드도 큐에 push 되지 못하기 때문 - BUT, 일반적으로 위상 정렬..

SpatialCodec: Neural Spatial Speech CodingMulti-channel recording에 embed 된 spatial cue를 정확하게 reconstruct 하고 preserve 하기 위한 효과적인 encoding 방식이 필요함SpatialCodecSingle-channel neural sub-band와 SpatialCodec의 two phase로 구성된 neural audio coding framework Neural sub-band codec은 low bitrate로 reference channel을 encode 하고SpatialCodec은 decoder end에서 정확한 multi-channel reconstruction을 위해 relative spatial info..

* Python을 기준으로 합니다 DFS (Depth-First Search), BFS (Breadth-First Search) - 개념 DFS (깊이 우선 탐색), BFS (너비 우선 탐색) : 그래프의 모든 노드를 한 번씩 방문하는 그래프 순회 작업을 위한 알고리즘 완전 탐색과 같이 탐색 방향을 결정하고, 다음 탐색의 유효성을 검사해야 하는 경우 사용 방문 처리 : 그래프에서 한번 처리되어 탐색된 노드가 다시 탐색되지 않게 체크하는 과정 DFS : 스택, 재귀로 주로 구현됨 그래프에서 더 이상 탐색할 노드가 없을 때까지 진행한 다음, 탐색할 노드가 없으면 가장 최근의 방문 노드로 돌아가 다른 노드를 탐색하는 방법 DFS의 동작 과정 스택에 시작 노드를 push 스택이 비어있다면 탐색을 종료 비어있지 ..

PromptTTS: Controllable Text-to-Speech with Text Descriptions Text description을 generation task를 guide 하는 데 사용할 수 있음 PromptTTS 음성 합성을 위해 style, content description이 포함된 prompt를 input으로 사용하는 text-to-speech 모델 Prompt에서 해당 representation을 추출하는 style encoder, content encoder를 활용하고, 추출된 style, content representation에 따라 음성을 합성하는 speech decoder로 구성됨 추가적으로 prompt가 포함된 dataset이 없으므로, 이에 해당하는 새로운 dataset..

Elucidating the Design Space of Diffusion-based Generative Models현재의 diffusion-based generative model은 불필요하게 복잡함EDMDiffusion model에 대한 구체적인 design choice을 위한 명확한 design space를 제시이를 위해 sampling, training process, score network의 pre-conditioning 등에 대한 다양한 변경 사항들을 identify 함논문 (NeurIPS 2022) : Paper Link1. IntroductionDiffusion-based generative model은 conditional/unconditional 설정 모두에서 뛰어난 합성 성능을 보이..

* Python을 기준으로 합니다 이진 탐색 (Binary Search), 파라메트릭 서치 (Parametric Search) - 개념 이진 탐색 : 정렬된 데이터가 있을 때, 검색 범위를 절반으로 줄여나가면서 값을 탐색하는 방식 반드시 정렬된 데이터에서만 사용 가능하지만, O(logn)의 time complexity를 가짐 이진 탐색의 동작 배열의 시작점과 끝을 start, end로 정함 가운데를 mid로 정하고, mid에 해당하는 값이 탐색 값이면 탐색을 종료하고 값을 반환 mid에 해당하는 값이 탐색하려는 값보다 크면 mid의 오른쪽 배열에 대해 이진 탐색 수행, 작으면 mid 왼쪽 배열에 대해 이진 탐색 수행 위 2~3 과정을 반복 이진 탐색의 응용 - 이진 탐색은 탐색 범위를 계속해서 좁..

UniCATS: A Unified Context-Aware Text-to-Speech Framework with Contextual VQ-Diffusion and VocodingSemantic token과 acoustic token으로 나누어진 discrete speech token을 활용하면 text-to-speech의 성능을 향상 가능대표적으로 VALL-E와 SPEAR-TTS는 짧은 speech prompt에서 추출된 acoustic token에 대한 autoregressive continuation으로 zero-shot speaker adaptation이 가능함- BUT, 해당 autoregressive 모델은 순차적으로 수행되므로 speaker editing에는 적합하지 않고, audio code..

* Python을 기준으로 합니다 완전 탐색 (Brute-Force) - 개념 완전 탐색 : 모든 경우의 수를 확인해서 정답을 구하는 방법 완전 탐색의 적용 : 현재 위치에서 다음 위치로 이동할 수 있는 모든 조건들을 정의해야 함 - 반복적으로 적용되는 동일 조건으로 정답을 찾아야 하는 경우 - 입력 크기가 작을 때 최적해를 구해하는 경우 - 여러 조합들 중에서 최적해를 찾아야하는 경우 완전 탐색의 유형들 단순 완전 탐색 - 반복문, 조건문을 활용하여 단순하게 모든 경우의 수들을 확인하는 방법 순열, 조합 - 여러 데이터에서 경우의 수를 만들어서 활용하는 방법 - 순열 (Permutation) : 서로 다른 n개에서 r개를 선택할 때, 선택되는 순서가 중요한 경우 - 조합 (Combination)..