Quantcast
Channel: 19日に更新してた
Viewing all articles
Browse latest Browse all 57

【golang】英語のハノン初級の音声データを slow と natural で分類

$
0
0

golangでも作ってみました。一番面倒なところだけやってくれるように、元に手を入れないようにして、move ではなくて copy にしてみました。

package main

import (
	"io""log""os""path/filepath""strings"
)

func copyFile(srcFile string, destFile string) error {
	src, err := os.Open(srcFile)
	if err != nil {
		return err
	}
	defer src.Close()

	dest, err := os.Create(destFile)
	if err != nil {
		return err
	}
	defer dest.Close()

	_, err = io.Copy(dest, src)
	if err != nil {
		return err
	}

	returnnil
}

func main() {
	orgPath := os.Args[1]
	dirPath := filepath.Dir(orgPath)
	slowPath := filepath.Join(dirPath, "英語のハノンslow")
	naturalPath := filepath.Join(dirPath, "英語のハノンnatural")

	d, _ := os.ReadDir(orgPath)
	for _, f := range d {

		if strings.Contains(f.Name(), "slow") {
			orgFilePath := filepath.Join(orgPath, f.Name())
			slowFilePath := filepath.Join(slowPath, f.Name())
			err := os.Mkdir(slowPath, 0750)
			if err != nil&& !os.IsExist(err) {
				log.Fatal(err)
			}
			err = copyFile(orgFilePath, slowFilePath)
			if err != nil {
				log.Fatal(err)
			}
		}

		if strings.Contains(f.Name(), "natural") {
			orgFilePath := filepath.Join(orgPath, f.Name())
			naturalFilePath := filepath.Join(naturalPath, f.Name())
			err := os.Mkdir(naturalPath, 0750)
			if err != nil&& !os.IsExist(err) {
				log.Fatal(err)
			}
			err = copyFile(orgFilePath, naturalFilePath)
			if err != nil {
				log.Fatal(err)
			}
		}

	}
}


家人からリクエストがあったので、windowsで使えるようにしてあるのを貼っておきます。

EigoNoHanon.zip ファイルをダウンロードして、解凍してからお使いください。

ダウンロードして解凍したデータを一回保存してから、英語のハノン_210407 のディレクトリごとドラッグ・アンド・ドロップで使えるようにしています。
zip ファイルをクリックして開いて、その中から直接アプリにドラッグ・アンド・ドロップしても使えません。
zip ファイルをクリックして開いて、中からデスクトップでも zip ファイルの脇にでもドラッグ・アンド・ドロップして取り出して保存してから、アプリのアイコンにフォルダをドラッグ・アンド・ドロップしてみてください。

一応バージョンとMD5 Hash など。
go version go1.22.3 windows/amd64

ファイル名MD5
EigoNoHanon.zip593458F9D6711DB970657E0F1D7F8108
EigoNoHanon.exeeac46f72a430ad8112194e2d12973ced

go build -ldflags="-s -w" -trimpath して、念の為、ノートン360でウイルススキャンして問題はありませんでした。
drive.google.com

作るより公開するための気遣いのほうが時間かかっているような。


Viewing all articles
Browse latest Browse all 57

Trending Articles