From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Continuous sine wave with dynamically changing frequency

Hey everyone,

 

I'm using LabVIEW 2010 together with a myDAQ. I'm trying to change the frequency of a sine wave dynamically based on an analog input from the myDAQ. The sine wave will eventually be output to a speaker as a demonstration for how the frequency of a sine wave is related to the pitch of the resulting tone.

 

I am using a while loop to update the frequency of the sine wave based on the input of the myDAQ. Everything is okay except that because I have to update every x seconds (the loop restarts), the speakers have a nasty little jolt due to the discontinuity when the loop restarts. To avoid this problem, I was wondering if anyone knows of a VI that produces a sine wave and has a function for dynamically changing frequency so I can avoid the loop and thus the periodic start/stops of the sine wave, or, alternatively, if anyone can think of a better way to approach this problem. I'm hoping that it is possible in LabVIEW without the help of something like LabVIEW Real-Time or something.

 

Also - can anyone tell me more about the Play Waveform VI? I'm using that to play the sine wave with the speakers, but occasionally the buffer fills up or something and I get an error message telling me that it is trying to read samples that don't exist anymore. It suggests that I change some parameters, but the Play Waveform VI doesn't allow me to change anything.

 

Thanks,

Matt

 

0 Kudos
Message 1 of 2
(3,388 Views)

Update - Not to answer my own question, but I think I may have gotten it.

 

I'm using the Sound VIs now instead of the Play Waveform VI. From what I read there's a buffer in there that helps smooth out the transition between loop iterations. It works as intended. Also, my last problem about samples not being read was also due to a sampling mismatch in my DAQ Assistant I believe. All is right with the world again 🙂

0 Kudos
Message 2 of 2
(3,373 Views)