ãŸãããïŒby 人éïŒ
ã¢ããã³ãã«ã¬ã³ããŒåæçš¿ã§ããå
容ã¯ã¿ã€ãã«éããå°ããªWebAppãGeminiPro3.0ã®å©ããåããŠããšãããã»ãšãã©Geminiã«æžããŠããã£ãŠäœæãããã®ã§ããæã£ãããç°¡åã«ã§ããŠããŸã£ãã®ã§ããã£ããã ããQiitaã«æçš¿ããããšæããGeminiã«çžè«ããããåçš¿ãæžããŠãããŸããïŒç¬ïŒã
ã¯ãªã¹ãã¹ã£ãœãããããŒãªæãã§ãšäŸé Œããã®ã§ãã¡ãã£ãšæ¥ãããããªããããªæç« ã«ãªã£ãŠããŸãããä¿®æ£ãããããGeminiã®å®åã食ããèŠããŠããããšæãããã®ãŸãŸã³ããããŸããå®éã¯ãã®å
容ãããããŒããããšãããã£ããããã®ã§ããèå³ãšãæãããããã¯ã GitHubãªããžã㪠ã®ãdocs ã®ãªãã«ãchatã®å
容ããã¹ãŠã³ããŒããŠãããŸããã®ã§ãèŠæ¯ã¹ãŠã¿ãã®ãäžèããšæããŸãã
åºæ¥äžãã£ãã¢ããªã¯ãã¡ãã§ãã
å®éã«ãèªåã®ã¹ããã§åäœã詊ããŠã¿ããæ¹ãžïŒ
2æéã§ã€ãã£ãç°¡æçãªã¢ããªãªã®ã§ãã¹ãŠã®ã¹ããã§åãä¿èšŒãªã©ãããŸãããç§ã®ææã¡ã®2å°ã®ã¹ããã®ãã¡1å°ã§ã¯ã¡ãããšåããŠäœ¿ããŸããããã1å°ã§ã¯ãæš©éãã©ãã®ãšãšã©ãŒãåºãŠäœ¿ããŸããã§ããã
ãããããã§ãåãããŠã¿ãããšããå¥ç¹ãªæ¹ãããã£ããã£ãããã²ãèªåã®Githubã«ã¯ããŒã³ããŠããããä»ã©ãã®çæAIã«èŠããŠããèªåã®ãšããã§ã¯ãããªãšã©ãŒãã§ããã ãã©ããšçžè«ããã°ãããªã«ããŠããããšæããŸãïŒãã¶ãããããGemini以å€ã®AIã§è©ŠããŠã¿ãŠã»ããïœïŒ
githubã®ãªããžããªã¯ãã¡ãã§ããchatã§äœæããããœãŒã¹ããã¹ãŠä¿åæžã§ãã
ããã§ã¯ã以äžã«Gemini Pro 3.0ãäœæãããŸãŸãã³ããããŸããïŒã¹ã¯ã·ã§ãªã©ã¯Geminiã®æç€ºéãã«èªåãäœæãããã®ãæ¿å ¥ããŠãããŸããïŒ
æ¬æïŒby Gemini Pro 3.0)
ã¡ãªãŒã¯ãªã¹ãã¹ïŒð
ãããŠãçèçã®ã¿ãªããããã«ã¡ã¯ã
çŸå³ãããã®ã溢ãã12æãã©ãããŠãæ°ã«ãªãã®ãããã«ããªãŒããã§ãããã
é£ã¹ãåã¯åããã°ãªããŸãããç§ã«ãšã£ãŠã®çžæ£ã¯ããã¢ãããŒã©ãŒïŒè
¹çããŒã©ãŒïŒããã§ãã
ã§ããã¢ãããŒã©ãŒã£ãŠåæ°ãæ°ããã®ãå°å³ã«é¢åããããªãã§ããïŒ åºã«é¡ãè¿ã¥ããŠå¿
æ»ã«èããŠãããšãã«ãããŸäœåã ã£ã...ïŒããšãªããšãã³ã·ã§ã³ãäžãããŸãã
ãã¢ãããŒã©ãŒãåºã転ããããŽããŽãããšããé³ãèãåã£ãŠãåæã«ã«ãŠã³ãããŠãããã¢ããªãããã°ããã®ã«ïŒã
ããæãç«ã£ãã忥ã
çæAIïŒGeminiïŒãããŒãããŒã«ããèªåå°çšã¢ãããŒã©ãŒã«ãŠã³ã¿ãŒããããŒãããäœãäžããŸããã
æãã€ãããã¹ããã§ã®å®æŠæå
¥ãŸã§ãããã£ãæéã¯ãªããšã2æé匱ã
èªåãžã®æé«ã®ã¯ãªã¹ãã¹ãã¬ãŒã³ãã«ãªã£ããã®éçºãã°ããæè¡çãªãã€ã³ããšå ±ã«å ±æããŸãã
ð¡ ã¢ã€ãã¢ïŒé³ã§åæ°ã¯æ°ããããã®ãïŒ
æ¢åã®ãã£ãããã¹ã¢ããªã¯å é床ã»ã³ãµãŒãã«ã¡ã©ã䜿ããã®ãå€ãã§ããããã£ãšæè»œã«ãåºã«ã¹ããã眮ãã ããã§å®çŸãããã
ã¢ãããŒã©ãŒç¹æã®ããã·ã£ãŒâŠâŠïŒåŸè·¯ïŒããã°ãïŒäžç¬åæ¢ïŒããã·ã£ãŒâŠâŠïŒåŸ©è·¯ïŒãããšããæ©æŠé³ãè§£æããã°ãããã®ã§ã¯ïŒãšèããŸããã
1. ãŸãã¯ããŒã¿åã
è«ãã蚌æ ãã¹ããã®ãã€ã¹ã¡ã¢ã§ãå®éã«ãã¬ãŒãã³ã°äžã®é³ãé²é³ããPythonã§æ³¢åœ¢ãèŠãŠã¿ãŸããã
# å®éã«äœ¿çšããè§£æã³ãŒãã®äžéšïŒAIã«æžããŠããããŸããïŒ
import librosa
import matplotlib.pyplot as plt
# ... (äžç¥) ...
peaks, _ = find_peaks(rms_train, height=threshold, distance=min_distance_frames)
ãã®çµæããã¡ãïŒ

(â èŠäºã«10åã®ãã¬ãŒãã³ã°ãã10åã®ãå±±ããšããŠæ€åºãããŠããŸã)
ãã®ã°ã©ããèŠãç¬éããããããïŒãããšç¢ºä¿¡ããŸããã
ãã€ãºïŒç°å¢é³ïŒãšã·ã°ãã«ïŒæ©æŠé³ïŒã®ãšãã«ã®ãŒå·®ãæç¢ºã ã£ããããè€éãªæ©æ¢°åŠç¿ã¢ãã«ã䜿ãããšããããé³éïŒRMSïŒã®ãããå€å€å®ãããšããã·ã³ãã«ãªããžãã¯ã§å®è£
ã§ãããã§ãã
ð çééçºïŒPythonããWebã¢ããªãž
æåã¯PCäžã§åãPythonã¹ã¯ãªãããäœããŸãããããã¬ãŒãã³ã°äžã«PCãåºã«çœ®ãã®ã¯éªéã§ãã
ããã£ã±ãã¹ããã§äœ¿ãããããããã¢ããªã€ã³ã¹ããŒã«ãšãé¢åãªããšã¯ããããªãã
ããã§ãPythonã§äœã£ãããžãã¯ãHTML + JavaScriptã«ç§»æ€ãããã©ãŠã¶ã ãã§åã**Webã¢ããªïŒPWAçãªãã®ïŒ**ã«ããæ¹éã«è»¢æããŸããã
æè¡ã¹ã¿ãã¯
- Frontend: HTML5, CSS3, Vanilla JavaScript
-
Audio Processing: Web Audio API (
AudioContext,AnalyserNode) - Visualization: Chart.js (ã¢ããã¢ããçšã®ã°ã©ã)
- Hosting: GitHub Pages
ãããªããµãŒããŒãµã€ãã®åŠçãäžèŠãªã®ã§ãGitHub Pagesã«çœ®ãã ãã§ç¡æã§å ¬éã§ãã誰ã§ãïŒãšãã£ãŠãç§ãã䜿ããŸãããïŒã¢ã¯ã»ã¹ã§ããŸãã
âš ãã ããã®ããã€ãã€ãæ©èœ
ãã æ°ããã ãã§ã¯é¢çœããããŸããããã¬ãŒãã³ã°åŸã«ãããµãµã£ã仿¥ããã£ããããšãã€ãã€ããããã®æ©èœããAIãšçžè«ããªããçã蟌ã¿ãŸããã
1. 誀æ€ç¥ãé²ããã¯ãŒã«ããŠã³ãæ©èœ
ã¢ãããŒã©ãŒã¯ãè¡ã£ãŠã»æ»ããåäœã§ãããæåºŠãè¯ããããšãåŸè·¯ã§1åã埩路ã§1åããšããã«ã«ãŠã³ããããŠããŸããŸãã
ããã§ããäžåºŠã«ãŠã³ããããããã®åŸ3ç§éã¯ã«ãŠã³ãããªãïŒå
¥åãç¡èŠããïŒãããšããã¯ãŒã«ããŠã³ããžãã¯ãå®è£
ã
Webç»é¢äžã®ã¹ã©ã€ããŒã§ãèªåã®ãã¬ãŒãã³ã°ããŒã¹ã«åãããŠç§æ°ã調æŽã§ããããã«ããŸããã
2. LocalStorageã§ãåªåã®å¯èŠåã
ãµãŒããŒããªãã®ã§ãããŒã¿ã¯ãã©ãŠã¶ã® localStorage ã«ä¿åããŸãã
Chart.jsã䜿ã£ãŠãçŽè¿1é±éã®åæ°ãæ£ã°ã©ãã§è¡šç€ºã
ãTotal: 150 repsããã®ããã«çޝèšã衚瀺ããããšãèªå·±è¯å®æãçäžããããŸããðª
3. "FINISH" ãã¿ã³ã®UX
ãã¬ãŒãã³ã°ãçµãã£ãåŸãçæŽ»é³ãæŸã£ãŠåæã«ã«ãŠã³ããå¢ããã®ãé²ãããããFINISHããã¿ã³ãäœããŸããã
ãããæŒããšãã€ã¯å
¥åãç©ççã«ïŒãœãããŠã§ã¢çã«ïŒé®æãããã°ã©ããåºå®ãããŸããããã§å®å¿ããŠçµæãçºããããŸãã
ð± 宿ãããã®
宿ããWebã¢ããªã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãããªæãã§ãã

(â ç·è²ã®ããªã³ã«ã©ãŒã§ãæãããªãã¯ã¹ã®ãããªãµã€ããŒæãæŒåº)
äœ¿ãæ¹ã¯è¶ ã·ã³ãã«ã
- URLãéãã
- ãSTARTããæŒãïŒ3ç§éã®ãã£ãªãã¬ãŒã·ã§ã³ã§ç°å¢ãã€ãºã枬å®ïŒã
- Go! ãŽããŽãããã ãã
- çµãã£ãããFINISHãã§èšé²ç¢ºå®ã
ð ã»ãã¥ãªãã£ã«ã€ããŠïŒèªåå°çšããŒã«ã®åŒ·ã¿ïŒ
ãã®ã¢ããªãGitHub Pagesã§å ¬éããŠããŸãããã»ãã¥ãªãã£ãªã¹ã¯ã¯ã»ãŒãããŸããã
- é³å£°ããŒã¿ã¯ãµãŒããŒã«éãããªã: ãã€ã¯ã§æŸã£ãé³ã¯ãã©ãŠã¶å ïŒJavaScriptïŒã§è§£æããããã®ç¬éã«ç Žæ£ãããŸããé²é³ããŒã¿ãã©ããã«éä¿¡ãããããšã¯ãããŸããã
-
ããŒã¿ã¯å人ã®ç«¯æ«å
: ãã¬ãŒãã³ã°èšé²ã¯
localStorageïŒããªãã®ã¹ããã®äžïŒã«ä¿åãããã ãã§ãã
ð ãŸãšãïŒAIãšã®ãã¢ããã°ã©ãã³ã°ã¯æé«
ä»åããæãã€ãããããå®çšããŸã§2æéã§é§ãæããããšãã§ããŸããã
ããäžäººã§ãã£ãŠããããWeb Audio APIã®ä»æ§èª¿æ»ããChart.jsã®å®è£
ãããã§æ«æããŠã¯ãªã¹ãã¹ãçµããŠãããããããŸããã
- ãããããããšãããããšäŒãã â ããžãã¯ãè¿ã£ãŠãã
- ãããã«ã«ãŠã³ããã¡ããããšçžè«ãã â ãã¯ãŒã«ããŠã³å ¥ããŸãããããšææ¡ããã
- ããã€ãã€ãããããšèšã â ãã°ã©ãã€ããŸãããããšã³ãŒããåºãŠãã
ãã®ãããããŸãŸãå šéšã³ãŒãã«ããŠããããµã³ã¿ã¯ããŒã¹ããã®ãããªAIãšã®éçºäœéšããããäžçªã®ãã¬ãŒã³ãã§ããã
ã¿ãªãããã幎æ«å¹Žå§ã®äŒæã«ãèªåå°çšã®å°ããªããŒã«ããäœã£ãŠã¿ãŠã¯ãããã§ããããïŒ
ããã§ã¯ãè¯ãã幎ãïŒãããŠè¯ãçèã©ã€ããïŒðâš
ããšããïŒby 人éïŒ
Geminiãç§ã«ãªãããŸããŠæžããŠããããã§ãããã«ã¯Geminiãšç§ã®ïŒã€ã®äººæ Œãæ··ãã£ãŠããŸãã
ããããã俺ãããªããšèšã£ãŠããªãããšæããšãããäœç®æããããŸãã人éã¯
ãã¢ãããŒã©ãŒã®é³ãã«ãŠã³ãããã¹ããã¢ããªãã»ããã
ãšæãã ã ãã§ãããšã¯å
šéšGeminiããã£ãŠãããã®ã§ãããããé©åœã«åœ¹å²åæ
ããŠäººéã®ããã«ããŠãŸãã
çæAIæãã§ãããã¡ããã¡ã䟿å©ã§ããã©ã