*disclaimer
350046
[HSP]
06. 音声の録音と外部ファイルからのデータ取り込み
- 06. 音声の録音と外部ファイルからのデータ取り込み
- => TextForHSP07
06.1 音声の録音
絵を見て、答えを録音する
- 画像ファイル: po.png(先週と同じもの)
- 音声ファイル: po.mp3(先週と同じもの)
結果は以下のファイルに保存される
- 録音データ(sample.wav)
- 録音にかかった時間(time.txt)
録音に必要な命令(マイク必要)
- 準備
mci "open new alias sam type waveaudio" ; waveでsamという「デバイス」に録音 mci "set sam channels 2 samplespersec 44100 bitspersample 16"
- チャンネル数 2(ステレオ)
- サンプリング周波数 44100Hz (一秒間に何回データを取るか。44,100回)
- サンプルビット数 16 (振り幅を、どれだけ細かく取るか。16ビットは、2^16=65,536段階)
- 操作
mci "record sam" ; 録音の開始 mci "stop sam" ; 録音停止 mci "save sam \"sample.wav\"" ; 音声ファイル保存 mci "close sam" ; 録音終了(デバイスを閉じる)
06.2 外部ファイルからのデータの取り込み
- flashCard01c.hsp(100)
テキストファイルから単語を読み込む
- テキストファイルは words.txt というファイル名
- 一行一単語ずつ
puzzle idle simple waggle twinkle challenging
- 同じフォルダーに入れておく。
notesel notename; 事前に読み込みバッファ(メモリーパッド)の設定 noteload "words.txt" ; テキストファイルの読み込み
- 「メモリーパッド」とは、行単位でテキストデータを扱う「特別な」変数(noteなんとかという命令群)
- notemax に読み込んだ行数が自動的に入る。
noteget 変数, 番号
- メモリーパッドの何番の行を読み込むか指定
- 読み込んだ内容を変数に入れる
- 「第5文型」: 変数に番号(の内容)をgetする
06.3 外部ファイルからのデータの取り込み(二次元配列)
二つの対応する項目(英語,日本語)をテキストデータ(CSVファイル)にしておく。
- スクリプト: flashCard02b.hsp(88)
- データファイル: text.csv(140)
analysis,分析 response,反応 occur,発生する
データファイル: text.csv
- エクセルで作って、CSVファイルで保存
英語 | 日本語 |
---|---|
concept | 概念 |
method | 方法 |
analysis | 分析 |
読み込んで二次元配列に入れていく
wordlist(フィールド番号, レコード番号)
(レコード番号とフィールド番号の順番に注意)
- 一行の「レコード」の中に、複数の「フィールド」が含まれる
0番フィールド | 1番フィールド | |
---|---|---|
0,0 | 1,0 | 0番レコード |
0,1 | 1,1 | 1番レコード |
0,2 | 1,2 | 2番レコード |
外部ファイルからのデータ取り込み
notesel text ; 事前に読み込みバッファ設定 noteload "text.csv" ; CSVファイルの読み込み gyosuu = notemax ; notemaxは、「メモリーパッド」内の行数。
- csvファイルで読み込む点に注意
二次元配列の定義
sdim wordlist, 2, notemax
- sdim で「文字列型配列」を使うことを定義
- wordlist という名前(変数名)にする
- 2 つの「フィールド」を使うことを指定
- notemax の数だけの「レコード」数(行数)(具体的に数を書いてもよい)
データを読み込んで、「カンマ」を区切りとして、二次元配列に入れていく
split をHSPキーワード検索して説明を読む
repeat gyosuu ; 行数(語数)分だけ繰り返す。 noteget item, cnt; noteget で行単位で読みだす。 ; cntで読み込みインデックス番号を指定 split item, ",", wordlist(0,cnt), wordlist(1,cnt) ; item をカンマで切って、二次元配列に代入 item = "" await 1 loop
06.4 音声ファイルを順に鳴らす
- スクリプト: flashCard03.hsp(95)
- データファイル: text2.csv(52)
- 音声ファイル:
1.mp3(117)
2.mp3(118)
3.mp3(116)
4.mp3(131)
5.mp3(107)
6.mp3(104)
7.mp3(98)
8.mp3(112)
9.mp3(111)
- スクリプトのコメント参照
06.5 音声ファイルを聞いてタイプする
- スクリプト: flashCard04d2.hsp(94)
- データファイル: text.csv (上のと同じ)
- 音声ファイル: 番号.mp3 (上のと同じ)
- スクリプトのコメント参照
https://sugiura-ken.org/wiki/