분류 전체보기 82

[Voice] Audio Processing Libraries (feat. 8bit convert to 16 bit)

0. 8bit convert to 16 bit8k 8bit PCM 음성 신호를 8k 16bit PCM으로 변환하는 것은 음성의 질을 높이는데 도움이 됩니다.또한, 8-bit 음성은 2^8 = 256단계로 소리를 표현하는 반면, 16-bit 음성은 2^16 = 65,536단계로 소리를 표현할 수 있습니다. 이 차이는 음성 신호의 더 작은 차이까지도 표현할 수 있게 해 주며, 더 풍부한 정보를 담은 음성을 제공합니다.  이러한 이유로 8k 8bit 음성을 8k 16bit로 변환하여 자주 사용하고 있습니다. 1. 변환 왜곡 하지만 여기서 라이브러리를 사용해 음성을 16bit로 변환하면 음성에 왜곡이 발생합니다.  int8과 int16가 표현할 수 있는 범위는 아래와 같습니다. int8 (8-bit intege..

DL/Voice 2024.09.25

[Voice] pyVoIP - Python으로 작성된 VoIP 라이브러리

0. pyVoIPpyVoIP는 순수 Python으로 작성된 VoIP(Voice over IP)/SIP(Session Initiation Protocol)/RTP(Real-time Transport Protocol) 라이브러리입니다. 음성 서비스를 개발하려고 하는 파이썬 개발자가 파이썬을 활용해 간단한 서비스를 만드는데 유용합니다.1. 특징 및 기능주요 특징 - 순수 Python 구현 : 외부 종속성 없이 순수 Python으로 구현되어 있어 설치와 사용이 간편합니다[2][4]. - 지원 코덱 : PCMA, PCMU- 독립적인 오디오 처리 : 특정 오디오 라이브러리에 의존하지 않아, pyaudio나 wave 등 선형 사운드 데이터를 처리할 수 있는 다양한 라이브러리와 함께 사용할 수 있습니다. 주요 기능 -..

DL/Voice 2024.09.20

[RAG] Document Loader 비교 (feat. PDF, Markdown 변환)

0. Document Loader (PDF)RAG를 하려면 수 많은 Raw Data들을 파싱해야 합니다.Raw Data들 중에서도 가장 범용적으로 사용되는 파일은 PDF이기 때문에, 이번 글에서는 PDF 파일에서 한글을 추출해내는 것이 중요합니다. 아래는 Aurtorag 팀에서 한글 여러 도메인의 pdf를 가지고 한글 텍스트 추출 실험을 진행한 순위표 입니다. 아래 표기된 숫자는 등수를 나타냅니다. (The lower, the better)  PDFMinerPDFPlumberPyPDFium2PyMuPDFPyPDF2Medical12345Law31135Finance12245Public11145Sum5571520 출처: AutoRAG Medium 블로그 1. 표가 있는 PDF 문서 PDF에서 텍스트를 추출하는..

RAG 2024.09.11

[RAG] Llama 3.1 프롬프트 형식

0. 프롬프트란?프롬프트는 사용자가 모델에 원하는 답을 이끌어내기 위해 작성하는 질문이나 명령문입니다.프롬프트를 어떻게 작성하느냐에 따라 LLM이 생성하는 답변이 달라지고, 정확도 역시 크게 차이납니다.1. Base RAG Prompt기본적으로 RAG 프로세스에 사용하는 프롬프트는 다음과 같습니다. 이를 통해 ChatGPT, Claude, Llama 등 다양한 LLM을 사용해 Question을 통해 Context를 검색하고 Context 내에서 Answer를 생성하는 RAG 프로세스로 유도할 수 있습니다.  rlm/rag-prompt You are an assistant for question-answering tasks. Use the following pieces of retrieved context..

RAG 2024.09.09

[RAG] Perplexity - AI 검색 엔진 리뷰 (feat. ChatGPT 차이점)

0. Perplexity?Perplexity는 실시간 웹 검색과 AI 기술을 결합한 대화형 검색 엔진 서비스의 이름입니다. Perplexity AI는 사용자의 질문에 대해 정확하고 최신의 정보를 제공하는 것을 목표로 합니다. 이 서비스는 다양한 AI 모델을 활용하여 검색 결과를 생성합니다.Pro 버전의 경우, 사용자가 선택할 수 있는 여러 고급 AI 모델을 제공합니다. 이 모델들은 다음과 같습니다:GPT-4oClaude-3.5 SonnetSonar LargeClaude 3 OpusSonal huge이러한 다양한 모델 중에서 사용자가 원하는 모델을 선택하여 검색을 수행할 수 있습니다. 각 모델은 고유한 특성과 성능을 가지고 있어, 사용자의 필요에 따라 적절한 모델을 선택할 수 있습니다. Perplexity..

RAG 2024.09.09

[ML] 시계열 데이터 - 특징, 정상성 / 비정상성, ACF, PACF, ADF

1. 시계열 데이터란?시계열 데이터(Time Series Data)는 시간의 흐름에 따라 순서대로 수집된 데이터 집합을 말합니다. 이 데이터는 시간 축을 따라 변화하는 어떤 현상을 관찰한 결과로, 금융, 경제, 기상, 공학, 의료 등 다양한 분야에서 활용됩니다.2. 시계열 데이터 특징시간 종속성(Time Dependence) :시계열 데이터는 관측값들이 시간에 따라 순서대로 나열된 데이터를 의미합니다. 즉, 데이터의 순서가 매우 중요하며, 시간 순서가 뒤바뀌면 데이터의 의미가 달라질 수 있습니다.자기 상관성(Autocorrelation):시계열 데이터는 과거의 값이 현재나 미래의 값에 영향을 미치는 경향이 있습니다. 이를 자기 상관성이라고 하며, 이는 시계열 분석의 중요한 요소입니다.계절성(Seasona..

ML 2024.07.05

[ML] 논문구현(CSSMC) - 클래스 불균형 데이터 분류 예측을 위한 클러스터 기반 언더샘플링 기법

1. 서론http://ki-it.com/xml/40725/40725.pdf 클래스 불균형 데이터 분류 예측을 위한 클러스터 기반 언더샘플링 기법 (2024) 신용카드 사기 탐지나 장애 탐지 등 이상 탐지 분야에서는 다수클래스와 소수클래스가 불균형하게 분포하며 분류예측 성능에 많은 오류를 야기합니다. 해당 논문에서는 Kullback-Leibler Divergence을 활용하여 다수클래스의 모집단 분포를 반영하는 Cluster 기반 언더샘플링 방법을 제안했습니다. 이 방법은 다수클래스 데이터와 확률분포가 가장 유사한 샘플을 추출함으로써 언더샘플링의 주요 단점인 정보손실을 최소화합니다. 2. 본문기존의 언더샘플링 기법은 다수클래스와 소수클래스 분포에 따라 데이터 축약의 효과가 미미하거나, 대표성이 떨어져 오히..

ML 2024.06.17

[Voice] 딥러닝 음성 처리 파이썬 실습 - 16K / 8K 비교, 음성 데이터 연산

딥러닝 음성 학습 16K VS 8KAICC를 위한 딥러닝 학습 오디오 데이터 샘플링 레이트로 16K / 8K 중 어떤 것을 사용하는 것이 좋을까요?AICC 음성 모델(VOIP)전화 통화의 주요 목표는 사람의 음성을 명확하게 전달하는 것입니다. 음성 주파수는 일반적으로 300Hz에서 3400Hz 사이에 위치하며, 이는 8kHz 샘플링 레이트로도 충분히 커버할 수 있습니다. 이유Nyquist 이론: 샘플링 레이트가 신호의 최대 주파수보다 최소 두 배 높아야 합니다. 전화 음성 주파수 범위(최대 약 3.4kHz * 2 = 6.8kHz)를 재현하려면 8kHz 샘플링 레이트로도 충분합니다.대역폭 효율성: 낮은 샘플링 레이트는 데이터 양을 줄여 전송 대역폭을 효율적으로 사용합니다. 실시간 서빙이 중요한 AICC에서..

DL/Voice 2024.06.12

[Voice] 디지털 신호(음성) 처리 개념 정리 (3) - 16 Bit, 44.1 kHz / PCM

디지털 판(Bit Depth x Sample Rate)아날로그 신호를 디지털 판에 흡사하게 담아내고자 하였고, 그 X, Y축을 이루는 값이 Bit Depth와 Sample Rate 입니다.Sample Rate는 1초동안 지나가는 신호의 샘플수를 이야기하는데, 1초 길이의 사운드를 얼마나 많은 샘플로 나눌 것인가를 의미합니다. Bit Depth는 Sample Rate로 결정된 각 샘플에 담긴 정보의 양을 의미하는데, 16비트는 2의 16제곱인 65,536개의 서로 다른 정보를 뜻합니다. 즉, 63,535개의 구간이 발생한다는 뜻입니다. 따라서, 16 Bit / 44.1kHz는 아날로그 신호를 1초동안 44,100 x 65,535개의 격자로 이루어진 디지털 판에 담고 있다는 말이 됩니다. WHY? 16Bit..

DL/Voice 2024.06.12

[Voice] 디지털 신호(음성) 처리 개념 정리 (2) - 나이퀴스트 이론 / 앨리어싱 현상

인간의 가청주파수 영역인간의 가청주파수 영역은 일반적으로 20Hz에서 20,000Hz (20kHz) 사이입니다. 나이가 들수록 고주파수에 대한 청력이 감소하는 경향이 있습니다. 어린 아이들은 20kHz까지 들을 수 있지만, 성인은 대개 16kHz 이상은 잘 들을 수 없습니다. 사람은 100~10,000Hz의 주파수 범위를 갖는 목소리를 낼 수 있으며, 회화가 가능한 범위는 200~6,000Hz 영역, 대화가 명료한 범위는 500~2,500Hz 영역이라고 할 수 있다. 그러므로 AICC에 전자기기와 대화가 이뤄지는 AICC의 음성은 8000Hz(8kHz)에서도 충분히 커버가 가능하다. 나이퀴스트 이론 (Nyquist-Shannon)Nyquist-Shannon 이론이란, 신호는 그 신호에 포함된 가장 높은 ..

DL/Voice 2024.06.12