maolin.liu commited on
Commit
f62fb80
·
1 Parent(s): c08591d

[bugfix]Fix transcribed text not continually.

Browse files
Files changed (2) hide show
  1. cli.py +1 -1
  2. consumer/asr.py +25 -8
cli.py CHANGED
@@ -3,7 +3,7 @@ from consumer.asr import TranscribeConsumer
3
 
4
  def cli():
5
  transcribe_consumer = TranscribeConsumer()
6
- transcribe_consumer.consume_messages(transcribe_consumer.queue_name, transcribe_consumer.consume)
7
 
8
 
9
  if __name__ == '__main__':
 
3
 
4
  def cli():
5
  transcribe_consumer = TranscribeConsumer()
6
+ transcribe_consumer.consume_messages(transcribe_consumer.input_queue_name, transcribe_consumer.consume)
7
 
8
 
9
  if __name__ == '__main__':
consumer/asr.py CHANGED
@@ -50,8 +50,10 @@ class TranscribeConsumer(BasicMessageReceiver):
50
  super().__init__()
51
 
52
  self.exchange_name = 'transcribe'
53
- self.queue_name = 'transcribe-input'
54
- self.routing_key = 'transcribe-input'
 
 
55
 
56
  self.setup_consume_parameters()
57
 
@@ -62,9 +64,24 @@ class TranscribeConsumer(BasicMessageReceiver):
62
  logger.info('Load model finished.')
63
 
64
  def setup_consume_parameters(self):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  self.declare_exchange(self.exchange_name)
66
- self.declare_queue(self.queue_name, max_priority=-1)
67
- self.bind_queue(self.exchange_name, self.queue_name, self.routing_key)
68
 
69
  def send_message(self, message: Union[dict, str]):
70
  routing_key = 'transcribe-output'
@@ -109,11 +126,11 @@ class TranscribeConsumer(BasicMessageReceiver):
109
  logger.info(f'Start transcribe input...')
110
  segments, _ = self.asr_model.transcribe(audio_file, language=validated_message.language)
111
 
112
- transcribed_text = ''
113
  for segment in segments:
114
- transcribed_text = segment.text
115
- logger.info(f'Transcribed text: {transcribed_text}')
116
- break
117
  except ValidationError as exc:
118
  logging.exception('Message validated failed: \n message:\n %s\n\n exception info:\n %s', message, exc)
119
  self.send_fail_message(body.get('uuid'), f'{exc}')
 
50
  super().__init__()
51
 
52
  self.exchange_name = 'transcribe'
53
+ self.input_queue_name = 'transcribe-input'
54
+ self.input_routing_key = 'transcribe-input'
55
+ self.output_queue_name = 'transcribe-output'
56
+ self.output_routing_key = 'transcribe-output'
57
 
58
  self.setup_consume_parameters()
59
 
 
64
  logger.info('Load model finished.')
65
 
66
  def setup_consume_parameters(self):
67
+ logger.info(
68
+ f'Create consumer exchange: {self.exchange_name}, '
69
+ f'routing-key: {self.input_routing_key}, '
70
+ f'queue: {self.input_queue_name}'
71
+ )
72
+ self.declare_exchange(self.exchange_name)
73
+ self.declare_queue(self.input_queue_name, max_priority=-1)
74
+ self.bind_queue(self.exchange_name, self.input_queue_name, self.input_routing_key)
75
+
76
+ def setup_producer_parameters(self):
77
+ logger.info(
78
+ f'Create producer exchange: {self.exchange_name}, '
79
+ f'routing-key: {self.output_routing_key}, '
80
+ f'queue: {self.output_queue_name}'
81
+ )
82
  self.declare_exchange(self.exchange_name)
83
+ self.declare_queue(self.output_queue_name, max_priority=-1)
84
+ self.bind_queue(self.exchange_name, self.output_queue_name, self.output_routing_key)
85
 
86
  def send_message(self, message: Union[dict, str]):
87
  routing_key = 'transcribe-output'
 
126
  logger.info(f'Start transcribe input...')
127
  segments, _ = self.asr_model.transcribe(audio_file, language=validated_message.language)
128
 
129
+ transcribed_segment_text = []
130
  for segment in segments:
131
+ transcribed_segment_text.append(segment.text)
132
+ transcribed_text = ', '.join(transcribed_segment_text)
133
+ logger.info(f'Transcribed text: {transcribed_text}')
134
  except ValidationError as exc:
135
  logging.exception('Message validated failed: \n message:\n %s\n\n exception info:\n %s', message, exc)
136
  self.send_fail_message(body.get('uuid'), f'{exc}')