protected void hitTest() { int mw = _map.ChipData.ChipWidth; int mh = _map.ChipData.ChipHeight; PointD pp = convertToViewCoord(_parent.Player.X, _parent.Player.Y); foreach (map.Chip chip in _map.EnumViewChipData()) { if (chip.Hardness <= 0) { continue; } if (_parent.Player.Hit(chip, pp, mw, mh)) { double plog = _minFreqLog + (_maxFreqLog - _minFreqLog) * (Constants.StageViewHeight - _parent.Player.Y) / (double)Constants.StageViewHeight; double pitch = Math.Pow(Math.E, plog); ToneResult tone = ToneAnalyzer.Analyze(pitch, 1.0); ResourceManager.SoundExplosion[tone.ToneIdx.ToString("D2")].Play(); _parent.Player.Y = _map.GetDefaultY(pp.X); _parent.Player.Rad = _parent.Player.MinRadius; break; } } }
public static UtteranceAnalyses ToneAnalyzerCustomer(AppSettings appSettings, ToneAnalyzerRequest requestBody) { string methodName = "ToneAnalyzer"; dynamic result = new ExpandoObject(); try { ToneAnalyzer settings = appSettings.WatsonServices.ToneAnalyzer; IamAuthenticator authenticator = new IamAuthenticator(apikey: $"{requestBody.Apikey}"); IBM.Watson.ToneAnalyzer.v3.ToneAnalyzerService toneAnalyzer = new IBM.Watson.ToneAnalyzer.v3.ToneAnalyzerService($"{settings.Version}", authenticator); toneAnalyzer.SetServiceUrl($"{requestBody.Endpoint}"); List <Utterance> utterances = new List <Utterance>(); requestBody.Utterances.ForEach(u => { utterances.Add(new Utterance() { User = u["user"].ToString(), Text = u["text"].ToString() }); }); result = toneAnalyzer.ToneChat( utterances: utterances, contentLanguage: requestBody.ContentLanguage != null ? requestBody.ContentLanguage : "en", acceptLanguage: requestBody.AcceptLanguage ).Result; return(result); } catch (Exception e) { Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {JsonConvert.SerializeObject(requestBody)}"); Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {e.Source + Environment.NewLine + e.Message + Environment.NewLine + e.StackTrace}"); throw e; } }
void Start() { LogSystem.InstallDefaultReactors(); // Create credential and instantiate service Credentials credentials_STT = new Credentials(_username_STT, _password_STT, _url_STT); _speechToText = new SpeechToText(credentials_STT); Active = true; StartRecording(); // TONE ZONE Credentials credentials_TONE = new Credentials(_username_TONE, _password_TONE, _url_TONE); _toneAnalyzer = new ToneAnalyzer(credentials_TONE); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; bar1JoyRenderer.material = yellow_material; bar2SadnessRenderer.material = blue_material; bar3FearRenderer.material = purple_material; bar4DisgustRenderer.material = green_material; bar5AngerRenderer.material = red_material; emotion_threshold = 0.75f; // for loose demo - above 75% seems to work well - may vary by signal //This is a "on first run" test //Runnable.Run(Examples()); // example on pump prime }
private IEnumerator CreateService() { if (string.IsNullOrEmpty(_iamApikey)) { throw new WatsonException("Plesae provide IAM ApiKey for the service."); } // Create credential and instantiate service Credentials credentials = null; // Authenticate using iamApikey TokenOptions tokenOptions = new TokenOptions() { IamApiKey = _iamApikey }; credentials = new Credentials(tokenOptions, _serviceUrl); // Wait for tokendata while (!credentials.HasIamTokenData()) { yield return(null); } _service = new ToneAnalyzer(credentials); _service.VersionDate = _versionDate; Runnable.Run(Examples()); }
public void SingleToneAnalysisTest() { const int FFT_SIZE = 256; const double SNR = 40; double noiseLevel = Math.Pow(10, SNR / (-20.0)); Random rnd = new Random(); double amplitude = 1.0; double freq = (rnd.NextDouble() * (FFT_SIZE / 2.0 - 4.0) + 2.0) / FFT_SIZE / 4.0; //double freq = 8.5 / FFT_SIZE; double phase = rnd.NextDouble() * 2.0 * Math.PI; //double phase = 0.375 * 2.0 * Math.PI; double[] noise = Generate.Normal(FFT_SIZE, 0.0, noiseLevel); double[] wave = Generate.Sinusoidal(FFT_SIZE, 1.0, freq, amplitude, 0.0, phase); for (int i = 0; i < FFT_SIZE; i++) { wave[i] += noise[i]; } ToneInfo toneInfo = ToneAnalyzer.SingleToneAnalysis(wave); Assert.IsTrue(Math.Abs(toneInfo.Frequency - freq) < 1.0E-3, "Frequency not equal."); double phaseErr = (toneInfo.Phase - phase) / (2.0 * Math.PI); phaseErr -= Math.Round(phaseErr); Assert.IsTrue(Math.Abs(phaseErr) < 1.0E-3, "Phase not equal."); Assert.IsTrue(Math.Abs(toneInfo.Amplitude - amplitude) < 1.0E-2, "Amplitude not equal."); }
public static ToneAnalysis ToneAnalyzer(AppSettings appSettings, ToneAnalyzerRequest requestBody) { string methodName = "ToneAnalyzer"; dynamic result = new ExpandoObject(); try { ToneAnalyzer settings = appSettings.WatsonServices.ToneAnalyzer; IamAuthenticator authenticator = new IamAuthenticator(apikey: $"{requestBody.Apikey}"); IBM.Watson.ToneAnalyzer.v3.ToneAnalyzerService toneAnalyzer = new IBM.Watson.ToneAnalyzer.v3.ToneAnalyzerService($"{settings.Version}", authenticator); toneAnalyzer.SetServiceUrl($"{requestBody.Endpoint}"); ToneInput toneInput = new ToneInput() { Text = requestBody.Text }; result = toneAnalyzer.Tone( toneInput: new MemoryStream(Encoding.UTF8.GetBytes(requestBody.Text)), sentences: requestBody.Sentences, contentLanguage: requestBody.ContentLanguage != null ? requestBody.ContentLanguage : "en", acceptLanguage: requestBody.AcceptLanguage ).Result; return(result); } catch (Exception e) { Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {JsonConvert.SerializeObject(requestBody)}"); Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {e.Source + Environment.NewLine + e.Message + Environment.NewLine + e.StackTrace}"); throw e; } }
public DetailedResponse <ToneAnalysis> AnalyzeTone(ContentMessage message) { var result = ToneAnalyzer.Tone(new ToneInput() { Text = message.ContentText }, sentences: true); return(result); }
void Start() { LogSystem.InstallDefaultReactors(); // Create credential and instantiate service Credentials credentials = new Credentials(_username, _password, _url); _toneAnalyzer = new ToneAnalyzer(credentials); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; Runnable.Run(Examples()); }
//------------------ /// <summary> /// Start() method connects to the two Watson Serices and starts the recording /// real work is then done by a Runnable function /// </summary> void Start() { // instantiate service _speechToText = new SpeechToText(credentials_STT); Active = true; StartRecording(); // TONE ZONE _toneAnalyzer = new ToneAnalyzer(credentials_TONE); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; }
private double pitchFromNote(int noteNum) { if (_notePitches.ContainsKey(noteNum)) { return(_notePitches[noteNum]); } int toneIdx = noteNum % 12; int octave = (int)((noteNum - toneIdx) / 12.0) - 1; double pitch = ToneAnalyzer.PitchFromTone(toneIdx, octave); _notePitches.Add(noteNum, pitch); return(pitch); }
public DetailedResponse <UtteranceAnalyses> AnalyzeToneChat(SmsThread thread) { var utterances = thread.SmsMessages.OrderBy(y => y.Created) .Select(x => new Utterance() { User = x.User, Text = x.MessageText }).ToList(); var result = ToneAnalyzer.ToneChat( utterances: utterances ); return(result); }
void Start() { // Watson logging, interface to Speech to Text and Tone Analyzer Servises LogSystem.InstallDefaultReactors(); // Create credential and instantiate service Credentials credentials_STT = new Credentials(_username_STT, _password_STT, _url_STT); _speechToText = new SpeechToText(credentials_STT); Active = true; StartRecording(); // TONE ZONE Credentials credentials_TONE = new Credentials(_username_TONE, _password_TONE, _url_TONE); _toneAnalyzer = new ToneAnalyzer(credentials_TONE); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; }
void Start() { LogSystem.InstallDefaultReactors(); // Create credential and instantiate service Credentials credentials_STT = new Credentials(_username_STT, _password_STT, _url_STT); Credentials credentials_TTS = new Credentials(_username_TTS, _password_TTS, _url_TTS); Credentials credentials_TONE = new Credentials(_username_TONE, _password_TONE, _url_TONE); _speechToText = new SpeechToText(credentials_STT); _textToSpeech = new TextToSpeech(credentials_TTS); _toneAnalyzer = new ToneAnalyzer(credentials_TONE); /// TONE _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; // Over the shoulder emotional spheres sphere_emo_joyRenderer.material = yellow_material; sphere_emo_angerRenderer.material = red_material; sphere_emo_fearRenderer.material = purple_material; sphere_emo_disgustRenderer.material = green_material; sphere_emo_sadnessRenderer.material = blue_material; sphere_emo_joyRenderer.transform.localScale = new Vector3(.075F, .075F, .075F); sphere_emo_angerRenderer.transform.localScale = new Vector3(.075F, .075F, .075F); sphere_emo_fearRenderer.transform.localScale = new Vector3(.075F, .075F, .075F); sphere_emo_disgustRenderer.transform.localScale = new Vector3(.075F, .075F, .075F); sphere_emo_sadnessRenderer.transform.localScale = new Vector3(.075F, .075F, .075F); emotion_threshold = 0.75f; // for loose demo - above 75% seems to work well - may vary by signal Active = true; StartRecording(); Runnable.Run(Examples()); }
void Start() { LogSystem.InstallDefaultReactors(); // Create credential and instantiate service Credentials credentials_STT = new Credentials(_username_STT, _password_STT, _url_STT); _speechToText = new SpeechToText(credentials_STT); Active = true; StartRecording(); // TONE ZONE Credentials credentials_TONE = new Credentials(_username_TONE, _password_TONE, _url_TONE); _toneAnalyzer = new ToneAnalyzer(credentials_TONE); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; //This is a "on first run" test //Runnable.Run(Examples()); // example on pump prime }
private IEnumerator CreateService() { // Create credential and instantiate service Credentials credentials = null; if (!string.IsNullOrEmpty(_username) && !string.IsNullOrEmpty(_password)) { // Authenticate using username and password credentials = new Credentials(_username, _password, _serviceUrl); } else if (!string.IsNullOrEmpty(_iamApikey)) { // Authenticate using iamApikey TokenOptions tokenOptions = new TokenOptions() { IamApiKey = _iamApikey, IamUrl = _iamUrl }; credentials = new Credentials(tokenOptions, _serviceUrl); // Wait for tokendata while (!credentials.HasIamTokenData()) { yield return(null); } } else { throw new WatsonException("Please provide either username and password or IAM apikey to authenticate the service."); } _service = new ToneAnalyzer(credentials); _service.VersionDate = _versionDate; Runnable.Run(Examples()); }
void Start() { LogSystem.InstallDefaultReactors(); // Create credential and instantiate service Credentials credentials_STT = new Credentials(_username_STT, _password_STT, _url_STT); _speechToText = new SpeechToText(credentials_STT); Active = true; StartRecording(); // TONE ZONE Credentials credentials_TONE = new Credentials(_username_TONE, _password_TONE, _url_TONE); _toneAnalyzer = new ToneAnalyzer(credentials_TONE); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; bar1JoyRenderer.material = yellow_material; bar2SadnessRenderer.material = blue_material; bar3FearRenderer.material = purple_material; bar4DisgustRenderer.material = green_material; bar5AngerRenderer.material = red_material; }
protected void createKeyRects() { _whiteKeys = new List <KeyValuePair <Rectangle, string> >(); _blackKeys = new List <KeyValuePair <Rectangle, string> >(); ToneResult maxTone = ToneAnalyzer.Analyze(_maxFreq, 1.0); ToneResult minTone = ToneAnalyzer.Analyze(_minFreq, 1.0); double nearMaxFreq = Math.Log(maxTone.Pitch - maxTone.PitchDiff); double nearMinFreq = Math.Log(minTone.Pitch - minTone.PitchDiff); double maxY = (nearMaxFreq - _minFreqLog) / (_maxFreqLog - _minFreqLog); double minY = (nearMinFreq - _minFreqLog) / (_maxFreqLog - _minFreqLog); maxY = _view.Height - maxY * _view.Height; minY = _view.Height - minY * _view.Height; int num = 12 * maxTone.Octave + maxTone.ToneIdx - (12 * minTone.Octave + minTone.ToneIdx); double dy = (minY - maxY) / (double)num; double y = minY; int toneIdx = minTone.ToneIdx; int oct = minTone.Octave; num += 3; toneIdx--; if (toneIdx < 0) { toneIdx += 12; oct--; } y += dy; int bw = (int)(_keyRect.Width / 2.0); int[] blackIdx = { 1, 3, 6, 8, 10 }; for (int i = 0; i < num; i++) { string str = string.Format("{0}{1}", ToneAnalyzer.ToneNames[toneIdx], oct); if (Array.IndexOf(blackIdx, toneIdx) < 0) { // 白鍵 int nh, ny; adjustWhiteKey(toneIdx, y, dy, out ny, out nh); if (_whiteKeys.Count > 0) { Rectangle prevR = _whiteKeys[_whiteKeys.Count - 1].Key; nh = prevR.Top - ny; } _whiteKeys.Add(new KeyValuePair <Rectangle, string>( new Rectangle(0, ny, _keyRect.Width - 1, nh), str)); } else { // 黒鍵 _blackKeys.Add(new KeyValuePair <Rectangle, string>( new Rectangle(0, (int)(y - dy / 2.0), bw, (int)dy), str)); } y -= dy; toneIdx++; if (toneIdx >= 12) { toneIdx = 0; oct++; } } }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; string result = null; var vcapUrl = Environment.GetEnvironmentVariable("VCAP_URL"); var vcapUsername = Environment.GetEnvironmentVariable("VCAP_USERNAME"); var vcapPassword = Environment.GetEnvironmentVariable("VCAP_PASSWORD"); using (SimpleGet simpleGet = new SimpleGet(vcapUrl, vcapUsername, vcapPassword)) { while (!simpleGet.IsComplete) { yield return(null); } result = simpleGet.Result; } // Add in a parent object because Unity does not like to deserialize root level collection types. result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(result, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.VCAP_SERVICES["tone_analyzer"]; _username = credential.Username.ToString(); _password = credential.Password.ToString(); _url = credential.Url.ToString(); // Create credential and instantiate service Credentials credentials = new Credentials(_username, _password, _url); // Or authenticate using token //Credentials credentials = new Credentials(_url) //{ // AuthenticationToken = _token //}; _toneAnalyzer = new ToneAnalyzer(credentials); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; // Analyze tone if (!_toneAnalyzer.GetToneAnalyze(OnGetToneAnalyze, OnFail, _stringToTestTone)) { Log.Debug("ExampleToneAnalyzer.GetToneAnalyze()", "Failed to analyze!"); } while (!_analyzeToneTested) { yield return(null); } Log.Debug("ExampleToneAnalyzer.RunTest()", "Tone analyzer examples complete."); yield break; }
public override void Load(string filePath) { _curTime = 0; _points.Clear(); load(filePath); foreach (Note n in _notes) { if (n.ToneIdx >= 0) { double pLen = n.Length; if (n.LenRatio >= 0 && n.LenRatio < 8) { pLen *= n.LenRatio / 8.0; } MusicNote onNote = new MusicNote(); onNote.Pitch = ToneAnalyzer.PitchFromTone(n.ToneIdx, n.Octave); onNote.Start = true; onNote.TimeInSec = _curTime; _points.Add(onNote); MusicNote offNote = new MusicNote(); offNote.Pitch = onNote.Pitch; offNote.Start = false; offNote.TimeInSec = _curTime + pLen; _points.Add(offNote); if (_maxP < onNote.Pitch) { _maxP = onNote.Pitch; } if (_minP > onNote.Pitch) { _minP = onNote.Pitch; } } _curTime += n.Length; } Length = _curTime; ToneResult minTone = ToneAnalyzer.Analyze(_minP, 1.0); ToneResult maxTone = ToneAnalyzer.Analyze(_maxP, 1.0); maxTone.ToneIdx++; if (maxTone.ToneIdx >= 12) { maxTone.ToneIdx -= 12; maxTone.Octave++; } minTone.ToneIdx--; if (minTone.ToneIdx <= 0) { minTone.ToneIdx += 12; minTone.Octave--; } MinPitch = ToneAnalyzer.PitchFromTone(minTone.ToneIdx, minTone.Octave); MaxPitch = ToneAnalyzer.PitchFromTone(maxTone.ToneIdx, maxTone.Octave); _points.Sort((MusicNote n1, MusicNote n2) => { if (n1.TimeInSec != n2.TimeInSec) { return(n1.TimeInSec.CompareTo(n2.TimeInSec)); } if (n1.Start) { if (n2.Start) { return(0); } return(1); } else { if (n2.Start) { return(-1); } return(0); } }); }
public override void Load(string filePath) { List <List <TrackEvent> > trackEvents = new List <List <TrackEvent> >(); BinaryReader reader = new BinaryReader(new FileStream(filePath, FileMode.Open), Encoding.UTF8); _header = readHeader(reader); if (!_header.DeltaTimeInPPQN) { throw new SMFException("対応していないMIDIファイル:TimeInSec Division"); } if (_header.FormatType == 2) { throw new SMFException("対応していないMIDIファイル:Format"); } for (int i = 0; i < _header.TrackNum; i++) { List <TrackEvent> evs = new List <TrackEvent>(); readTrack(reader, ref evs); trackEvents.Add(evs); } double maxPitch = double.MinValue; double minPitch = double.MaxValue; long prevTick = 0; double time = 0; int tempo = 500000; double ppqnInv = 1 / (double)_header.DeltaTime; Dictionary <int, Dictionary <int, SMFNote> > channels = new Dictionary <int, Dictionary <int, SMFNote> >(); _points = new List <MusicNote>(); while (true) { if (trackEvents.Count == 0) { break; } if (trackEvents.TrueForAll((lst) => { return(lst.Count == 0); })) { break; } int idx = -1; long minTick = long.MaxValue; for (int i = 0; i < trackEvents.Count; i++) { if (trackEvents[i].Count == 0) { continue; } long tick = trackEvents[i][0].AbsoluteTick; if (tick < minTick) { idx = i; minTick = tick; } } if (idx < 0) { break; } TrackEvent fstev = trackEvents[idx][0]; trackEvents[idx].RemoveAt(0); time += (fstev.AbsoluteTick - prevTick) * tempo * ppqnInv / 1000000.0; switch (fstev.EventType) { case EventType.Tempo: tempo = (int)fstev.Params[0]; break; case EventType.NoteOn: { int channel = (int)fstev.Params[0]; int noteNum = (int)fstev.Params[1]; Dictionary <int, SMFNote> noteNums; if (channels.ContainsKey(channel)) { noteNums = channels[channel]; } else { noteNums = new Dictionary <int, SMFNote>(); channels.Add(channel, noteNums); } SMFNote note; if (noteNums.ContainsKey(noteNum)) { note = noteNums[noteNum]; MusicNote n = new MusicNote(); n.TimeInSec = time; n.Pitch = note.Pitch; n.Start = false; _points.Add(n); } note = new SMFNote(true, pitchFromNote(noteNum)); if (noteNums.ContainsKey(noteNum)) { noteNums[noteNum] = note; } else { noteNums.Add(noteNum, note); } MusicNote nn = new MusicNote(); nn.TimeInSec = time; nn.Pitch = note.Pitch; nn.Start = true; _points.Add(nn); if (note.Pitch < minPitch) { minPitch = note.Pitch; } if (note.Pitch > maxPitch) { maxPitch = note.Pitch; } } break; case EventType.NoteOff: { int channel = (int)fstev.Params[0]; int noteNum = (int)fstev.Params[1]; Dictionary <int, SMFNote> noteNums; if (channels.ContainsKey(channel)) { noteNums = channels[channel]; } else { noteNums = new Dictionary <int, SMFNote>(); channels.Add(channel, noteNums); } SMFNote note; if (noteNums.ContainsKey(noteNum)) { note = noteNums[noteNum]; MusicNote n = new MusicNote(); n.TimeInSec = time; n.Pitch = note.Pitch; n.Start = false; _points.Add(n); if (note.Pitch < minPitch) { minPitch = note.Pitch; } if (note.Pitch > maxPitch) { maxPitch = note.Pitch; } noteNums.Remove(noteNum); } } break; } prevTick = fstev.AbsoluteTick; } _length = time; ToneResult minTone = ToneAnalyzer.Analyze(minPitch, 1.0); ToneResult maxTone = ToneAnalyzer.Analyze(maxPitch, 1.0); maxTone.ToneIdx++; if (maxTone.ToneIdx >= 12) { maxTone.ToneIdx -= 12; maxTone.Octave++; } minTone.ToneIdx--; if (minTone.ToneIdx <= 0) { minTone.ToneIdx += 12; minTone.Octave--; } MinPitch = ToneAnalyzer.PitchFromTone(minTone.ToneIdx, minTone.Octave); MaxPitch = ToneAnalyzer.PitchFromTone(maxTone.ToneIdx, maxTone.Octave); _points.Sort((MusicNote n1, MusicNote n2) => { if (n1.TimeInSec != n2.TimeInSec) { return(n1.TimeInSec.CompareTo(n2.TimeInSec)); } if (n1.Start) { if (n2.Start) { return(0); } return(1); } else { if (n2.Start) { return(-1); } return(0); } }); }
//------------------ /// <summary> /// Start() method connects to the ToneAnalysis Watson Serice /// </summary> void Start() { _toneAnalyzer = new ToneAnalyzer(credentials_TONE); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); try { VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; // Get credentials from a credential file defined in environmental variables in the VCAP_SERVICES format. // See https://www.ibm.com/watson/developercloud/doc/common/getting-started-variables.html. var environmentalVariable = Environment.GetEnvironmentVariable("VCAP_SERVICES"); var fileContent = File.ReadAllText(environmentalVariable); // Add in a parent object because Unity does not like to deserialize root level collection types. fileContent = Utility.AddTopLevelObjectToJson(fileContent, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(fileContent, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.VCAP_SERVICES["tone_analyzer"][TestCredentialIndex].Credentials; _username = credential.Username.ToString(); _password = credential.Password.ToString(); _url = credential.Url.ToString(); } catch { Log.Debug("TestToneAnalyzer", "Failed to get credentials from VCAP_SERVICES file. Please configure credentials to run this test. For more information, see: https://github.com/watson-developer-cloud/unity-sdk/#authentication"); } // Create credential and instantiate service Credentials credentials = new Credentials(_username, _password, _url); // Or authenticate using token //Credentials credentials = new Credentials(_url) //{ // AuthenticationToken = _token //}; _toneAnalyzer = new ToneAnalyzer(credentials); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; // Analyze tone if (!_toneAnalyzer.GetToneAnalyze(OnGetToneAnalyze, _stringToTestTone)) { Log.Debug("ExampleToneAnalyzer", "Failed to analyze!"); } while (!_analyzeToneTested) { yield return(null); } Log.Debug("ExampleToneAnalyzer", "Tone analyzer examples complete."); yield break; }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; string result = null; string credentialsFilepath = "../sdk-credentials/credentials.json"; // Load credentials file if it exists. If it doesn't exist, don't run the tests. if (File.Exists(credentialsFilepath)) { result = File.ReadAllText(credentialsFilepath); } else { yield break; } // Add in a parent object because Unity does not like to deserialize root level collection types. result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(result, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.GetCredentialByname("tone-analyzer-sdk")[0].Credentials; // Create credential and instantiate service TokenOptions tokenOptions = new TokenOptions() { IamApiKey = credential.IamApikey, }; // Create credential and instantiate service Credentials credentials = new Credentials(tokenOptions, credential.Url); // Wait for tokendata while (!credentials.HasIamTokenData()) { yield return(null); } _toneAnalyzer = new ToneAnalyzer(credentials); _toneAnalyzer.VersionDate = _toneAnalyzerVersionDate; // Analyze tone if (!_toneAnalyzer.GetToneAnalyze(OnGetToneAnalyze, OnFail, _stringToTestTone)) { Log.Debug("ExampleToneAnalyzer.GetToneAnalyze()", "Failed to analyze!"); } while (!_analyzeToneTested) { yield return(null); } Log.Debug("ExampleToneAnalyzer.RunTest()", "Tone analyzer examples complete."); yield break; }