matlab - 带有键盘功能的Matlab声音
问题描述
我必须声明这个函数,其中 phi 是从 0 到 2pi 的随机值
$$x(n)=A \cos (2 \pi fn T+\phi)$$
必须像这样声明它并用声音使用它
createWaveform(频率,fs,持续时间,A)
现在我已经做到了
createWaveform(440,8000,2,1);
function createWaveform(frequency,fs,duration,A)
n = linspace(0,duration-1/fs,duration*fs);
for i= 1:duration
sound(A*cos(2*pi*frequency*n(i)+(2*pi).*rand(1,1)));
end
end
function [tone] = note(keynum,relDuration,fullDuration,fs)
basetone = 440;
frequency = basetone * nthroot(2,12)^(keynum-49);
[tone]=createWaveform(frequency,fs,relDuration*fullDuration,1);
end
这样做了,声音仍然很奇怪,没有真正的音调,就像敲破麦克风一样
解决方案
推荐阅读
- python-3.x - 如何从 callback_query 对象编辑内联键盘?
- java - 我们可以为每个 spout 分别设置 MessageTimeoutSecs 吗?
- android - computeFrames 选项不支持 JSR/RET - Android Studio 4.2.1
- python - 如何在obspy中设置零相位带通滤波器的阶数
- c - 学习 C - 测试数据类型
- angular - 以角度存储游戏状态的模式
- ios - 通知内容扩展中的 SwiftUI?
- sql-server - 为什么在多行语句中违反约束后 pyodbc 不给我一个错误
- r - 如何对R中igraph图中的重复值进行排序?
- vue.js - 我可以在 Vuetify 中自定义 v-dialog__content 吗?