Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implements Parallel Event Processing for LiveClient and Some Examples #258

Merged

Conversation

davidvonthenen
Copy link
Contributor

@davidvonthenen davidvonthenen commented Apr 3, 2024

Implements: #198, #195, #193

This implements the following:

  • Parallel Event Processing for multiple event subscribers (just implements a function and uses it in Live/Client.cs)
  • More of this PR are examples for:
    • PreRecorded (SITS)
    • Analyze (SITS)
    • Speak
    • Edge Cases (ie Prove out KeepAlives work and timeouts will be triggered)
  • Updated the logging format to something more parsable

Summary by CodeRabbit

  • New Features
    • Expanded project scope to include new testing, edge cases, and analysis features such as sentiment, intent, summary, and topic analysis.
    • Introduced real-time text-to-speech API "Deepgram Aura" for conversational voice AI agents.
    • Added functionality for analyzing audio data for intents, sentiment, summaries, and topics using the Deepgram .NET SDK.
    • Implemented functionality for prerecorded audio transcription and analysis across various dimensions (intent, sentiment, summary, topic).
    • Added a new Speak project with a woodchuck subproject for text-to-speech processing.
  • Improvements
    • Refactored client methods for improved event handling and parallel processing.
    • Updated logging configuration for more detailed output.
  • Bug Fixes
    • Adjusted methods for handling cancellation tokens and disposing of WebSocket connections correctly.
  • Documentation
    • Enhanced examples and project files to better demonstrate the usage of the Deepgram .NET SDK for audio analysis and transcription.

Copy link
Contributor

coderabbitai bot commented Apr 3, 2024

Walkthrough

The updates encompass a broad enhancement and restructuring of the Deepgram solution, focusing on expanding its capabilities in analyzing audio data. New projects for testing various scenarios, including edge cases and expected failures, have been introduced. Additionally, there's a significant inclusion of projects tailored for analyzing sentiment, intent, summary, and topic from audio inputs. The solution also sees the incorporation of pre-recorded scenarios for comprehensive analysis and a unique woodchuck subproject under the Speak project, indicating a diversification in speech processing tasks.

Changes

File(s) Change Summary
Deepgram.Dev.sln Major restructuring with additions of testing, analysis (sentiment, intent, summary, topic), and balance management projects. New PreRecorded scenarios and a woodchuck subproject in Speak added.
Deepgram/Clients/Live/v1/Client.cs Refactored ProcessDataReceived and Stop methods; introduced InvokeParallel for parallel event handler invocation.
Deepgram/GlobalUsings.cs Removed global using directive for Microsoft.Extensions.Logging.
Deepgram/Logger/Log.cs Updated logging configuration for detailed output.
examples/analyze/.../Analyze.csproj,
examples/prerecorded/.../PreRecorded.csproj,
examples/speak/file/woodchuck/Speak.csproj,
tests/edge_cases/keepalive/KeepAlive.csproj,
tests/edge_cases/reconnect_same_object/ReconnectStreaming.csproj,
tests/expected_failures/exercise_timeout/ExerciseTimeout.csproj
Introduced or updated .NET project files for analyzing audio data, pre-recorded scenarios, speech processing (woodchuck), and various tests. Targeting .NET 6.0 and including references to Microsoft.Extensions.Http and Deepgram.csproj.
examples/analyze/.../Program.cs,
examples/prerecorded/.../Program.cs,
examples/speak/file/woodchuck/Program.cs,
tests/edge_cases/keepalive/Program.cs,
tests/edge_cases/reconnect_same_object/Program.cs,
tests/expected_failures/exercise_timeout/Program.cs
Introduced functionality for analyzing audio data (intent, sentiment, summary, topic), transcribing pre-recorded audio, speech-to-text processing (woodchuck), and various testing scenarios using the Deepgram .NET SDK.
examples/analyze/.../conversation.txt,
examples/prerecorded/.../CallCenterPhoneCall.mp3,
examples/prerecorded/file/Bueller-Life-moves-pretty-fast.wav
Added new files to support audio data analysis and transcription examples, introducing "Deepgram Aura," a text-to-speech API for real-time conversational voice AI agents.

Warning

Following problems were encountered

  • Git: Failed to clone repository. Please contact CodeRabbit support.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 40

Review Status

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 7607108 and 554a33a.
Files ignored due to path filters (5)
  • examples/prerecorded/file/Bueller-Life-moves-pretty-fast.wav is excluded by !**/*.wav, !**/*.wav
  • examples/prerecorded/intent/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
  • examples/prerecorded/sentiment/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
  • examples/prerecorded/summary/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
  • examples/prerecorded/topic/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
Files selected for processing (36)
  • Deepgram.Dev.sln (5 hunks)
  • Deepgram/Clients/Live/v1/Client.cs (10 hunks)
  • Deepgram/GlobalUsings.cs (1 hunks)
  • Deepgram/Logger/Log.cs (1 hunks)
  • examples/analyze/intent/Analyze.csproj (1 hunks)
  • examples/analyze/intent/Program.cs (1 hunks)
  • examples/analyze/intent/conversation.txt (1 hunks)
  • examples/analyze/sentiment/Analyze.csproj (1 hunks)
  • examples/analyze/sentiment/Program.cs (1 hunks)
  • examples/analyze/sentiment/conversation.txt (1 hunks)
  • examples/analyze/summary/Analyze.csproj (1 hunks)
  • examples/analyze/summary/Program.cs (1 hunks)
  • examples/analyze/summary/conversation.txt (1 hunks)
  • examples/analyze/topic/Analyze.csproj (1 hunks)
  • examples/analyze/topic/Program.cs (1 hunks)
  • examples/analyze/topic/conversation.txt (1 hunks)
  • examples/prerecorded/file/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/file/Program.cs (1 hunks)
  • examples/prerecorded/intent/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/intent/Program.cs (1 hunks)
  • examples/prerecorded/sentiment/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/sentiment/Program.cs (1 hunks)
  • examples/prerecorded/summary/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/summary/Program.cs (1 hunks)
  • examples/prerecorded/topic/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/topic/Program.cs (1 hunks)
  • examples/prerecorded/url/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/url/Program.cs (1 hunks)
  • examples/speak/file/woodchuck/Program.cs (1 hunks)
  • examples/speak/file/woodchuck/Speak.csproj (1 hunks)
  • tests/edge_cases/keepalive/KeepAlive.csproj (1 hunks)
  • tests/edge_cases/keepalive/Program.cs (1 hunks)
  • tests/edge_cases/reconnect_same_object/Program.cs (1 hunks)
  • tests/edge_cases/reconnect_same_object/ReconnectStreaming.csporj (1 hunks)
  • tests/expected_failures/exercise_timeout/ExerciseTimeout.csproj (1 hunks)
  • tests/expected_failures/exercise_timeout/Program.cs (1 hunks)
Files skipped from review due to trivial changes (2)
  • Deepgram/GlobalUsings.cs
  • examples/prerecorded/url/PreRecorded.csproj
Additional Context Used
Learnings (7)
examples/prerecorded/intent/PreRecorded.csproj (1)
User: dvonthenen"
PR: deepgram/deepgram-dotnet-sdk#253
File: Deepgram.Dev.sln:0-0
Timestamp: 2024-03-28T19:45:21.188Z
Learning: References to "Prerecorded" and other project names in the documentation and build scripts have been updated as part of the PR changes. Remaining mentions of "Prerecorded" in `Deepgram/README.md`, `examples/README.md`, and `README.md` were noted for potential review.
examples/prerecorded/sentiment/PreRecorded.csproj (1)
User: dvonthenen"
PR: deepgram/deepgram-dotnet-sdk#253
File: Deepgram.Dev.sln:0-0
Timestamp: 2024-03-28T19:45:21.188Z
Learning: References to "Prerecorded" and other project names in the documentation and build scripts have been updated as part of the PR changes. Remaining mentions of "Prerecorded" in `Deepgram/README.md`, `examples/README.md`, and `README.md` were noted for potential review.
examples/prerecorded/summary/PreRecorded.csproj (1)
User: dvonthenen"
PR: deepgram/deepgram-dotnet-sdk#253
File: Deepgram.Dev.sln:0-0
Timestamp: 2024-03-28T19:45:21.188Z
Learning: References to "Prerecorded" and other project names in the documentation and build scripts have been updated as part of the PR changes. Remaining mentions of "Prerecorded" in `Deepgram/README.md`, `examples/README.md`, and `README.md` were noted for potential review.
examples/prerecorded/topic/PreRecorded.csproj (1)
User: dvonthenen"
PR: deepgram/deepgram-dotnet-sdk#253
File: Deepgram.Dev.sln:0-0
Timestamp: 2024-03-28T19:45:21.188Z
Learning: References to "Prerecorded" and other project names in the documentation and build scripts have been updated as part of the PR changes. Remaining mentions of "Prerecorded" in `Deepgram/README.md`, `examples/README.md`, and `README.md` were noted for potential review.
examples/prerecorded/file/PreRecorded.csproj (1)
User: dvonthenen"
PR: deepgram/deepgram-dotnet-sdk#253
File: Deepgram.Dev.sln:0-0
Timestamp: 2024-03-28T19:45:21.188Z
Learning: References to "Prerecorded" and other project names in the documentation and build scripts have been updated as part of the PR changes. Remaining mentions of "Prerecorded" in `Deepgram/README.md`, `examples/README.md`, and `README.md` were noted for potential review.
examples/analyze/summary/Program.cs (1)
User: dvonthenen"
PR: deepgram/deepgram-dotnet-sdk#245
File: examples/speak/Program.cs:11-11
Timestamp: 2024-03-21T03:36:52.637Z
Learning: The user `dvonthenen` agreed to add a comment clarifying that `"REPLACE-WITH-YOUR-API-KEY"` is a placeholder for the user's actual Deepgram API key in `examples/speak/Program.cs`.
Deepgram.Dev.sln (1)
User: dvonthenen"
PR: deepgram/deepgram-dotnet-sdk#253
File: Deepgram.Dev.sln:0-0
Timestamp: 2024-03-28T19:45:21.188Z
Learning: References to "Prerecorded" and other project names in the documentation and build scripts have been updated as part of the PR changes. Remaining mentions of "Prerecorded" in `Deepgram/README.md`, `examples/README.md`, and `README.md` were noted for potential review.
Additional comments not posted (35)
examples/speak/file/woodchuck/Speak.csproj (1)

1-15: LGTM! The project configuration adheres to modern .NET development practices and correctly references the main Deepgram SDK project.

examples/prerecorded/intent/PreRecorded.csproj (2)

15-15: Ensure the relative path to Deepgram\Deepgram.csproj is correct and consistent with the solution's directory structure.


23-23: Verify that the CallCenterPhoneCall.mp3 file is included in the repository and its usage complies with licensing requirements.

examples/prerecorded/sentiment/PreRecorded.csproj (3)

11-11: Consider specifying the Microsoft.Extensions.Http package version as a variable in a central Directory.Build.props file to ensure consistency across multiple projects.


15-15: Ensure the relative path to Deepgram\Deepgram.csproj is correct and consistent with the solution's directory structure.


23-23: Verify that the CallCenterPhoneCall.mp3 file is included in the repository and its usage complies with licensing requirements.

examples/prerecorded/summary/PreRecorded.csproj (3)

11-11: Consider specifying the Microsoft.Extensions.Http package version as a variable in a central Directory.Build.props file to ensure consistency across multiple projects.


15-15: Ensure the relative path to Deepgram\Deepgram.csproj is correct and consistent with the solution's directory structure.


23-23: Verify that the CallCenterPhoneCall.mp3 file is included in the repository and its usage complies with licensing requirements.

examples/prerecorded/topic/PreRecorded.csproj (3)

11-11: Consider specifying the Microsoft.Extensions.Http package version as a variable in a central Directory.Build.props file to ensure consistency across multiple projects.


15-15: Ensure the relative path to Deepgram\Deepgram.csproj is correct and consistent with the solution's directory structure.


23-23: Verify that the CallCenterPhoneCall.mp3 file is included in the repository and its usage complies with licensing requirements.

examples/prerecorded/file/PreRecorded.csproj (3)

11-11: Consider specifying the Microsoft.Extensions.Http package version as a variable in a central Directory.Build.props file to ensure consistency across multiple projects.


15-15: Ensure the relative path to Deepgram\Deepgram.csproj is correct and consistent with the solution's directory structure.


23-23: Verify that the Bueller-Life-moves-pretty-fast.wav file is included in the repository and its usage complies with licensing requirements.

examples/prerecorded/url/Program.cs (2)

20-20: Ensure that the environment variable DEEPGRAM_API_KEY is securely managed and not hardcoded in any part of the application.


29-29: Consider removing Console.ReadKey(); if this program is intended to run in environments where user interaction is not possible (e.g., automated tasks or CI/CD pipelines).

examples/analyze/topic/Program.cs (3)

20-20: Ensure that the environment variable DEEPGRAM_API_KEY is securely managed and not hardcoded in any part of the application.


22-29: Add error handling for the AnalyzeFile call to manage potential issues gracefully.

try {
-   var response = await deepgramClient.AnalyzeFile(
+   var response = await deepgramClient.AnalyzeFile(
    audioData,
    new AnalyzeSchema()
    {
        Language = "en",
        Topics = true,
    });
    Console.WriteLine(JsonSerializer.Serialize(response));
} catch (Exception ex) {
    Console.WriteLine($"An error occurred: {ex.Message}");
}

31-31: Consider removing Console.ReadKey(); if this program is intended to run in environments where user interaction is not possible.

examples/analyze/intent/Program.cs (3)

20-20: Ensure that the environment variable DEEPGRAM_API_KEY is securely managed and not hardcoded in any part of the application.


22-29: Add error handling for the AnalyzeFile call to manage potential issues gracefully.


31-31: Consider removing Console.ReadKey(); if this program is intended to run in environments where user interaction is not possible.

tests/expected_failures/exercise_timeout/Program.cs (2)

23-44: Ensure proper error handling in event callbacks to prevent unhandled exceptions from crashing the application.


58-60: Clarify the expected behavior when the timeout occurs to ensure the test's intention is clear.

Deepgram/Logger/Log.cs (2)

28-29: Ensure the updated logging format meets the requirements for all environments where the SDK is used, considering the increased detail might affect log storage and processing.


28-35: Validate the performance impact of the more detailed logging format, especially in high-throughput scenarios.

tests/edge_cases/keepalive/Program.cs (2)

28-49: Ensure proper error handling in event callbacks to prevent unhandled exceptions from potentially crashing the application.


63-65: Clarify the expected behavior of the KeepAlive functionality in the comments to ensure the test's intention is clear to future maintainers.

tests/edge_cases/reconnect_same_object/Program.cs (2)

35-72: Ensure proper error handling in event callbacks to prevent unhandled exceptions from potentially crashing the application.


93-101: Validate the microphone stop functionality to ensure it properly cleans up resources and does not leave any open streams.

examples/analyze/intent/conversation.txt (1)

3-3: Consider simplifying "in support of our thesis" to make the text more concise.

examples/analyze/sentiment/conversation.txt (1)

3-3: Consider simplifying "in support of our thesis" to make the text more concise.

examples/analyze/summary/conversation.txt (1)

3-3: Consider simplifying "in support of our thesis" to make the text more concise.

examples/analyze/topic/conversation.txt (1)

3-3: Consider simplifying "in support of our thesis" to make the text more concise.

Deepgram.Dev.sln Outdated Show resolved Hide resolved
Deepgram/Clients/Live/v1/Client.cs Show resolved Hide resolved
Deepgram/Clients/Live/v1/Client.cs Show resolved Hide resolved
Deepgram/Clients/Live/v1/Client.cs Outdated Show resolved Hide resolved
tests/edge_cases/keepalive/KeepAlive.csproj Show resolved Hide resolved
examples/prerecorded/summary/Program.cs Show resolved Hide resolved
examples/prerecorded/sentiment/Program.cs Show resolved Hide resolved
examples/prerecorded/sentiment/Program.cs Show resolved Hide resolved
examples/prerecorded/file/Program.cs Show resolved Hide resolved
examples/speak/file/woodchuck/Program.cs Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review Status

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 7607108 and 6c6e4de.
Files ignored due to path filters (5)
  • examples/prerecorded/file/Bueller-Life-moves-pretty-fast.wav is excluded by !**/*.wav, !**/*.wav
  • examples/prerecorded/intent/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
  • examples/prerecorded/sentiment/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
  • examples/prerecorded/summary/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
  • examples/prerecorded/topic/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
Files selected for processing (36)
  • Deepgram.Dev.sln (5 hunks)
  • Deepgram/Clients/Live/v1/Client.cs (13 hunks)
  • Deepgram/GlobalUsings.cs (1 hunks)
  • Deepgram/Logger/Log.cs (1 hunks)
  • examples/analyze/intent/Analyze.csproj (1 hunks)
  • examples/analyze/intent/Program.cs (1 hunks)
  • examples/analyze/intent/conversation.txt (1 hunks)
  • examples/analyze/sentiment/Analyze.csproj (1 hunks)
  • examples/analyze/sentiment/Program.cs (1 hunks)
  • examples/analyze/sentiment/conversation.txt (1 hunks)
  • examples/analyze/summary/Analyze.csproj (1 hunks)
  • examples/analyze/summary/Program.cs (1 hunks)
  • examples/analyze/summary/conversation.txt (1 hunks)
  • examples/analyze/topic/Analyze.csproj (1 hunks)
  • examples/analyze/topic/Program.cs (1 hunks)
  • examples/analyze/topic/conversation.txt (1 hunks)
  • examples/prerecorded/file/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/file/Program.cs (1 hunks)
  • examples/prerecorded/intent/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/intent/Program.cs (1 hunks)
  • examples/prerecorded/sentiment/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/sentiment/Program.cs (1 hunks)
  • examples/prerecorded/summary/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/summary/Program.cs (1 hunks)
  • examples/prerecorded/topic/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/topic/Program.cs (1 hunks)
  • examples/prerecorded/url/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/url/Program.cs (1 hunks)
  • examples/speak/file/woodchuck/Program.cs (1 hunks)
  • examples/speak/file/woodchuck/Speak.csproj (1 hunks)
  • tests/edge_cases/keepalive/KeepAlive.csproj (1 hunks)
  • tests/edge_cases/keepalive/Program.cs (1 hunks)
  • tests/edge_cases/reconnect_same_object/Program.cs (1 hunks)
  • tests/edge_cases/reconnect_same_object/ReconnectStreaming.csproj (1 hunks)
  • tests/expected_failures/exercise_timeout/ExerciseTimeout.csproj (1 hunks)
  • tests/expected_failures/exercise_timeout/Program.cs (1 hunks)
Files skipped from review as they are similar to previous changes (30)
  • Deepgram/Clients/Live/v1/Client.cs
  • Deepgram/GlobalUsings.cs
  • Deepgram/Logger/Log.cs
  • examples/analyze/intent/Analyze.csproj
  • examples/analyze/intent/Program.cs
  • examples/analyze/sentiment/Analyze.csproj
  • examples/analyze/sentiment/Program.cs
  • examples/analyze/summary/Analyze.csproj
  • examples/analyze/summary/Program.cs
  • examples/analyze/topic/Analyze.csproj
  • examples/analyze/topic/Program.cs
  • examples/prerecorded/file/PreRecorded.csproj
  • examples/prerecorded/file/Program.cs
  • examples/prerecorded/intent/PreRecorded.csproj
  • examples/prerecorded/intent/Program.cs
  • examples/prerecorded/sentiment/PreRecorded.csproj
  • examples/prerecorded/sentiment/Program.cs
  • examples/prerecorded/summary/PreRecorded.csproj
  • examples/prerecorded/summary/Program.cs
  • examples/prerecorded/topic/PreRecorded.csproj
  • examples/prerecorded/topic/Program.cs
  • examples/prerecorded/url/PreRecorded.csproj
  • examples/prerecorded/url/Program.cs
  • examples/speak/file/woodchuck/Program.cs
  • examples/speak/file/woodchuck/Speak.csproj
  • tests/edge_cases/keepalive/KeepAlive.csproj
  • tests/edge_cases/keepalive/Program.cs
  • tests/edge_cases/reconnect_same_object/Program.cs
  • tests/expected_failures/exercise_timeout/ExerciseTimeout.csproj
  • tests/expected_failures/exercise_timeout/Program.cs
Additional Context Used
Learnings (1)
Deepgram.Dev.sln (1)
User: dvonthenen"
PR: deepgram/deepgram-dotnet-sdk#253
File: Deepgram.Dev.sln:0-0
Timestamp: 2024-03-28T19:45:21.188Z
Learning: References to "Prerecorded" and other project names in the documentation and build scripts have been updated as part of the PR changes. Remaining mentions of "Prerecorded" in `Deepgram/README.md`, `examples/README.md`, and `README.md` were noted for potential review.
Additional comments not posted (9)
tests/edge_cases/reconnect_same_object/ReconnectStreaming.csproj (1)

1-18: Ensure the project references and dependencies are up-to-date and aligned with the SDK's requirements.

examples/analyze/intent/conversation.txt (2)

1-1: Correct the spelling mistake to maintain professionalism in example content.

- Meet Deepgram Aura: real-time text-to-speech for real-time AI agents
+ Meet Deepgram Aura: real-time text-to-speech for real-time AI agents

5-5: Correct the spelling of "old-fashioned" with a hyphen for grammatical accuracy.

- - Good old fashioned voice notes are enjoying a healthy resurgence.
+ - Good old-fashioned voice notes are enjoying a healthy resurgence.
examples/analyze/sentiment/conversation.txt (2)

1-1: Correct the spelling mistake to maintain professionalism in example content.

- Meet Deepgram Aura: real-time text-to-speech for real-time AI agents
+ Meet Deepgram Aura: real-time text-to-speech for real-time AI agents

5-5: Correct the spelling of "old-fashioned" with a hyphen for grammatical accuracy.

- - Good old fashioned voice notes are enjoying a healthy resurgence.
+ - Good old-fashioned voice notes are enjoying a healthy resurgence.
examples/analyze/summary/conversation.txt (2)

1-1: Correct the spelling mistake to maintain professionalism in example content.

- Meet Deepgram Aura: real-time text-to-speech for real-time AI agents
+ Meet Deepgram Aura: real-time text-to-speech for real-time AI agents

5-5: Correct the spelling of "old-fashioned" with a hyphen for grammatical accuracy.

- - Good old fashioned voice notes are enjoying a healthy resurgence.
+ - Good old-fashioned voice notes are enjoying a healthy resurgence.
examples/analyze/topic/conversation.txt (2)

1-1: Correct the spelling mistake to maintain professionalism in example content.

- Meet Deepgram Aura: real-time text-to-speech for real-time AI agents
+ Meet Deepgram Aura: real-time text-to-speech for real-time AI agents

5-5: Correct the spelling of "old-fashioned" with a hyphen for grammatical accuracy.

- - Good old fashioned voice notes are enjoying a healthy resurgence.
+ - Good old-fashioned voice notes are enjoying a healthy resurgence.

Deepgram.Dev.sln Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

Review Status

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 7607108 and dec7eae.
Files ignored due to path filters (5)
  • examples/prerecorded/file/Bueller-Life-moves-pretty-fast.wav is excluded by !**/*.wav, !**/*.wav
  • examples/prerecorded/intent/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
  • examples/prerecorded/sentiment/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
  • examples/prerecorded/summary/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
  • examples/prerecorded/topic/CallCenterPhoneCall.mp3 is excluded by !**/*.mp3, !**/*.mp3
Files selected for processing (36)
  • Deepgram.Dev.sln (5 hunks)
  • Deepgram/Clients/Live/v1/Client.cs (13 hunks)
  • Deepgram/GlobalUsings.cs (1 hunks)
  • Deepgram/Logger/Log.cs (1 hunks)
  • examples/analyze/intent/Analyze.csproj (1 hunks)
  • examples/analyze/intent/Program.cs (1 hunks)
  • examples/analyze/intent/conversation.txt (1 hunks)
  • examples/analyze/sentiment/Analyze.csproj (1 hunks)
  • examples/analyze/sentiment/Program.cs (1 hunks)
  • examples/analyze/sentiment/conversation.txt (1 hunks)
  • examples/analyze/summary/Analyze.csproj (1 hunks)
  • examples/analyze/summary/Program.cs (1 hunks)
  • examples/analyze/summary/conversation.txt (1 hunks)
  • examples/analyze/topic/Analyze.csproj (1 hunks)
  • examples/analyze/topic/Program.cs (1 hunks)
  • examples/analyze/topic/conversation.txt (1 hunks)
  • examples/prerecorded/file/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/file/Program.cs (1 hunks)
  • examples/prerecorded/intent/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/intent/Program.cs (1 hunks)
  • examples/prerecorded/sentiment/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/sentiment/Program.cs (1 hunks)
  • examples/prerecorded/summary/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/summary/Program.cs (1 hunks)
  • examples/prerecorded/topic/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/topic/Program.cs (1 hunks)
  • examples/prerecorded/url/PreRecorded.csproj (1 hunks)
  • examples/prerecorded/url/Program.cs (1 hunks)
  • examples/speak/file/woodchuck/Program.cs (1 hunks)
  • examples/speak/file/woodchuck/Speak.csproj (1 hunks)
  • tests/edge_cases/keepalive/KeepAlive.csproj (1 hunks)
  • tests/edge_cases/keepalive/Program.cs (1 hunks)
  • tests/edge_cases/reconnect_same_object/Program.cs (1 hunks)
  • tests/edge_cases/reconnect_same_object/ReconnectStreaming.csproj (1 hunks)
  • tests/expected_failures/exercise_timeout/ExerciseTimeout.csproj (1 hunks)
  • tests/expected_failures/exercise_timeout/Program.cs (1 hunks)
Files skipped from review as they are similar to previous changes (31)
  • Deepgram/Clients/Live/v1/Client.cs
  • Deepgram/GlobalUsings.cs
  • Deepgram/Logger/Log.cs
  • examples/analyze/intent/Analyze.csproj
  • examples/analyze/intent/Program.cs
  • examples/analyze/sentiment/Analyze.csproj
  • examples/analyze/sentiment/Program.cs
  • examples/analyze/summary/Analyze.csproj
  • examples/analyze/summary/Program.cs
  • examples/analyze/topic/Analyze.csproj
  • examples/analyze/topic/Program.cs
  • examples/prerecorded/file/PreRecorded.csproj
  • examples/prerecorded/file/Program.cs
  • examples/prerecorded/intent/PreRecorded.csproj
  • examples/prerecorded/intent/Program.cs
  • examples/prerecorded/sentiment/PreRecorded.csproj
  • examples/prerecorded/sentiment/Program.cs
  • examples/prerecorded/summary/PreRecorded.csproj
  • examples/prerecorded/summary/Program.cs
  • examples/prerecorded/topic/PreRecorded.csproj
  • examples/prerecorded/topic/Program.cs
  • examples/prerecorded/url/PreRecorded.csproj
  • examples/prerecorded/url/Program.cs
  • examples/speak/file/woodchuck/Program.cs
  • examples/speak/file/woodchuck/Speak.csproj
  • tests/edge_cases/keepalive/KeepAlive.csproj
  • tests/edge_cases/keepalive/Program.cs
  • tests/edge_cases/reconnect_same_object/Program.cs
  • tests/edge_cases/reconnect_same_object/ReconnectStreaming.csproj
  • tests/expected_failures/exercise_timeout/ExerciseTimeout.csproj
  • tests/expected_failures/exercise_timeout/Program.cs
Additional Context Used
Learnings (1)
Deepgram.Dev.sln (1)
User: dvonthenen"
PR: deepgram/deepgram-dotnet-sdk#253
File: Deepgram.Dev.sln:0-0
Timestamp: 2024-03-28T19:45:21.188Z
Learning: References to "Prerecorded" and other project names in the documentation and build scripts have been updated as part of the PR changes. Remaining mentions of "Prerecorded" in `Deepgram/README.md`, `examples/README.md`, and `README.md` were noted for potential review.
Additional comments not posted (1)
Deepgram.Dev.sln (1)

36-99: Ensure all newly added projects are correctly referenced in their respective directories and that project GUIDs are unique across the solution.

#!/bin/bash
# Verify that all project files exist at their specified paths
while read -r line; do
  if [[ $line =~ ^Project\( ]]; then
    project_path=$(echo "$line" | grep -oP '(?<=\, ").*(?="\, "{)')
    if [ ! -f "$project_path" ]; then
      echo "Missing project file: $project_path"
    fi
  fi
done < Deepgram.Dev.sln

# Verify that all project GUIDs are unique
grep -oP '(?<=\{)[A-F0-9\-]+(?=\})' Deepgram.Dev.sln | sort | uniq -d | while read -r guid; do
  echo "Duplicate GUID found: $guid"
done

examples/analyze/intent/conversation.txt Show resolved Hide resolved
examples/analyze/intent/conversation.txt Show resolved Hide resolved
examples/analyze/sentiment/conversation.txt Show resolved Hide resolved
examples/analyze/sentiment/conversation.txt Show resolved Hide resolved
examples/analyze/summary/conversation.txt Show resolved Hide resolved
examples/analyze/summary/conversation.txt Show resolved Hide resolved
examples/analyze/topic/conversation.txt Show resolved Hide resolved
examples/analyze/topic/conversation.txt Show resolved Hide resolved
@davidvonthenen davidvonthenen merged commit c5476f1 into deepgram:main Apr 3, 2024
4 checks passed
@davidvonthenen davidvonthenen deleted the refactor-live-client-part4 branch April 3, 2024 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants