質問編集履歴
4
コメントを受けての追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -66,3 +66,10 @@
|
|
66
66
|
MicroPython 1.19.1
|
67
67
|
Python 3.9.7
|
68
68
|
|
69
|
+
### 追記
|
70
|
+
can110様が教えていただいた通り、適切なサンプリングレートで録音できていないことがわかりました。
|
71
|
+
何回か測定してみたところ、3000~11000というとても幅があることになり、困っています。
|
72
|
+
試しに11000ぐらいでエンコードしてみたところ、たしかに速度は適切でしたが、明らかに音が低くなってしまいました。
|
73
|
+
プログラミング側で16000Hzに固定、またはその周辺での録音か、16000Hzではなくても普通に録音する方法はありませんか?
|
74
|
+
マイコンで録音したい、というのは珍しいことではないと思うのですが、普通はどうやって実現しているのでしょうか?
|
75
|
+
|
3
コードの変更です
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,13 +16,6 @@
|
|
16
16
|
import os
|
17
17
|
|
18
18
|
filename = "/recording.pcm"
|
19
|
-
|
20
|
-
file_list = os.listdir('/')
|
21
|
-
if 'recording.pcm' in file_list:
|
22
|
-
filename = "next.pcm"
|
23
|
-
else:
|
24
|
-
print('file.txt does not exist')
|
25
|
-
pass
|
26
19
|
|
27
20
|
mic_pin = ADC(Pin(26))
|
28
21
|
|
2
コードの変更です
test
CHANGED
File without changes
|
test
CHANGED
@@ -17,6 +17,13 @@
|
|
17
17
|
|
18
18
|
filename = "/recording.pcm"
|
19
19
|
|
20
|
+
file_list = os.listdir('/')
|
21
|
+
if 'recording.pcm' in file_list:
|
22
|
+
filename = "next.pcm"
|
23
|
+
else:
|
24
|
+
print('file.txt does not exist')
|
25
|
+
pass
|
26
|
+
|
20
27
|
mic_pin = ADC(Pin(26))
|
21
28
|
|
22
29
|
with open(filename, "wb") as f:
|
@@ -30,8 +37,10 @@
|
|
30
37
|
samples_per_second = sample_rate * num_channels
|
31
38
|
# 1フレームあたりのバイト数
|
32
39
|
bytes_per_frame = sample_width * num_channels
|
40
|
+
# 録音する時間
|
41
|
+
record_time = 3
|
33
42
|
# 録音するサンプル数
|
34
|
-
num_samples =
|
43
|
+
num_samples = record_time * samples_per_second
|
35
44
|
|
36
45
|
# 録音を開始
|
37
46
|
print("start")
|
@@ -40,7 +49,6 @@
|
|
40
49
|
sample_data = ustruct.pack("<H", sample)
|
41
50
|
f.write(sample_data)
|
42
51
|
|
43
|
-
|
44
52
|
print("stop")
|
45
53
|
f.close()
|
46
54
|
|
1
コードの誤りです。質問の根本的な内容には関係ありません。
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,13 +16,6 @@
|
|
16
16
|
import os
|
17
17
|
|
18
18
|
filename = "/recording.pcm"
|
19
|
-
|
20
|
-
file_list = os.listdir('/')
|
21
|
-
if 'recording.pcm' in file_list:
|
22
|
-
filename = "next.pcm"
|
23
|
-
else:
|
24
|
-
print('file.txt does not exist')
|
25
|
-
pass
|
26
19
|
|
27
20
|
mic_pin = ADC(Pin(26))
|
28
21
|
|