Skip to content

Instantly share code, notes, and snippets.

View aidiary's full-sized avatar

Koichiro Mori aidiary

View GitHub Profile
import struct
import threading
import time
import wave
import numpy as np
import pyaudio
from openai import OpenAI
CHUNK = 1000
@aidiary
aidiary / ContentView.swift
Created April 24, 2022 04:36
NavigationLinkのList表示
//
// ContentView.swift
// MyFirstSwiftUIApp
//
// Created by Koichiro Mori on 2022/04/24.
//
import SwiftUI
struct Data: Identifiable {
@aidiary
aidiary / ContentView.swift
Created April 23, 2022 11:46
2021 SwiftUI Tutorial for Beginners (3.5 hour Masterclass)
//
// ContentView.swift
// war-challenge
//
// Created by Koichiro Mori on 2022/04/20.
//
import SwiftUI
struct ContentView: View {
@aidiary
aidiary / books.py
Created November 24, 2021 01:41
ISBNから書籍タイトルを取得する
import json
import requests
url = 'https://www.googleapis.com/books/v1/volumes?q=isbn:'
with open('list.txt', 'r') as f:
for line in f.readlines():
isbn = line.rstrip()
res = requests.get(url + isbn, headers={"content-type": "application/json"}).json()
@aidiary
aidiary / passthrough_ringbuffer.py
Created November 8, 2021 00:03
リングバッファを用いたパススルー再生
import numpy as np
import sounddevice as sd
import soundfile as sf
from ring_buffer import InputRingBuffer
input_device = 'Yeti Stereo Microphone'
output_device = 'MacbookProのスピーカー'
fft_size = 1024
@aidiary
aidiary / App.js
Last active November 25, 2021 11:43
[React] サーバからasync/awaitでデータをfetchする例
import React, { useCallback, useEffect, useState } from 'react';
import './App.css';
import MoviesList from './components/MoviesList';
function App() {
const [movies, setMovies] = useState([]);
const [isLoading, setIsLoading] = useState(false);
const [error, setError] = useState(null);
const fetchMovieHandler = useCallback(async () => {
@aidiary
aidiary / App.js
Last active November 6, 2021 11:42
[React] サーバAPIからデータをfetchする
import React, { useState } from 'react';
import './App.css';
import MoviesList from './components/MoviesList';
function App() {
const [movies, setMovies] = useState([]);
function fetchMovieHandler() {
fetch('https://swapi.dev/api/films/')
.then((response) => {
@aidiary
aidiary / UserFinder.js
Created November 3, 2021 12:01
[React] テキストボックスに入力して絞り込む機能
import { Fragment, useEffect, useState } from 'react';
import classes from './UserFinder.module.css';
import Users from './Users';
const DUMMY_USERS = [
{ id: 'u1', name: 'Max' },
{ id: 'u2', name: 'Manuel' },
{ id: 'u3', name: 'Julie' },
];
@aidiary
aidiary / tutorial1.py
Last active November 1, 2021 12:18
asyncioのサンプルプログラム
import asyncio
async def main():
print('tim')
# タスクを作成
task = asyncio.create_task(foo('text'))
# 別のタスクに処理を譲る => fooが動き出す
await asyncio.sleep(0.5)
print('finished')
@aidiary
aidiary / fft_overlap_add.py
Last active November 1, 2021 01:30
Phase Vocoderのサンプル1
import numpy as np
import sounddevice as sd
import soundfile as sf
sd.default.device = 'MacBook Proのスピーカー'
filename = '../slow-drum-loop.wav'
# filename = '../DIALOG_001_01.wav'
data, fs = sf.read(filename)
data = data[:, 0] # stereo -> mono