How to create a pulsing sound/use duty cycle
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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))); %...
0 commentaires
Réponse acceptée
Chunru
le 15 Nov 2023
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)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Multirate Signal Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!