How to use RSC-3x to develop high-performance speech recognition products

Author Email:

Abstract: This article presents several issues related to hardware that should be considered when using RSC-3x to design high-performance speech recognition products: noise reduction, circuit design, PCB design, microphone selection, microphone placement, and power supply design.

RSC-3x is an interactive voice product produced by American Sensory. Like other RSC series products, it uses the neuron algorithm to realize the function of speech recognition. In an ideal environment, its recognition rate can reach more than 97%. And has voice processing functions such as speech synthesis, recording playback, four-channel music synthesis. Because it contains an 8-bit processor, RSC-3x can also realize the system control function of a general-purpose processor. RSC-3x's high performance and moderate price make it mainly used in consumer electronics and price-sensitive home appliances.

But how can we use RSC-3x series products to develop good performance speech recognition products? This article presents several issues that should be considered in hardware when designing speech recognition products.

1. Noise reduction

The accuracy rate of speech recognition (referred to as recognition rate) will be reduced by interference of many factors. One of the most common factors that cause the recognition rate to drop is noise: electronic noise from the system and audio noise picked up by the microphone. A major innovation of RSC-3x is the addition of an audio preamplifier circuit in its chip. The voltage signal from a typical electret microphone is only in the order of millivolts, and the entire preamp gain signal that can be used by RSC-3x is amplified to over 200 times. With the pre-amplifier circuit built into RSC-3x, only a few passive components are needed to achieve this amplification. Good grounding measures and eliminating cross-interference in analog circuits will further ensure a good recognition rate. Encouraging users to speak loudly and approach microphones can assist in obtaining a good signal-to-noise ratio.

Second, the circuit design

Figure 1 is the reference circuit of the RSC-3x audio preamp section. The microphone resistance (Rx) with a resistance value of 1.5K has a great influence on the system gain, so its value should be determined according to the sensitivity of the microphone. 1.5K in the figure is a typical value.

The following table lists the recommended values ​​for Rx and Cx:

Rx

Cx

1K

0.01uF

1.5K

0.0068uF

2.2K

0.0047uF

2.7K

0.0033uF

3.9K

0.0027uF

4.7K

0.0022uF


3. PCB Design

It is recommended to use a PCB printed on both sides with a ground plane. The ground plane should cover the entire analog circuit area and be grounded only near RSC-3x. To reduce cross-talk, the analog and digital grounds should be physically separated as much as possible. Special attention should be paid to keep high-speed clock lines (such as address lines and data lines) away from microphone components and circuits.

Each digital IC must be connected with a bypass capacitor of 0.1uF immediately next to VDD. One pair of each VDD pin and VSS pin of the RSC chip must be connected. The bypass capacitor should be a ceramic capacitor with a maximum voltage of 50V. If a 3-terminal regulator (such as 7805) is used, a tantalum bypass capacitor should be connected between its input / output pin and ground near the regulator.

In products that use batteries, connect a diode in series to avoid damaging the circuit when the battery is reversed.

If there are other modules that require digital clocks (such as switching power supplies, LCD drivers, etc.) in addition to RSC, special attention should be paid to prevent these signals from entering the audio circuit of RSC.

Fourth, the choice of microphone

For most products, an inexpensive multi-directional electret condenser microphone (minimum sensitivity of -60dB) is sufficient. In some applications, when the signal and audio noise come from different directions, a directional microphone may be more suitable. Since the frequency response of a directional microphone depends on the distance between the microphone and the sound source, such microphones should be used with caution. For best performance, voice recognition products should be used in a quiet environment, and the speaker's mouth should be very close to the microphone. If the product is designed for use in a noisy environment, the noise of the surrounding environment must be fully considered in the design. Increasing the signal-to-noise ratio will contribute to the success of the product.

5. The placement of the microphone

It is important to design a proper microphone embedding method and choose a microphone with consistent performance. Because the improper acoustic arrangement of the microphone will reduce the recognition rate of RSC-3x. There are many possible physical placements of microphone components, but some will have better performance and better results than others. For this reason, Sensory recommends the following microphone placement solutions:

First of all: In the product, the microphone element should be as close as possible to the housing, and should be completely located in the plastic housing. There should be no gaps between the microphone element and the housing. As long as there is a gap, echo will be generated, thereby reducing the recognition rate.

Second: the front of the microphone element should be clean and free of dirt to avoid interference with identification. A hole with a diameter of at least 5 mm should be reserved on the housing in front of the microphone. If you must add a plastic surface in front of the microphone, the plastic surface should be as thin as possible, preferably no more than 0.7mm.



Three: If possible, the microphone and enclosure should be sound isolated. The microphone can be wrapped with sponges such as rubber or foam. The purpose of this is to prevent the acoustic noise generated by the handling or vibration of the product from being collected by the microphone. This extraneous noise will reduce the recognition rate.

If the microphone moves from a distance of 15cm from the speaker's mouth to a distance of 30cm, the signal power is reduced by 1/4. The difference between treble and bass is also greater than 1/4. RSC-3x provides an AGC (Automatic Gain Adjustment) to compensate for sound signals that are too large or too small. AGC works within the pre-amplifier of the microphone. If it exceeds the AGC adjustment range, the software will provide a voice feedback to the speaker, such as the prompt "please speak louder" or "please speak softer" to remind the speaker.

6. Power supply design

Since the RSC-3x's speech recognition circuit consumes about 10mA of current, the design of the power supply is particularly important here. If the system continuously listens for a given vocabulary, it can consume the power of a button battery in a few hours, and consume the power of a large-capacity alkaline battery in a few days. Therefore, if the product needs the identifier to be in working condition all the time, the system should be powered by commercial power. Conversely, if the power supply is battery-powered, the product should work in a low-power "sleep" state most of the time, and only need to be woken up when it needs to be identified. RSC-3x can be awakened by pressing a key or other IO port event or the clock countdown of Oscillator 2, but it cannot be awakened by the voice signal collected by the microphone.

When using mains power, the mains ripple measured between VDD and GND should not exceed 5mV. Therefore, it is necessary to add a DC power regulator (such as 7805) in the power supply section to stabilize the voltage.

In summary, as long as you pay more attention to the hardware design, you can get a good signal-to-noise ratio and develop high-performance speech recognition products.

Tech Zone supports Amazon (AWS) media services to provide quality assurance for end-to-end video. Imec is about to shock the HD experience brought by the first short-wave infrared (SWIR) band hyperspectral imaging camera 4K ultra-high-definition home theater projector. Shengju Apple TV 4K disassembly report based on unified computing architecture technology video display system design: familiar modular components

Follow WeChat

Interesting and informative information and technical dry goods

Download Audiophile APP

Create your own personal electronic circle

Follow the audiophile class

Lock the latest course activities and technical live broadcast
Collect People collection
share it:
comment
Publish

related suggestion

var check_allow = "/d/Api/iscantalk.html"; var add_url = '/ d / article / write /'; function CheckLogin () {now_uid = ''; var ElecfansApi_checklogin = '/ webapi / passport / checklogin'; var logout_url = "{: U ('Login / logout')}"; var logout_url = 'http://bbs.elecfans.com/member.php?mod=logging&action=logout&refer=front'; $ .get (ElecfansApi_checklogin, function (data, textStatus) {if (data! = "") {EchoLoginInfo (data); CheckEmailInfo (data); data = $ .parseJSON (data); now_uid = data.uid; / * var login_content = 'write an article
'+ data.username +'
Quit '; * / var login_content =' write an article
'+ data.username +'
Set exit '; $ (' # login_area '). Html (login_content); var win_width = $ (window) .width (); if (win_width> 1000) {$ ("# mine"). MouseDelay (200) .hover (function () {$ ("# mymenu"). show ();}, function () {$ ("# mymenu"). hide ();});}} else {var content = 'Login Registration'; $ ('# login_area'). html (content); $ (". special-login"). click (function (e) {$ .tActivityLogin (); return false;});}});} $ (function () {// comment ------------------------------- var comment = $ ("# comment"); var comment_input = $ ("# comContent"); // Submit comment click event interaction $ ("# comSubmit2"). on ('click', function () {var content = comment_input.text (); // Empty input box comment_input. html (""). focus (); // Submit data to the server $ .ajax ({url: '/plus/arcComment.php', data: {aid: $ ("# webID"). val (), dopost : 'apiPubComment', content: content}, type: 'post', dataType: 'json', success: function (data) {// Data format returned: if (data.status == "successed") {// Build temporary comment DOM var dom = ''; dom + = '
'; dom + =' '; dom + ='
'; dom + ='

'+ data.data.username +' '; dom + ='

'; dom + =' '+ content +' '; dom + =' '; dom + =' just now '; dom + =' '; dom + =' '; // insert a temporary comment to the list $ ("# comment ") .append (dom);} if (data.status ==" failed ") {// alert (data.msg); layer.msg (data.msg);}}}); return false;}); (function () {/ * * Insert single sign-on JS * / var setHost = 'https://passport.elecfans.com'; // Set domain name var script = document.createElement ('script'); script.type = 'text / javascript'; script.src = setHost + '/public/pc/js/t.passport.js'; script.setAttribute ("id", "sso_script"); script.setAttribute ("data-ssoSite", setHost); script.setAttribute ("data-ssoReferer", encodeURIComponent (location.href)); script.setAttribute ("data-ssoSiteid", "11"); var body = document.getElementsByTagName ("body"). item ( 0); body.appendChild (script);}) () / * * It is recommended to modify the style of the article without a picture * * / $ (". Article .thumb"). Each (function () {if ($ (this). find ('img'). attr ('src') == "") {$ (this) .find ('img'). remove (); $ (this) .parent (). css ('padding-left ',' 0px ');}}); / * Baidu share * / window._bd_share_config = {common: {bdText: '', // Custom share content bdDesc: '', // Custom share summary bdUrl: window.location.href, // Custom share URL address bdPic: ''} , share: [{"bdSize": 60, "bdCustomStyle": true}]} with (document) 0 [(getElementsByTagName ('head') [0] || body) .appendChild (createElement ('script')). src = 'http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion=' + ~ (-new Date () / 36e5)]; var add_url = '/ d / article / write / '; // var check_allow = "{: U (' Api / iscantalk ')}"; var check_allow = "/ d / api / iscantalk"; var click_items_length = $ ('. art_click_count '). length; if ( click_items_length> 0) {var id_str = ''; $ ('. art_click_count'). each (function () {id_str + = $ (this) .attr ('data-id') + ',';}) // var url = "{: U ('Api / getclickbyids')}"; var url = "/ d / api / getclickbyids"; var id_data = 'id_str =' + id_str; $ .ajax ({url: url, data: id_data, type: 'post', dataType: 'json', success: function (re) {if (re.list.length> = 1) {var list = re.list; for (var i in list) {var t emp_id = list [i] ['id']; var temp_span = $ (". art_click_count [data-id =" + temp_id + "]") temp_span.html (list [i] ['click']);}} }})} $ ("# comContent"). click (function () {if (now_uid == '') {$ .tActivityLogin (); return false;}}) $ (function () {var follow_wrap = $ ( ".author-collect"); var now_uid = "{$ _super ['uid']}"; var face_src = "{$ _super ['uface']}"; var getFollowNum = $ (". followNum strong"). html (); // Follow $ (window) .on ('click', '.author-collect', function () {if (now_uid == '') {$ .tActivityLogin (); return false;} if ( $ (this) .attr ('id') == 'follow') {$ .post ('/ d / user / follow', {tuid: article_user_id}, function (data) {// Data format returned: if (data.status == "successed") {$ (". followNum strong"). html (++ getFollowNum); follow_wrap.html ('followed'). attr ('id', 'cancelFollow'). css ( 'background', '# 999'); var follow_user = ' '; $ (' # follow_list '). append (follow_user);} if (data.status == "failed") {alert (data.msg);}});} else {// Unfollow if ($ ( this) .attr ('id') == 'cancelFollow') {$ .post ('/ d / user / cancelFollow', {tuid: article_user_id}, function (data) {// Data format returned: if (data .status == "successed") {follow_wrap.html ('Follow'). attr ('id', 'follow'). css ('background', '# f90'); $ (". followNum strong"). html (-getFollowNum); $ ('# follow_list .face'). each (function () {var target_uid = $ (this) .attr ('data-uid'); if (target_uid == now_uid) {$ ( this) .remove ();}})} if (data.status == "failed") {alert (data.msg);}}); return false;}}});});}); / * var myface = "{$ _super ['uid'] | avatar}"; var myname = "{$ _super ['username']}"; var article_id = {$ article ['id']}; var article_user_id = {$ article ['mid']}; // Article author ID $ (function () {<notempty name = "clearnum"> // Reduce the number of reminders var count = parseInt ($ ("# noticeCount"). html ()); count = count-{$ clearnum}; $ ("# noticeCount"). html (count); if ( count

Linear Encoder

Draw-wire sensors of the wire sensor series measure with high linearity across the entire measuring range and are used for distance and position measurements of 100mm up to 20,000mm. Draw-wire sensors from LANDER are ideal for integration and subsequent assembly in serial OEM applications, e.g., in medical devices, lifts, conveyors and automotive engineering.

Linear Encoder,Digital Linear Encoder,Draw Wire Sensor,1500Mm Linear Encoder

Jilin Lander Intelligent Technology Co., Ltd , https://www.jilinlandermotor.com

Posted on