Category: Microsoft
Category Archives: Microsoft
Displaying Categories in a Group Calender
In Outlook desktop …. When a user sets up a 2nd calendar to share with team members, they are able to see the category assigned to each meeting or event, however when one sets up a group calendar (all users are owners) categories are unique to the individual user’s outlook setup.
Is there a way to assign categories to meetings so that ALL users can see them?
In Outlook desktop …. When a user sets up a 2nd calendar to share with team members, they are able to see the category assigned to each meeting or event, however when one sets up a group calendar (all users are owners) categories are unique to the individual user’s outlook setup. Is there a way to assign categories to meetings so that ALL users can see them? Read More
Ignore the Hype Surrounding the Copilot Announcement
Microsoft’s January 15 announcement reduced deployment costs and opened the possibility for Copilot for Microsoft 365 deployments to many Office 365 tenants. Reducing costs is great, but just because Copilot for Microsoft 365 is now available to many more tenants doesn’t mean that it is a silver bullet to address all IT woes.
https://office365itpros.com/2024/01/18/copilot-for-microsoft-365-deployment/
Microsoft’s January 15 announcement reduced deployment costs and opened the possibility for Copilot for Microsoft 365 deployments to many Office 365 tenants. Reducing costs is great, but just because Copilot for Microsoft 365 is now available to many more tenants doesn’t mean that it is a silver bullet to address all IT woes.
https://office365itpros.com/2024/01/18/copilot-for-microsoft-365-deployment/ Read More
Is Co Pilot Pro available as a benefit for partners? We’d like to experiment and learn more
We have developed a chat based service desk application that integrates with MS Teams, leverages a lot of services via Azure Open AI, and routes to service desk agents (https://www.chimev5.com/). We also have a lot of customers who are starting to explore, and deploy, Copilot and Copilot Pro.
We imagine that we may want to integrate with Copilot Pro and we’d like to deploy an internal instance, connect with some data providers, and generally consider integration avenues.
Is Copilot Pro an available benefit as part of the MS Partner program?
Thanks
We have developed a chat based service desk application that integrates with MS Teams, leverages a lot of services via Azure Open AI, and routes to service desk agents (https://www.chimev5.com/). We also have a lot of customers who are starting to explore, and deploy, Copilot and Copilot Pro. We imagine that we may want to integrate with Copilot Pro and we’d like to deploy an internal instance, connect with some data providers, and generally consider integration avenues. Is Copilot Pro an available benefit as part of the MS Partner program? Thanks Read More
Continued region expansion: Azure Data Factory is generally available in two more regions
Azure Data Factory is now available in two new regions:
Israel Central
Italy North
You can now provision Data Factory in the new regions in order to co-locate your Extract-Transform-Load logic with your data lake and compute.
See the full set of Azure Data Factory supported regions.
Microsoft Tech Community – Latest Blogs –Read More
Microsoft 365 Group Calendar Reminder
Hi,
My team recently created a Group calendar which we are using to establish visibility across the group for interlated meetings. I notice that when a meeting is created in this calendar, the Outlook does not send an upcoming appointment reminder as it does for my personal calendar. Can this be enabled?
Hi, My team recently created a Group calendar which we are using to establish visibility across the group for interlated meetings. I notice that when a meeting is created in this calendar, the Outlook does not send an upcoming appointment reminder as it does for my personal calendar. Can this be enabled? Read More
Announcing the availability of the new gMSA on AKS workshop
gMSA is the technology behind the support for Active Directory dependent applications to run on Kubernetes. Over time, we’ve been adding a lot of resources around it, such as PowerShell modules (to help with the configuration process), documentation, scripts, and more. The reason behind this is that on one side, gMSA is incredibly popular (of course, anyone trying to containerize a Windows app that relies on AD for authentication will use it), but also because it is somewhat complex to configure it. Setting up gMSA means you have to configure your Kubernetes cluster, the networking between the cluster and Domain Controller(s), the secret store (such as Azure Key Vault), the Domain Controller itself, and so on…
Because so many resources need to be configured, many customers have a hard time to see how gMSA actually works before doing it in production. Today, we’re glad to announce that you can now try gMSA on AKS with a guided workshop. This workshop still requires a subscription for you to use, but all the other configurations can be implemented by following the workshop’s instructions. We plan to upgrade this into a self-contained workshop in the future.
What is part of the workshop
This is an end-to-end workshop on which you can start with a net-new subscription (or an existing one, of course) and build everything from scratch. The workshop covers briefly what gMSA is and how it’s used.
The workshop has the following objectives:
Provide an overview of gMSA on AKS, necessary components, and how to set up an environment for a Windows app that requires Active Directory authentication.
Understand how the AksGMSA PowerShell module helps in the process of configuring gMSA on AKS.
Understand the flow of configuring gMSA on AKS and how the multiple resources interact with each other.
The workshop is divided into seven exercises:
Exercise 01 – Spinning up Azure environment
Here you will deploy the base services to get started. You will use a script to deploy the Resource Group, the Virtual Network and Subnet, the AKS cluster and the Windows node pool. The script will also deploy a VM to be used as domain controller.
Exercise 2 – Configure Active Directory
Here we will prepare the VM and the Active Directory domain to use gMSA. A script is provided to deploy AD into the VM.
Exercise 3 – Enable Azure Bastion to RDP into DC01 VM and take note of additional resources
To reduce costs, we will only use one VM in this workshop, so we will also use this VM (which is our Domain Controller) for other purposes – which is not recommended in production. To securely access the VM, we will enable Azure Bastion.
Exercise 4 – Configure the AksGMSA PowerShell module on the DC01 VM
This is where most of the gMSA configuration is passed to the AksGMSA PowerShell module on the DC01 VM. The provided script and module will set up gMSA on AKS later and in this exercise, we pass on the configuration we want to be used later.
Exercise 5 – Deploy gMSA on AKS and configure AD and Azure resources
This where the configuration for gMSA on AKS happens. Using the information provided before, we run the commands for the AksGMSA module and set up the gMSA on AKS, configure AD, create the Azure Key Vault, Managed Identity, and all other configurations.
Exercise 6 – Validate the deployment of gMSA on AKS
Once gMSA on AKS has been deployed and configured, you can use the AksGMSA module to validate the configuration and communication between the AKS cluster and the AD domain. This exercise uses the native commands on the module to validate everything is in place.
Exercise 7 – Deploy IIS with Windows authentication enabled
Validating that gMSA has been deployed correctly is not as cool as seeing an application working properly. In this exercise, we deployed a very simple, sample application to see the authentication actually happening. We deploy a Windows pod to the AKS cluster, with an IIS website setup to use Windows authentication and then open the website to see the authentication pop-up, provide the username and password, and see the website open.
At the end, there’s an exercise to clean up the environment and ensure you’re not being charged for this any further.
Hopefully this workshop provides a good overview of how gMSA on AKS works. Feel free to go wild and try different things, try your own app, your own set up. And let us know what you think and how we can improve not only the workshop itself but the whole gMSA on AKS experience.
Microsoft Tech Community – Latest Blogs –Read More
How to Convert Audio to .WAV for Speech Service Using MoviePy
Azure Speech Service offers robust speech recognition, translation, text-to-speech and many more capabilities, providing developers with powerful tools to integrate voice-based interactions into their applications.
However, to ensure seamless compatibility and optimal performance, Azure Speech Service requires audio files to adhere to specific standards regarding format, bitrate, sampling rate, and channel configuration. Let’s dive into how we can use Moviepy to convert your different audio files to Azure Speech Service Compatible.
Leveraging MoviePy for Audio Conversion
According to its documentation, MoviePy is a Python module for video editing, which can be used for basic operations (like cuts, concatenations, and title insertions), video compositing (a.k.a. non-linear editing), video processing, or to create advanced effects. It can read and write the most common video formats, including GIF.
MoviePy is a powerful Python module primarily designed for video editing but equally adept at manipulating audio. Let’s explore how MoviePy can help convert various audio formats to comply with Azure Speech Service requirements.
Understanding Azure Speech Service Audio Requirements
For the use case being discussed in this article, we would need to know the audio configurations. Azure Speech Service demands audio files in the WAV format with specific bitrate, sampling rate, and channel configurations. Here are the key criteria:
File Format: WAV (Microsoft PCM)
Bit Depth: 16-bit
Sampling Rate: 16 kHz or 8 kHz (some scenarios support 32 kHz or 48 kHz)
Channels: Mono or Stereo (Mono recommended for speech recognition)
Bitrate: 256 kbps (kilobits per second) for mono, 512 kbps for stereo
Codec: PCM (Pulse Code Modulation)
File Size: Generally, up to 4 GB for continuous recognition
Step-by-Step Guide
Now to convert your audio file in a different format to have these configurations, follow the steps below.
Step 1 – Install Moviepy
Begin by installing MoviePy using the command pip install moviepy in your terminal. This would install all the dependencies needed to run Moviepy in your Python environment along with Moviepy.
Step 2 – Import Required Functions
Import required attributes from MoviePy’s editor method, particularly AudioFileClip, which will help load and manipulate audio files. It has a method you can call to set the output file and format, bitrate and all configurations necessary.
from moviepy.editor import *
or
from moviepy.editor import AudioFileClip
Step 3 – Load the Audio File
Load your audio file using the AudioFileClip method. This method takes in the audio file path and loads up your audio file as a Moviepy AudioFileClip format that can be manipulated to the file format required for compatibility with Azure Speech Service API and/or SDK.
Assuming the file format is .ogg and the file is saved as audio.ogg, load the file as shown below. Ensure to use a relative path if the audio file is in a different directory from your Python script.
audioclip = AudioFileClip(“audio.ogg”)
Step 4 – Set Audio Configurations
Define the audio parameters necessary for compatibility as required for your solution.
audio_params = {
“codec”: “pcm_s16le”,
“fps”: 16000, # Set the desired sampling rate: 16000 Hz
# “fps”: 8000, # Alternatively, set the sampling rate to 8000 Hz
“nchannels”: 1, # Mono audio
“bitrate”: “16k” # Set the desired bitrate
}
Step 5 – Pass Configurations Parameters and Convert Audio
Define the file path for the output. Since we want to convert our audio file to .wav format, we would define a file with the extension .wav.
Pass the defined required audio parameters that you have defined to the write_audiofile method from AudioFileClip. This would convert the audio file to the extension you have defined in your output file path and also configure the audio to all the parameters you have set and passed into the method.
output_file = “audio.wav”
audioclip.write_audiofile(output_file, codec=audio_params[“codec”],fps=audio_params[“fps”],nbytes=2,bitrate=audio_params[“bitrate”])
Step 6 – Load Your New Audio File to Use with Azure Speech Service
Your new audio file should be located in the file path you have defined. If you followed the naming convention above, you would find your “audio.wav” file in the same directory as your python script/code. You can then load up this file with the Azure Speech Service SDK (for example) to create a simple transcription solution. A simple sample is found below:
After getting your Speech Service key and region from your Azure portal and saving them as environment variables, follow the code below to test run with your new audio file.
import os
import azure.cognitiveservices.speech as speechsdk
def recognize_from_file():
# This example requires environment variables named “SPEECH_KEY” and “SPEECH_REGION”
speech_config = speechsdk.SpeechConfig(subscription=os.environ.get(‘SPEECH_KEY’), region=os.environ.get(‘SPEECH_REGION’))
speech_config.speech_recognition_language=”en-US”
audio_config = speechsdk.audio.AudioConfig(filename=”audio.wav”)
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
speech_recognition_result = speech_recognizer.recognize_once_async().get()
if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech:
print(“Recognized: {}”.format(speech_recognition_result.text))
elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch:
print(“No speech could be recognized: {}”.format(speech_recognition_result.no_match_details))
elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled:
cancellation_details = speech_recognition_result.cancellation_details
print(“Speech Recognition canceled: {}”.format(cancellation_details.reason))
if cancellation_details.reason == speechsdk.CancellationReason.Error:
print(“Error details: {}”.format(cancellation_details.error_details))
print(“Did you set the speech resource key and region values?”)
recognize_from_file()
This example uses the recognize_once_async operation to transcribe utterances of up to 30 seconds, or until silence is detected.
This sample code was taken from the Azure Speech Service Documentation. You can explore more on the Azure Speech Service through the documentation. You can also watch this tutorial on building transcription and translation services with the Azure Speech Service and Translator service from the video below.
<!–
%[https://youtu.be/ikNPMomeZKs?si=Bup8lJ5P-voImVqc]
–>
Conclusion
MoviePy simplifies the process of converting audio files to the precise format required by Azure Speech Service. By adhering to these guidelines and utilizing MoviePy’s flexibility, you can seamlessly prepare your audio data for optimal performance within Azure’s powerful Speech Service.
That’s it!!! We have successfully converted our audio to be compatible with Azure Speech Service.
Additional Resources
1. Recognize and convert speech to text using Python
2. Sign up for free Azure credits
3. Process and Translate Speech with Azure AI Speech Services
4. Get started with Azure Cognitive Services Speech
5. Translate speech with Azure AI Speech Service
Microsoft Tech Community – Latest Blogs –Read More