Viikon 5 dokumentaatio
This commit is contained in:
parent
88a86b3641
commit
5b48bd9d53
6 changed files with 23 additions and 6 deletions
|
@ -17,3 +17,5 @@
|
|||
[Viikko 3](https://github.com/ArcticCoder/markov-music-generator/blob/main/dokumentaatio/viikko3.md)
|
||||
|
||||
[Viikko 4](https://github.com/ArcticCoder/markov-music-generator/blob/main/dokumentaatio/viikko4.md)
|
||||
|
||||
[Viikko 5](https://github.com/ArcticCoder/markov-music-generator/blob/main/dokumentaatio/viikko5.md)
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 45 KiB |
|
@ -3,7 +3,7 @@
|
|||
## Koodin testaus
|
||||
|
||||
### Testien toteutus
|
||||
Automaattinen yksikkötestaus on toteutettu pytest-kirjastolla ja testikattavuuden raportoinnin hoitaa coverage-kirjasto.
|
||||
Automaattinen yksikkötestaus on toteutettu pytest-kirjastolla ja testikattavuuden raportoinnin hoitaa coverage-kirjasto. Aiheen kannalta keskeistä subjektiivista testausta olen toteuttanut generoimalla melodioita ohjelman avulla.
|
||||
|
||||
### Ohjeet
|
||||
Ennen testien suorittamista tulee pytest- ja coverage-kirjastot olla asennettuna käytössä olevassa ympäristössä. Testit saa suoritettua kommennolla
|
||||
|
@ -16,11 +16,15 @@ projektin juurikansiosta. Testikattavuusraportin voi luoda juurikansiosta komenn
|
|||
|
||||
Tämän jälkeen raportti löytyy tiedostosta `htmlcov/index.html`.
|
||||
|
||||

|
||||

|
||||
|
||||
## Subjektiivinen testaus
|
||||
Generoin koodin nykyisellä versiolla 4:nnen asteen Markovin ketjulla lyhyen melodian. Vertailukohtana generoin täysin sattumanvaraisen melodian. Mielestäni ero on huomattava, varsinkin kun otetaan huomioon Markovin ketjujen yksinkertaisuus.
|
||||
Viikko 4: Generoin koodin nykyisellä versiolla 4:nnen asteen Markovin ketjulla lyhyen melodian. Vertailukohtana generoin täysin sattumanvaraisen melodian. Mielestäni ero on huomattava, varsinkin kun otetaan huomioon Markovin ketjujen yksinkertaisuus.
|
||||
|
||||
[Markovin ketju](https://github.com/ArcticCoder/markov-music-generator/blob/main/dokumentaatio/testi1-aste4.mp3)
|
||||
Viikko 5: Toteutin tällä viikolla manuaalisen rytmin määrittämisen. Generoin 80 lyhyen melodian yksinkertaisella kahden tahdin välein toistuvalla rytmillä. Yllätin siitä kuinka paljon yksinkertainenkin rytmi "elävöitti" generoitua melodiaa.
|
||||
|
||||
[Viikko 4](https://github.com/ArcticCoder/markov-music-generator/blob/main/dokumentaatio/testi1-aste4.mp3)
|
||||
|
||||
[Viikko 5](https://github.com/ArcticCoder/markov-music-generator/blob/main/dokumentaatio/testi-rytmi-aste11.mp3)
|
||||
|
||||
[Sattuma](https://github.com/ArcticCoder/markov-music-generator/blob/main/dokumentaatio/testi-sattuma.mp3)
|
||||
|
|
BIN
dokumentaatio/testi-rytmi-aste11.mp3
Normal file
BIN
dokumentaatio/testi-rytmi-aste11.mp3
Normal file
Binary file not shown.
11
dokumentaatio/viikko5.md
Normal file
11
dokumentaatio/viikko5.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Viikkoraportti 5
|
||||
|
||||
Toteutin tällä viikolla toisen kurssilaisen projektin vertaisarvioinnin ja toteutin vertaisarvioinnissa saamiani ehdotuksia. Kirjoitin ohjeita niin ohjelmaan, opetusdataan ja tuotettuihin melodioihin liittyen. Lisäksi selvitin käyttämäni datan lisenssit niin, että pystyin lisäämään MIDI-tiedostot suoraan repositorioon. Generoin kattavan .pylintrc-konfiguraatiotiedoston ja paransin MIDI-käsittelijän testausta. Tämän myötä huomasin ja korjasin ohjelmointi virheen kyseisessä moduulissa. Lisäksi paransin syötteiden validointia.
|
||||
|
||||
Varsinainen toiminnallisuus edistyi tällä viikolla sen verran, että ohjelmalle voi määrittää mielivaltaisen rytmin, jota toistetaan tarvittava määrä. Esimerkiksi merkkijono "1/4|1/4|1/2" johtaa siihen, että lopullisessa tiedostossa on aina kaksi neljäsosanuottia ja niiden jälkeen puolinuotti.
|
||||
|
||||
Seuraavalla viikolla jatkan erilaisten rytmingenerointi järjestelmien testaamista ja toteuttamista.
|
||||
|
||||
Tässä vielä esimerkkinä tämän viikon ohjelmistolla generoitu [melodia.](https://github.com/ArcticCoder/markov-music-generator/blob/main/dokumentaatio/testi-rytmi-aste11.mp3)
|
||||
|
||||
Aikaa käytin tällä viikolla noin 12h.
|
|
@ -8,8 +8,8 @@ class TestMidiKasittelija(unittest.TestCase):
|
|||
if os.path.exists(testi_polku):
|
||||
os.remove(testi_polku)
|
||||
|
||||
nuotit = [60, 62, 64, None]
|
||||
kirjoita_midi(testi_polku, nuotit)
|
||||
nuotit = [60, 62, 64, 66, 68, None]
|
||||
kirjoita_midi(testi_polku, nuotit, tempo=120, rytmi="1/4|1")
|
||||
luetut_nuotit = lue_midi(testi_polku)[0]
|
||||
self.assertEqual(nuotit[:-1], luetut_nuotit)
|
||||
|
||||
|
|
Reference in a new issue