Skip to main content

WeChat Middleware for EH Forwarder Bot to convert voice to text, based on Baidu and Microsoft API.

Project description

VoiceRecogMiddleware: A middleware for EFB


Middleware ID: catbaron.voice_recog

VoiceRecogMiddleware is a middleware for EFB to recognize content of voice message. This middleware is modified based on ehForwarderBot 1.0


  • Baidu
    • Deprecated for now because my Baidu account is limited by Baidu
    • 由于我的Baidu账号不能正常登陆,因此对百度引擎的支持暂时停止。
    • API from Baidu is available for free.
    • You need to get API_KEY and SECRET_KEY following
  • Azure Cognitive Service
    • Azure Cognitive Service offers 5 audio hours per month for free.
    • You need to get Key1 and Endpoint from
  • IFlyTek
    • IFlyTek offers 500 queries per day fro free to new users. Additional free bundles are available from 50,000 queries/90 days to 100,000 queries/year.
    • You need to get APPID, APISecret and APIKey from
  • Tencent
  • You need to use VoiceRecogMiddleware on top of EFB. Please check the document and install EFB first.


  • Python >= 3.6
  • EFB >= 2.0.0b15
  • pydub

Install and configuration


pip install efb-voice_recog-middleware


Register to EFB Following this document to edit the config file. The config file by default is $HOME/.ehforwarderbot/profiles/default/config.yaml. It should look like:

master_channel: foo.demo_master
- foo.demo_slave
- bar.dummy
- foo.other_middlewares
- catbaron.voice_recog

You only need to add the last line to your config file.

Configure the middleware

The config file by default is $HOME/.ehforwarderbot/profiles/default/catbaron.voice_recog/config.yaml. Please create the config file if thers is not one. Edit it as:

        api_key: API_KEY
        secret_key: SECRET_KEY
        # supported language:
        #   zh, zh-x-en, en, zh-yue, zh-x-sichuan, zh-x-farfield
        lang: zh
        key1: KEY_1
        endpoint: ENDPOINT
        # supported language:
        #   ar-EG, ar-SA, ar-AE, ar-KW, ar-QA, ca-ES,
        #   da-DK, de-DE, en-AU, en-CA, en-GB, en-IN,
        #   en-NZ, en-US, es-ES, es-MX, fi-FI, fr-CA,
        #   fr-FR, gu-IN, hi-IN, it-IT, ja-JP, ko-KR,
        #   mr-IN, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT,
        #   ru-RU, sv-SE, ta-IN, te-IN, zh-CN, zh-HK,
        #   zh-TW, th-TH, tr-TR
        lang: zh
        secret_id: SECRET_ID
        secret_key: SECRET_KEY
        # supported language: en, zh
        lang: en
        app_id: APP_ID
        api_secret: API_SECRET
        api_key: APP_KEY
        # supported language: zh, en
        lang: en
auto: true

Replace the section with all-caps to your own ones.

Note that you may omit the section that you do not want to enable.

Turn off auto if you want to disable auto recognition to all voice messages. Alternatively, you may reply recog` to a voice message to recognise it.

Restart EFB.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

efb-voice_recog-middleware-1.0.3.tar.gz (11.7 kB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page