Beispiel #1
0
        private object GetRefText(BaseEngineStartUpParameter parameter)
        {
            object refText = null;

            //switch (parameter.EType)
            //{
            //    case EngineType.OPEN:
            //        {
            //            var multiParameter = (EngineStartUpQsOpenParameter)parameter;

            //            refText = multiParameter.RefText;
            //            //((oesyrefText)refText).lm = multiParameter.RefText.Select(item => new oesyanswer()
            //            //{
            //            //    answer = 2,
            //            //    text = item
            //            //}).ToArray();
            //        }
            //        break;
            //    case EngineType.SENT:
            //        {
            //            var singleParameter = (EngineStartUpQsOpenParameter)parameter;
            //            refText = singleParameter.RefText;
            //        }
            //        break;
            //    case EngineType.CHOICE:
            //        {
            //            var singleParameter = (EngineStartUpQsOpenParameter)parameter;
            //            refText = singleParameter.RefText;
            //        }
            //        break;
            //    default:
            //        throw new Exception("Undefined");
            //}
            return(refText);
        }
Beispiel #2
0
        private InnerParameter WrapParameter(BaseEngineStartUpParameter innerParameter, string userID = null)
        {
            if (innerParameter == null)
            {
                throw new Exception("Parameter is illegal.");
            }
            var paramter = new InnerParameter()
            {
                app = new app()
                {
                    userId = string.IsNullOrEmpty(userID) ? DefaultUserId : userID,
                },
                audio = new audio()
                {
                    audioType   = innerParameter.audioType, //"wav",
                    channel     = 1,
                    sampleBytes = 2,
                    sampleRate  = innerParameter.sampleRate, //16000,
                    quality     = 8,
                    complexity  = 2,
                    compress    = innerParameter.compress //"raw"
                },
                coreProvideType = "cloud",
            };

            paramter.request = GetRecRequest(innerParameter);

            //if (innerParameter.EType == EngineType.OPEN)
            //{
            //    paramter.request = new recRequest
            //    {
            //        coreType = innerParameter.EType,
            //        refText = GetRefText(innerParameter),
            //        keywords = "",
            //        qClass = innerParameter.QsClass,
            //        qType = innerParameter.QsType
            //    };
            //}
            //else
            //{
            //    paramter.request = new commonRequest()
            //    {
            //        coreType = innerParameter.EType,
            //        precision = 0.5,
            //        rank = innerParameter.Rank,
            //        refText = GetRefText(innerParameter)
            //    };
            //}
            return(paramter);
        }
Beispiel #3
0
        public virtual int Start(BaseEngineStartUpParameter parameter, ref string recId, EngineDelegete.EngineCallback callback, IntPtr userdata, string userID = null)
        {
            var engineParameter = WrapParameter(parameter, userID);
            var param           = JsonConvert.SerializeObject(engineParameter,
                                                              Formatting.Indented,
                                                              new JsonSerializerSettings {
                NullValueHandling = NullValueHandling.Ignore
            });
            var id     = new byte[64];
            var result = skegn_start(EngineInstance, param, id, callback, userdata);

            recId = Encoding.ASCII.GetString(id).Replace("\0", string.Empty);
            //Log4NetHelper.Info($"ID:{recId},param:{param}");
            recId = $"ID:{recId},param:{param}";
            return(result);
        }
Beispiel #4
0
        private BaseRequest GetRecRequest(BaseEngineStartUpParameter parameter)
        {
            BaseRequest rec = null;

            switch (parameter.EType)
            {
            case EngineType.PARA:
            case EngineType.OPEN:
            {
                var openParameter = (EngineStartUpQsOpenParameter)parameter;
                rec = new recRequest()
                {
                    coreType                  = openParameter.EType,
                    refText                   = openParameter.RefText,
                    keywords                  = openParameter.KeyWords,
                    qClass                    = openParameter.QsClass,
                    qType                     = openParameter.QsType,
                    precision                 = openParameter.Precision,
                    scale                     = parameter.Scale,
                    getParam                  = parameter.getParam,
                    attachAudioUrl            = parameter.attachAudioUrl,
                    paragraph_need_word_score = parameter.paragraph_need_word_score,
                };
            }
            break;

            case EngineType.WORD:
            {
                var openParameter = (EngineStartUpSingleParameter)parameter;
                rec = new commonRequest()
                {
                    coreType       = openParameter.EType,
                    precision      = openParameter.Precision,
                    scale          = parameter.Scale,
                    refText        = openParameter.RefText,
                    attachAudioUrl = parameter.attachAudioUrl,
                    getParam       = parameter.getParam,
                };
            }
            break;

            case EngineType.SENT:
            case EngineType.CHOICE:
            {
                var openParameter = (EngineStartUpSingleParameter)parameter;
                rec = new commonRequest()
                {
                    coreType       = openParameter.EType,
                    precision      = openParameter.Precision,
                    scale          = parameter.Scale,
                    refText        = openParameter.RefText,
                    attachAudioUrl = parameter.attachAudioUrl,
                    getParam       = parameter.getParam,
                };
            }
            break;

            default:
                throw new Exception("Undefined");
            }
            return(rec);
        }