2020-01-01から1年間の記事一覧

CycleGAN

import osimport globimport randomimport cv2import torchfrom torch import nnimport torch.nn.functional as Ffrom torch.utils.data import Dataset, DataLoaderfrom torch.utils import tensorboardimport torchvisionfrom tqdm import tqdmimport iter…

GANで大きな顔を描く

import osimport globimport cv2import torchfrom torch import nnimport torch.nn.functional as Ffrom torch.nn.utils.spectral_norm import spectral_normfrom torch.utils import tensorboardfrom torch.utils.data import Dataset, DataLoaderimport to…

GANで顔を描く

import osimport globimport cv2import torchfrom torch import nnimport torch.nn.functional as Ffrom torch.utils import tensorboardfrom torch.utils.data import Dataset, DataLoaderfrom tqdm import tqdmclass CelebDataset(Dataset): def __init__(…

GANで0を描く

import torchimport torch.nn.functional as Ffrom torch import nnfrom torch.utils import tensorboardfrom torch.utils.data import DataLoaderfrom torchvision import datasets, transformsimport cv2class Generator(nn.Module): def __init__(self, l…

scipy.signal.firwinのsimple example

import numpy as npfrom scipy.io import wavfilefrom scipy.signal import lfilter, firwinimport matplotlib.pyplot as pltsample_rate, x = wavfile.read('combined_sine.wav')sample_interval = 1.0 / sample_rateN = x.shape[0]nyquist = sample_rate /…

scipy.signal.lfilterのsimple example

import numpy as npfrom scipy.io import wavfilefrom scipy.signal import lfilterimport matplotlib.pyplot as pltsample_rate, x = wavfile.read('combined_sine.wav')sample_interval = 1.0 / sample_rateN = x.shape[0]filtered = lfilter([0.5, 0.5], …

wave, scipy.io.wavfile, librosaでwaveファイル入力

waveはpylabを介すので分かりにくい。 librosaはサンプリングレートを与えないといけない。 scipy.io.wavfileが一番使い勝手が良さそう。 import numpy as npimport matplotlib.pyplot as plt# import wave# from pylab import frombuffer# wf = wave.open('…

メルスペクトラムとデータ水増しでESC50の精度を上げる

以下の記事の改良。 test accuracyが8%から30%くらいまで上がりました。 ESC50音声分類をシンプルなCNNでやってみた - LeMU_Researchの日記 import osimport pandas as pdimport numpy as npimport randomimport librosaimport torchfrom torch import optim…

numpyでスペクトル包絡の算出(ケプストラム分析)

・引用/データ メル周波数ケプストラム(MFCC) - Miyazawa’s Pukiwiki ・スペクトル import numpy as npfrom scipy.io import wavfileimport matplotlib.pyplot as plt# waveファイル入力sample_rate, wave_data_orig = wavfile.read('a.wav')# 切り抜きcut…

離散フーリエ変換への最短経路

サンプリング数Nの離散時間信号をフーリエ変換したい。 引用:6. 離散フーリエ変換 (やる夫で学ぶディジタル信号処理) 入出力が離散信号でないといけないので、離散フーリエ変換を利用する。 本来、離散フーリエ変換は周期時間信号にしか適用できないが、周…

Juliusの認識結果をpythonで受信する

・Juliusサーバの起動 .\bin\windows\julius.exe -C main.jconf -C am-dnn.jconf -dnnconf julius.dnnconf -module ・Pythonクライアントコード import socketwith socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect(('127.0.0.1', 10500)…

pythonでsocket通信

・サーバ import socket# ソケット作成# AF_INET : IPv4# SOCK_STREAM : TCPwith socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: # 接続待ちするIPアドレスとポートを指定 s.bind(('127.0.0.1', 50007)) # 接続待ち数1 s.listen(1) # 接続待ち co…

pykakasiでcsvファイルの中身をローマ字に変換

from pykakasi import kakasiimport pandas as pdimport rekakasi = kakasi()kakasi.setMode("H", "a") # ひらがなkakasi.setMode("K", "a") # カタカナkakasi.setMode("J", "a") # 漢字kakasi.setMode("r", "Hepburn") # ヘボン式ローマ字conv = kakasi.get…

ESC50音声分類をシンプルなCNNでやってみた

※改良記事書きました。 メルスペクトラムとデータ水増しでESC50の精度を上げる - LeMU_Researchの日記 ・npy化 import osimport pandas as pdimport numpy as npfrom scipy.io import wavfileimport pyworld as pwimport cv2data_dir = 'data'df = pd.read_c…

pyworldでピッチ・フォルマントシフト(+wav入力、音声再生、周波数プロット)

import numpy as npfrom scipy.io import wavfileimport simpleaudio as saimport pyworld as pwimport matplotlib.pyplot as plt# wavファイルの入力sample_rate, data_int = wavfile.read('input.wav')# 基本周波数、スペクトル包絡、非周期性指標の抽出da…