質問編集履歴

3

出力結果の追加

2019/09/19 02:09

投稿

BoninSui
BoninSui

スコア6

test CHANGED
File without changes
test CHANGED
@@ -110,6 +110,104 @@
110
110
 
111
111
  ```
112
112
 
113
+ 読取ったデータの一部をそのままhexでprintすると8bitの時だけほとんど00で、たまにff、稀にほかの数値
114
+
115
+ マイク入力なので、同じデータではない
116
+
117
+ ```python3
118
+
119
+ #!/usr/bin/env python
120
+
121
+ #
122
+
123
+ # coding:utf-8
124
+
125
+
126
+
127
+ import pyaudio
128
+
129
+
130
+
131
+ RECORD_SECONDS = 10
132
+
133
+ CHUNK = 1024
134
+
135
+ RATE = 8000
136
+
137
+
138
+
139
+
140
+
141
+ FORMAT = [pyaudio.paInt16,pyaudio.paUInt8,pyaudio.paInt8,pyaudio.paInt32]
142
+
143
+ FORMATN=['pyaudio.paInt16','pyaudio.paUInt8','pyaudio.paInt8','pyaudio.paInt32']
144
+
145
+
146
+
147
+ audio = pyaudio.PyAudio()
148
+
149
+
150
+
151
+ k=0
152
+
153
+ for i in FORMAT:
154
+
155
+ stream = audio.open(format=i, channels=1,
156
+
157
+ rate=RATE, input=True,
158
+
159
+ input_device_index = 0,
160
+
161
+ frames_per_buffer=CHUNK)
162
+
163
+ data = stream.read(CHUNK)
164
+
165
+ print(FORMATN[k])
166
+
167
+ print(data[500:600].hex())
168
+
169
+ stream.stop_stream()
170
+
171
+ stream.close()
172
+
173
+ k=k+1
174
+
175
+ audio.terminate()
176
+
177
+
178
+
179
+
180
+
181
+ """
182
+
183
+ 出力
184
+
185
+ pyaudio.paInt16
186
+
187
+ e4036a026bff4603300502fe93f92eff520089f839fcf30b930a86f70ff43c025e05e7fefd01b004a0fb5ff90405a407defa37f4c1fb71045b07b6059c003afc91fb74fc8efd24ff6a01d4035002e5fc78fe9d07900622fa48f768fe71fdd3fa75021306
188
+
189
+ pyaudio.paUInt8
190
+
191
+ ffff0000705446320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
192
+
193
+ pyaudio.paInt8
194
+
195
+ ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
196
+
197
+ pyaudio.paInt32
198
+
199
+ c105390335ff460033ff12fdb6009b03d9005500e70112fec2f9b1fb6fff1303b106510470fdcbfbe3fd95fd2d00f305a40401fe8dfb2bfbb9fb4f039f09510267facafed50193fd81ff820410ff0ff987ffdb063305e6020e02e5fc95f7e1f78dfd8607
200
+
201
+
202
+
203
+ """
204
+
205
+
206
+
207
+ ```
208
+
209
+
210
+
113
211
 
114
212
 
115
213
 

2

代替案を追加

2019/09/19 02:09

投稿

BoninSui
BoninSui

スコア6

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ### 該当のソースコード
20
20
 
21
- ```ここに言語を入力
21
+ ```python3
22
22
 
23
23
  #!/usr/bin/env python
24
24
 
@@ -126,6 +126,50 @@
126
126
 
127
127
 
128
128
 
129
+ pyaudioでは回答が得られなかったので、代替案
130
+
131
+ arecordの出力をパイプでpythonに取り込む
132
+
133
+ できればpythonのみで完結したいので引き続き回答お待ちしております。
134
+
135
+
136
+
137
+ ```python3
138
+
139
+ #!/usr/bin/env python
140
+
141
+ ## coding:utf-8
142
+
143
+ # arecord -r 8000 -D plughw:0,0 -d 1 | python3 pipe.py
144
+
145
+
146
+
147
+ import os,sys
148
+
149
+ import numpy as np
150
+
151
+
152
+
153
+ N=100
154
+
155
+
156
+
157
+ read_pipe = os.fdopen(sys.stdin.fileno(), 'rb', buffering=N)
158
+
159
+ data = np.frombuffer(read_pipe.read(N), dtype='uint8')
160
+
161
+ print(data)
162
+
163
+ ```
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
129
173
  ### 補足情報(FW/ツールのバージョンなど)
130
174
 
131
175
  PC nanopi neo2

1

タイトルを変更した、タグを追加した

2019/09/10 00:34

投稿

BoninSui
BoninSui

スコア6

test CHANGED
@@ -1 +1 @@
1
- pyaudio 声入力時のフォーマットを変更するとうまく入力できない
1
+ python3 pyaudio 8bitでマイクからの録できない(16bit、32bitではうまくいく)
test CHANGED
File without changes