I removed ChatGPT API feature from this repo. For that, please read my article: https://www.codeproject.com/Tips/5377103/ChatGPT-API-in-Csharp-WPF-XAML-MVVM
GitHub source code: https://github.com/psun247/CSharpWpfChatGPT
WPF Shazam identifies songs like the popular mobile app Shazam and saves song info in Azure SQL DB via Web API / gRPC service or in SQL Server DB.
Listen to a device (mic or speaker) selected from the dropdown list. When identified, a list of songs will be displayed, plus lyrics (if found) will be shown on the right side of the screen. Usually, you could select a song from the list to save it with the lyrics in Azure SQL DB (via Web API or gRPC service) or SQL Server DB. Note that you can now add a song/video to Azure SQL DB without going through the Shazam listening.
You can open currently selected YouTube video externally with default web browser.
Saved song info list in Azure SQL DB (via Web API or gRPC service) will be displayed in the left panel. When an item is selected in the list, the matching YouTube video will display on the right side.
You can delete a selected item in the list via Web API or gRPC service.
Similar to Azure / gRPC tab, but data store is a local SQL Server DB. Note: SQL Server needs to be installed and configured properly, and connection string change in SqlServerContext.cs will be required.
Since SQL Server is assumed not installed, default mode on this tab is Demo that shows a predefined read-only list.
Build WpfShazam.sln with Visual Studio Professional 2022 (64-bit) or Community version. This app is targeted for .NET 6 and 8. If .NET 8 is not installed on your computer, remove net8.0 from WpfShazam.csproj and ShazamCore.csproj and compile the WpfShazam.sln.
To run WpfShazam app without compiling it,
- Click WpfShazam_v1.2 under Releases on the right side of this page
- Download WpfShazam_v1.2_net6.0-windows.zip
- Unzip the file and run WpfShazam.exe
Audio devices will be automatically queried and displayed in the dropdown list. You will need to select a proper device for 'Listen to'. Add and Delete buttons are for Azure SQL DB (via Web API or gRPC service) or SQL Server DB. The blue arrow on the right side of the screen will expand or collapse the song info section.
This is WinUI 3 version of WfpShazam. For details, run WinUI3Shazam.sln and see source code in WinUI3Shazam folder.
CommunityToolkit.Mvvm
https://www.nuget.org/packages/CommunityToolkit.Mvvm
Microsoft Authentication Library (MSAL) for .NET (formerly named Azure AD)
https://www.nuget.org/packages/Microsoft.Identity.Client/
ModernWpfUI
https://www.nuget.org/packages/ModernWpfUI/
NAudio
https://www.nuget.org/packages/NAudio
RestoreWindowPlace