public void AddSamples(List <short> data) { Sarmata.RecognizeRequest audioRequest = new Sarmata.RecognizeRequest(); audioRequest.AudioRequest = new Sarmata.AudioRequest(); audioRequest.AudioRequest.EndOfStream = false; List <byte> samples_bytes = new List <byte>(2 * data.Count); foreach (var sample in data) { samples_bytes.AddRange(BitConverter.GetBytes(sample)); } audioRequest.AudioRequest.Content = Google.Protobuf.ByteString.CopyFrom(samples_bytes.ToArray()); requestStream.WriteAsync(audioRequest).Wait(); }
public SarmataSession(String serviceAddress, Dictionary <String, String> settings) { asrChannel = new Grpc.Core.Channel(serviceAddress, Grpc.Core.ChannelCredentials.Insecure); asrClient = new Sarmata.ASR.ASRClient(asrChannel); var openStream = asrClient.Recognize(cancellationToken: new CancellationToken()); requestStream = openStream.RequestStream; responseStream = openStream.ResponseStream; Sarmata.RecognizeRequest initialMessage = new Sarmata.RecognizeRequest() { InitialRequest = settings2request(settings) }; requestStream.WriteAsync(initialMessage).Wait(); }