Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
25
Task/Musical-scale/Julia/musical-scale.julia
Normal file
25
Task/Musical-scale/Julia/musical-scale.julia
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
using PortAudio
|
||||
|
||||
function paudio()
|
||||
devs = PortAudio.devices()
|
||||
devnum = findfirst(x -> x.maxoutchans > 0, devs)
|
||||
(devnum == nothing) && error("No output device for audio found")
|
||||
return PortAudioStream(devs[devnum].name, 0, 2)
|
||||
end
|
||||
|
||||
function play(ostream, pitch, durationseconds)
|
||||
sinewave(t) = 0.6sin(t) + 0.2sin(2t) + .05sin(8t)
|
||||
timesamples = 0:(1 / 44100):(durationseconds * 0.98)
|
||||
v = Float64[sinewave(2π * pitch * t) for t in timesamples]
|
||||
write(ostream, v)
|
||||
sleep(durationseconds * 0.9)
|
||||
end
|
||||
|
||||
# C major scale starting with middle C
|
||||
# pitches from //pages.mtu.edu/~suits/notefreqs.html
|
||||
const scale = [261.6, 293.7, 329.6, 349.2, 392, 440, 493.9, 523.3]
|
||||
const ostream = paudio()
|
||||
for pitch in scale
|
||||
play(ostream, pitch, 0.5)
|
||||
sleep(0.4)
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue