teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

2021/01/08 03:50

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- pythonで値渡しがしたい
1
+ pythonで音声認識&合成
body CHANGED
@@ -1,26 +1,13 @@
1
+ python をつかって、Juliusで音声認識→pykakasiでローマ字変換→音声合成ICが発話というシステムです。
1
- ### 前提・実現したいこと
2
+ エラーがないのにうまく行きませんでした
2
3
 
3
- Raspberry Pi4を用いて音声合成をしようとしています。使用言語はpythonです。
4
- システムの流れとしては、Juliusで日本語を音声認識し、認識した日本語をpykakasiでローマ字に変換します。その変換されたローマ字を、音声合成ICに入力し、発話させる。という流れです。
5
-
6
- 「女性」とマイクに話しかければ、女性の声のIC(0x2e)がこんにちはと発音します。
7
- それ以外の言葉がマイクに入力されたとき、認識された言葉をそのままICが話すというプログラムを書いたつもりです。
8
-
9
- プログラムにエラーは発生せず、Juliusの音声認識からpykakasiでのローマ字変換には成功しています。
10
- その後の、音声合成ICを発話させることができません。おそらく、値を渡すことがうまくいっていないことが原因ではないかと考えています。
11
-
12
-
13
- ### 該当のソースコード
14
-
15
- ```python
16
-
17
4
  import socket
18
5
  import time
19
6
  import pykakasi
20
7
  import RPi.GPIO as GPIO
21
8
  import smbus
22
9
 
23
- HOST = '100.00.000.000' # juliusサーバーのIPアドレス
10
+ HOST = '172.26.102.216' # juliusサーバーのIPアドレス
24
11
  PORT = 10500 # juliusサーバーの待ち受けポート
25
12
  DATESIZE = 1024 # 受信データバイト数
26
13
 
@@ -30,7 +17,21 @@
30
17
  bus = smbus.SMBus(1)
31
18
 
32
19
  class Julius:
20
+
21
+ def ATP3011_send_cmd5(cmd):
22
+ cmd0 = ord(cmd[0])
23
+ cmd1 = []
24
+ for c in cmd[1:]:
25
+ cmd1.append(ord(c))
26
+ bus.write_i2c_block_data(0x2f,cmd0,cmd1)
33
27
 
28
+ def ATP3011_send_cmd6(cmd):
29
+ cmd0 = ord(cmd[0])
30
+ cmd1 = []
31
+ for c in cmd[1:]:
32
+ cmd1.append(ord(c))
33
+ bus.write_i2c_block_data(0x2e,cmd0,cmd1)
34
+
34
35
  def __init__(self):
35
36
 
36
37
  self.sock = None
@@ -98,7 +99,7 @@
98
99
 
99
100
  else:
100
101
  cmd = Romaji() +"\r"
101
- ATP3011_send_cmd5(cmd)
102
+ ATP3011_send_cmd5(cmd) #ICniローマ字をwatasu
102
103
 
103
104
  fin_flag = False
104
105
  strTemp = ""
@@ -108,12 +109,6 @@
108
109
  julius = Julius()
109
110
  julius.run()
110
111
 
111
- ```
112
112
 
113
- ### 試したこと
113
+ 追記:
114
-
115
- 関数呼び出し場所をいろいろ変えてみましうまくきませんした
114
+ 一旦こプログラムは無かっことにし1から作り直してる最中
116
-
117
- ### 補足情報(FW/ツールのバージョンなど)
118
- python3.7.3
119
- 使用している音声合成ICはATP3011

1

2021/01/08 03:50

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -30,21 +30,7 @@
30
30
  bus = smbus.SMBus(1)
31
31
 
32
32
  class Julius:
33
-
34
- def ATP3011_send_cmd5(cmd):
35
- cmd0 = ord(cmd[0])
36
- cmd1 = []
37
- for c in cmd[1:]:
38
- cmd1.append(ord(c))
39
- bus.write_i2c_block_data(0x2f,cmd0,cmd1)
40
33
 
41
- def ATP3011_send_cmd6(cmd):
42
- cmd0 = ord(cmd[0])
43
- cmd1 = []
44
- for c in cmd[1:]:
45
- cmd1.append(ord(c))
46
- bus.write_i2c_block_data(0x2e,cmd0,cmd1)
47
-
48
34
  def __init__(self):
49
35
 
50
36
  self.sock = None