Gå til innhold

Jaffe

Medlemmer
  • Innlegg

    3 591
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Jaffe

  1. Litt vanskelig å skjønne hva du spør om, men 1 << REFS0 betyr at tallet 1 bitshiftes til venstre, til den posisjonen hvor REFS0 befinner seg i registeret du skriver til. (REFS0 er ikke noe annet enn en konstant som er definert en eller annen plass, sikkert i ei headerfil som du inkluderer. Du kunne like gjerne skrevet 1 << 6, siden REFS0 viser seg å befinne seg i bit 6 av registeret.)

  2. Men disse noteverdiene og filter cutoff og PW-verdiene endrer seg vel ikke fra gang til gang, så har man først en tabell nedskrevet med lo/hi freq for C1, D1, E2, E3 osv eller filter cutoff 29 kan man vel bruke de tallene samme hver gang?

    Og rutinene for å initiere SID og velge waveforms og slikt er jo også copy/paste regner jeg med. Man må bare finne en metode og rutiner som gjør lavnivå-greiene minst mulig plagsomt. F.eks. modulering av pulsewidth er vel ikke bare å sette en LFO-hastighet på PW og en amount-verdi som man gjør på en vanlig synth, men man må lage en rutine som stepper gjennom alle tallene frem og tilbake mellom to punkter?

     

    Ja, akkurat. Verdiene for å angi frekvensen til de forskjellige notene er det bare snakk om å finne én gang (de finnes vel på nettet allerede) og lagre i en tabell. LFOer osv. må man implementere selv. Det man må/bør gjøre er som du sier å lage et generelt system som gjør dette. Man skriver f.eks. en subrutine som endrer LFO-ens verdi regelmessig (man kan f.eks. ha en tabell med verdier for de forskjellige bølgeformene man ønsker, da er det bare å slå opp i tabellen og finne ønsket verdi), en subrutine som tar LFO-verdien og bruker den til å endre PW, en som endrer frekvens, en for volum og så videre.

     

    Så må man (og dette er nok det vanskeligste) planlegge et format å lagre sangene i, og skrive koden som skal tolke dette formatet og sende den riktige informasjonen til de riktige komponentene (altså oppdatere frekvens når en ny note skal spilles, endre på volum hvis det skal være en pause, gjøre en glide mellom notene hvis det skal være portamento, osv.). Når et slikt system først er laget, er resten snakk om å "bare" skrive sangene i dette formatet. Man må fortsatt punche inn tall og så videre, men man driver ikke og manuelt skriver til registre hver gang noe i låten endrer seg; det er det de forskjellige subrutinene som tar seg av.

     

     

     

    Hva slags synther jeg har..skal vi se, har hatt ganske mange gjennom årene.

    Nå har jeg en Alesis Andromeda A6 (rein analog jævel), et par VA-synther som ligger og slenger (Roland Gaia bl.a.), et svært Analogue Systems modular-system (som jeg nesten aldri bruker), og et par vintage-synther fra 80 tallet, en Roland D-50 og Yamaha DX7.

     

    Var litt samlegal for noen år siden og har ikke vært noe flink å selge unna. Satt med en Yamaha Motif XF6 også helt frem til jul da jeg endelig turte å legge den ut til salg. Har ikke plass i min lille leilighet til å ha masse keyboards stående oppkoblet, så de blir heller lite brukt.

    Det siste jeg skaffet var en Arturia Minibrute.

     

    Det er jo en ganske omfattende samling. :) Har hørt/lest mye om Andromeda A6, det må jo være ganske nærme den perfekte polysynthen. Hva slags musikk lager du med dem? Jeg har selv en Juno-6 og skaffet meg nå nylig en Oberheim OB-8 som jeg har drevet og fikset litt opp (ordnet kontaktene i tangentene, kalibrerte alle stemmene på nytt, etc.). Den var ikke akkurat billig, men jeg tror ikke det skulle bli noe problem å evt. få solgt den. Det er kanskje fordelen med vintage synther; det ser ut som de bare stiger og stiger i pris... Og spesielt på et norsk marked der en del modeller er sjelden vare.

  3. Her er det bare å prøve å tenke litt på hva de forskjellige tallene egentlig betyr. Det som angir hvor fort slipeskiva snurrer er antallet omdreininger den gjør på et minutt, ikke sant? Den gjør 2500 stk per minutt. Hvor mange gjør den da per sekund? Det er 60 sekund i ett minutt. De 2500 omdreiningene må fordeles likt på antall sekund, ikke sant? Det skjer jo like mange omdreininger for hvert sekund av minuttet. Med andre ord har vi funnet ut at det skjer chart?cht=tx&chl=\frac{2500}{60} = 41 + \frac{1}{3} \approx 41.66 omdreininger per sekund. Tenk deg at du tegner en prikk på kanten av skiven. Hvor langt (hvor mange meter) snurrer den rundt for hver omdreining? Når du vet hvor mange omdreininger den tar på ett sekund, og du vet hvor mange meter det tilsvarer så har du det du trenger for å finne farten :)

    • Liker 1
  4. Det vanskeligste med å programmere SID-musikk er nok å lage seg et system som lar en komponere ting på en intuitiv og grei måte uten å måtte klusse med lavnivådetaljene hele tiden. Man bør vel helst være ganske så god i 6502-assembly også for å få det til.

     

    Akkurat det med low og high frequency er ganske vanlig (NES gjør det på tilsvarende måte). Registrene og databussen er bare 8 bit, mens frekvensen må oppgis mer nøyaktig enn som så (hvis ikke ville man fått en på 256 steg fra laveste tone til høyeste tone). Frekvensen i SID angis derfor med et 16-bits tall. Dette tallet er ikke den endelige frekvensen, men et tall som er proporsjonalt med den. Den resulterende frekvensen er chart?cht=tx&chl=f = f_n \cdot \frac{f_{clk}}{16777216 \text{Hz}}, der chart?cht=tx&chl=f_n er tallet du får når du setter sammen den lave og høye delen (low og high frequency-registrene). Pulse width og filter cutoff funker på tilsvarende måter.

  5. Som du sikkert skjønte gav jeg opp det forrige prosjektet, semesteret begynte igjen :p Men nå har jeg endelig begynt på et nytt prosjekt. Prøver å implementere Breakout, koden ligger her hvis noen skulle være interessert.

     

    Kanskje interessant for andre utviklerere er noen generelle prosedyrer som jeg merker jeg trenger med jevne mellomrom som jeg har samlet i en fil her. Det er stort sett operasjoner på "signed" tall (tall som kan være negative), som f.eks. absoluttverdi, aritmetisk right shift (deler på 2 som også fungerer med negative tall), og sammenligning av signed tall.

     

    Ser lovende ut så langt! Svært pen kode, får jeg legge til :). Breakout er jo på en måte det naturlige neste steget etter Pong. Du får holde meg/oss oppdatert.

     

    De subrutinene ser ganske nyttige ut. Når/hvis jeg fortsetter på guiden hadde det kanskje vært greit med en samling av slike også.

  6. Ja, lydgeneratoren (APUen) er ganske lik SID når det gjelder hvordan de programmeres, men SID er mye mer avansert. Den har tre oscillatorer (med valgfrie bølgeformer), et analogt HP/BP/LP-filter, ring-modulatorer, ADSR-enveloper (ikke kun decay slik NES har), og så videre. SID ligner mye mer på klassiske subtraktive synther når man ser på arkitekturen. Det var også målet til designeren Bob Yannes, men Commodore gav ham for lite tid til å lage noe som kunne konkurrere på proff-markedet (mot CEM-chippene med andre ord).

     

    APU-en i NES er mer som en slags mellomting mellom rene "pipelydgeneratorer" og SID. Det eneste litt kule med APU-en er at den har en deltamodulasjonskanal som kan spille av samples. Ellers er det mye mindre spillerom med APU-en enn det er med SID, så det er ikke så lett for en composer å legge sitt avtrikk på NES-musikk.

     

    Det er ganske sykt hva de fikk til på 80-tallet, uten tvil! Man må også huske på at når C64 kom så var jo SID en lydchip med uhørt god kvalitet blant de rimelige hjemmedatamaskinene. Det var nok for mange den første muligheten til å faktisk programmere ordentlig musikk på en datamaskin. Det må ha vært ganske motiverende :)

  7. Gode minner! Jeg hadde ikke den beryktede Celeron 300A, men hadde enn 466 som jeg fikk opp til 581 MHz ved å skru FSB-klokka opp til 83MHz (maskinen boota også på 700MHz, men da var den veldig ustabil.) Kjørte Farcry på den PC-en i sin tid, med et ATI Radeon 9200-kort, som antagelig gjorde den største jobben.

     

    Jeg husker også godt blyant-trikset man kunne gjøre på noen AMD T-Bird-prosessorer: Ved å koble sammen noen komponenter på CPU-kortet med en blyantstrek ble multiplikatoren ulåst, og man kunne endre denne i BIOS (på hovedkort som støttet det). Mener å huske at folk oppnådde sinnsvake resultater på disse CPU-ene.

  8.  

    Kan du si noe om selve undervisningsmaterialet? Gjerne sammenlignet opp mot å ta fagene på campus.

     

     

    Jeg er skeptisk til bevistunge fag generelt. Tok jo ma1101 og ma1201 mens jeg var i Trondheim.

     

    Har funnet ut at jeg trives veldig godt med nettstudier. Begynte på informasjonsbehandling på HIST forrige høst, og ser at nettstudier fungerer utrolig godt for meg - men savner litt utfordrende teori.

     

    Jeg har vært studass på noen helgesamlinger for MA6101 (fjernstudieversjonen av MA1101), og fikk inntrykk av at opplegget egentlig var veldig likt campusversjonen. Det var faglærer i MA1101 som hadde ansvaret for det, og øvingene var akkurat de samme. Pensum var også likt, og det var felles eksamen for MA1101 og MA6101. Jeg er ikke sikker på om det ble gitt noe ekstra material spesielt for fjernstudentene, men jeg vet at de fikk løsningsforslag til øvingene i etterkant (i motsetning til de som gikk MA1101).

×
×
  • Opprett ny...