How to create a pulsing sound/use duty cycle

Illustration
Mason - 2024-03-11T14:57:28+00:00
Question: How to create a pulsing sound/use duty cycle

Im trying to recreate the busy tone on matlab, the tone will have 60 interruptions per minute (50% duty cycle) and I already have the dual tone frequency set. The issue is I have no idea how to make the audio pause 60 times per minute without a long code or looping. Is there a way to utilize the duty cycle to make this easier or shorter, or do I settle with a loop?     Fs = 8000; %# Samples per second tone1 = 480; %# Tone 1 frequency, in Hertz tone2 = 620; %# Tone 2 frequency, in Hertz nSeconds = 2; %# Duration of the sound y = sin(linspace(0, nSeconds*tone1*2*pi, round(nSeconds*Fs)))... % Dual tone frequency + sin(linspace(0, nSeconds*tone2*2*pi, round(nSeconds*Fs))); %...  

Expert Answer

Profile picture of John Michell John Michell answered . 2025-11-20

It seems that nSeconds should be 0.5s. Each pause should be also 0.5s. Thus it repeats 60 time in a min.

 

Fs = 8000;      %# Samples per second
tone1 = 480;    %# Tone 1 frequency, in Hertz
tone2 = 620;    %# Tone 2 frequency, in Hertz
nSeconds = 0.5;   %# Duration of the sound
ns = round(nSeconds*Fs);
t = (0:ns-1)'/Fs;

y = sin(2*pi*tone1*t)...    % Dual tone frequency
  + sin(2*pi*tone2*t); 

y = [y; zeros(ns,1)];       % add pause

y = repmat(y, 60, 1);       % repeat 60 times

plot((0:length(y)-1)/Fs, y)

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!