본문 바로가기

분류 전체보기1575

[Python] librosa로 WAV 파일 무음 제거하기 안녕하세요 오늘은 파이썬에서 제공하는 오디오 처리 라이브러리인 librosa 를 활용해 wav 파일 앞뒤의 무음 제거를 해보도록 하겠습니다. WAV 파일이란Waveform Audio File Format 의 약자로 무손실(raw) 방식의 오디오 파일 포맷을 의미합니다. 단순한 PCM (펄스 부호 변조) 데이터로 오디오 처리에 작관적이며 원본에 가까운 소리를 보존하고 프레임 단위 접근이 가능하다는 장점이 있습니다. 단점으로는 용량이 일반적인 MP3 파일에 비해 훨씬 큽니다. WAV 파일의 사용 용도 음악 제작/편집: DAW(Logic, Cubase, Ableton 등)에서 작업 시 기본 포맷방송/미디어: 무손실 퀄리티 필요할 때AI/머신러닝:음성 인식(ASR)텍스트-음성 변환(TTS)스피커 인식/.. 2025. 8. 17.
[PHP] memory_get_usage()로 사용중인 메모리 크기 확인하기 안녕하세요. 오늘은 memory_get_usage() 함수로 스크립트가 얼마나 메모리를 사용하고 있는지 확인해보도록 하겠습니다. memory_get_usage()memory_get_usage() 함수는 현재 PHP 스크립트가 사용 중인 메모리의 크기를 바이트 단위로 반환합니다.반환값: 정수(integer), 바이트 단위인자: 기본적으로 인자가 없으며, true를 전달하면 실제 할당된 메모리의 크기를 반환함memory_get_usage() → 현재 사용 중인 메모리memory_get_usage(true) → PHP가 내부적으로 할당한 메모리(실제 사용량보다 클 수 있음) 예제 코드 아래 코드는 배열을 점점 키워가면서, 어느 시점에 메모리 사용량이 증가하는지 확인하는 예제입니다.";echo memory.. 2025. 8. 16.
[Kotlin][Android] 포그라운드서비스로 GPS 위치 추적하기 안녕하세요.오늘은 포그라운드서비스를 사용해서 GPS 위치추적하는 기능을 만들어보겠습니다. 1. 포그라운드 서비스란? 포그라운드 서비스는 사용자가 직접 인식할 수 있는 작업을 수행하는 서비스입니다.일반 서비스는 백그라운드에서 실행되지만 시스템 리소스 부족 시 언제든 종료될 수 있습니다. 반면 포그라운드 서비스는 반드시 알림(Notification)을 표시해야 하며, 사용자가 앱을 종료해도 계속 실행됩니다. 포그라운드 서비스의 특징- 시스템에 의해 강제 종료되지 않음- 반드시 지속적인 알림 표시 필요- 음악 재생, 파일 다운로드, GPS 추적 등에 사용- Android 8.0(API 26) 이상에서는 startForegroundService() 사용 필수 2. 프로젝트 설정권한 설정 (AndroidManif.. 2025. 8. 15.
[Java][Android]ViewModel, LiveData, Repository 순서 추적하기 MVVM 아키텍처란 무엇인가요?MVVM은 앱의 구성 요소를 세 가지 역할로 명확하게 분리하는 디자인 패턴입니다.Model: 앱의 데이터와 로직을 담당합니다.Repository, 데이터베이스(Room), 네트워크 API(Retrofit) 등이 여기에 해당합니다.Model은 View나 ViewModel의 존재를 전혀 알지 못합니다.View: 사용자 인터페이스(UI)를 담당합니다. Activity, Fragment, XML 레이아웃 등이 여기에 해당합니다. View는 사용자의 입력을 받아 ViewModel에 전달하고, ViewModel의 데이터 변경을 관찰(Observing)하여 UI를 업데이트할 뿐, 직접적인 로직 처리는 하지 않습니다.ViewModel: View와 Model 사이의 중개자 역할을 합니다. .. 2025. 8. 14.
[Python] PyTorch 활용해서 손글씨 데이터를 숫자로 분류하기 안녕하세요오늘은 PyTorch 활용해서 MNIST 손글씨 데이터를, MLP로 분류하는 간단한 예제를 해보겠습니다. 우선 터미널에서 pip install torch torchvisionpip install certificate 을 설치해줍니다. 전체 코드입니다. mnist_mlp.py"""MNIST 손글씨 숫자(0~9) 분류를 위한 '첫 PyTorch 예제'- Dataset/DataLoader 쓰는 법- nn.Module로 모델 만들기- 손실함수/옵티마이저/학습 루프/평가까지 한 번에"""from typing import Selfimport torch# macOS 의 경우 torchvision의 다운로드가 사용하는 기본 HTTPS 컨텍스트에 certifi 인증서 번들을 물려주기위해 활성화할것# import.. 2025. 8. 13.
[Python] 오디오 데이터 전처리 하기 안녕하세요 오늘은 파이썬 라이브러리를 활용하여 오디오 데이터 전처리 작업을 해보려고 합니다. 음성 AI 학습용 데이터를 만들다 보면 앞뒤 무음, 배경 잡음, 샘플레이트 불일치 같은 문제가 자주 발생합니다.특히 직접 녹음한 경우에는 버튼을 누르는 소리, 에어컨 소리, 주변 환경음이 많이 들어가는데파이썬은 이런 오디오 데이터에 대해 전처리 작업을 할 수 있는 다양한 라이브러리를 제공합니다. 오늘은 그중에서도 librosa, scipy, noisereduce, soundfile을 사용할 예정입니다. 1. preprocess_audio.pyimport argparse, csv, osfrom pathlib import Pathimport numpy as npimport soundfile as sfimport l.. 2025. 8. 12.
[React] 3D 아바타 컴포넌트 만들기 안녕하세요 오늘은 React + Three.js 기반의 3D 아바타 컴포넌트 예제를 만들어보겠습니다. 우선 3D 렌더링 라이브러리를 필수로 설치해야합니다 1. 관련 라이브러리 설치 - 이 예제는 TailwindCSS로 스타일링 돼있으니 Tailwind도 같이 세팅해줍니다. npm install @react-three/fiber @react-three/drei threenpm install -D tailwindcss postcss autoprefixernpx tailwindcss init -p react-three-fiber: https://docs.pmnd.rs/react-three-fiber@react-three/drei: https://github.com/pmndrs/dreiThree.js: .. 2025. 8. 11.
[PHP] 날짜 및 시간 객체 선언하여 다루기 웹 애플리케이션 개발에서 날짜와 시간은 로그인 기록, 게시물 작성 시간, 예약 시스템 등 거의 모든 곳에서 사용되는 중요한 요소입니다. PHP는 날짜와 시간을 다루는 다양한 방법을 제공하지만, 그중에서도 DateTime 객체는 복잡한 날짜 연산을 쉽게 만들어줍니다. 그럼 어디에 사용하면 좋을까요?데이터의 무결성 및 정확성 보장: 로그 및 감사 추적: 누가, 언제, 무엇을 했는지 정확히 기록해야 시스템의 보안을 강화하고 문제 발생 시 원인을 파악할 수 있습니다. 데이터 정합성: 게시물, 댓글, 주문 등 모든 데이터는 생성 시점 정보가 있어야 일관성 있게 관리될 수 있습니다. 비즈니스 로직 구현: 할인 기간, 이벤트 종료일: 특정 기간에만 적용되는 프로모션이나 이벤트의 시작/종료 시점을 정확히 제어해야 합니.. 2025. 8. 10.
[PHP] get_defined_vars() 함수로 정의된 변수 확인하기 안녕하세요. 오늘은 get_defined_vars() 함수를 활용하여 현재 스크립트에서 정의된 모든 변수를 확인해보도록 하겠습니다. get_defined_vars()현재 범위(Scope)에서 정의된 모든 변수와 그 값을 연관 배열(associative array) 형태로 반환합니다.전역 변수, 지역 변수, 슈퍼글로벌($_GET, $_POST 등)까지 포함됩니다. 반환값은 변수 이름을 key로, 변수 값을 value로 가지는 배열입니다.이 배열을 print_r() 또는 var_dump()를 사용해 출력하면, 현재 사용 가능한 모든 변수를 한눈에 확인할 수 있습니다. 예제코드 // 변수 정의$name = "Alice";$age = 25;$is_admin = true;// 함수 예제function show.. 2025. 8. 9.