mirror of
https://gitlab.dit.htwk-leipzig.de/computermusik-ws23/data-composition.git
synced 2025-05-19 04:31:47 +02:00
47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
import Text.Read
|
|
import Data.Maybe
|
|
import Sound.Tidal.Chords
|
|
import TemperatureData
|
|
import HumidityData
|
|
import BatteryData
|
|
|
|
|
|
d1 $ s "bd"
|
|
|
|
getNum value scalar = fromInteger $ round $ (maybe 0.0 id (readMaybe value :: Maybe Float)) * scalar
|
|
sliceList start end list = take (end - start + 1) (drop start list)
|
|
|
|
|
|
let temperatureScalar = 10
|
|
temperaturePattern = scale "major" (fromList (map (\x -> getNum x temperatureScalar) (map (\x -> snd x) (take 10 temperaturedata))) |- 150)
|
|
temperature = fast 4 $ n ("x(3,5)" |> temperaturePattern + "['maj | 'min]" )# s "superpiano" # room 0.5
|
|
in d1 $ temperature
|
|
|
|
|
|
|
|
let batteryScalar = 5
|
|
battery = n ("x(3,5)" |> batteryPattern + "['maj | 'min]" )# s "jvbass" # room 0.5
|
|
in d2 $ battery
|
|
|
|
batteryScalar = 5
|
|
batteryPattern = scale "major" (fromList (map (\x -> getNum x batteryScalar) (map (\x -> snd x) (sliceList 500 510 batterydata))) |- 150)
|
|
battery = n ("x(3,5)" |> batteryPattern + "['maj | 'min]" )
|
|
queryArc battery (Arc 0 2)
|
|
|
|
queryArc temperature (Arc 0 2.5)
|
|
|
|
d1 $ fast 10 $ append (n (fromList (map (\x -> fromInteger (round ((getFloat x)*10))) (map (\x -> snd x) (take 100 temperaturedata))))) ("~!10") # s "jvbass" # room 0.5 # delay 0.7
|
|
|
|
d2 $ fast 10 $ n (fromList (map (\x -> fromInteger (round ((getFloat x)*5))) (map (\x -> snd x) (take 100 humiditydata)))) # s "arpy" # room 0.5 # delay 0.7
|
|
|
|
d1 $ trigger $ s "<bd sn*4 bd sn*2>"
|
|
|
|
d1 $ n ( run 10) # s "v"
|
|
:t map (\x -> getMaybeFloat (snd x)) (take 100 temperaturedata)
|
|
|
|
queryArc (n("c'maj f4'maj'ii g4'maj'i c'maj")) (Arc 0 1)
|
|
|
|
scaleTable
|
|
|
|
|
|
chordTable |