sound spectrum analyzer
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
.gitignore
.travis.yml
Makefile
README.ja.md
README.md
analyse.cu
analyse.hpp
colormap.h
converter.cpp
converter.hpp
filterspec_convert.cpp
filterspec_convert.hpp
findphase.cu
findphase.hpp
fmrs.hpp
main.cpp
player.cpp
player.hpp
spec_convert.cpp
spec_convert.hpp
wave.cu
wave.hpp

README.md

sound_split

Build Status

sound spectrum analyzer

description

A linux cuda implementation of Fast recursive spectral analysis using variable window (H.Nakatsuji).

screenshot

screenshot

compile

  • prepare cuda environment
sudo apt-get install build-essential
wget https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux
sudo bash cuda_9.2.148_396.37_linux
wget https://developer.nvidia.com/compute/cuda/9.2/Prod2/patches/1/cuda_9.2.148.1_linux
sudo bash cuda_9.2.148.1_linux

and add this to .bashrc

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  • prepare libraries
sudo apt install libgtk-3-dev
sudo apt install libpulse-dev
  • clone source and compile
git clone https://github.com/lithium0003/sound_split.git
cd sound_split

edit cuda compute capability in Makefile

NVCCFLAGS := -O3 -I ~/NVIDIA_CUDA-9.2_Samples/common/inc/ -gencode=arch=compute_61,code=sm_61

and run make

make

how to use

$ ./sound_split [optinos] input.wav
options
  --mono: force load as mono
  --start [time]: skip first [time] samples in wav file
  --length [time]: analyze only [time] length
  --filter: filter mode
time option
  10.05 -> 10.05sec
  1min20sec or 1h10m5.02sec will be ok

License

These codes are licensed under CC0.

CC0

reference

可変窓を用いた高速再帰的スペクトル解析 中辻 秀人 著