Jump to content

Rio

Members
  • Posts

    712
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Rio

  1. hier noch ein letztes Beispiel in zusammenspiel mit Beats etc.. und ich hab ne Userseite angelegt:... http://www.midibox.org/dokuwiki/doku.php?id=rio k2mod11.mp3
  2. 8) k2mod8.mp3 k2mod9.mp3
  3. ;) k2mod3.mp3 k2mod5.mp3 k2mod7.mp3 k2mod10.mp3
  4. ok hier mal ein paar impressionen, wie denn die Änderungen am Speakjet direkt klingen ;D: k2mod1.mp3 k2mod2.mp3 k2mod4.mp3
  5. Also ich hab erstmal den Bug soweit lokalisiert: Es hängt tatsächlich daran, wenn das 1/2Envelope Bit am SpeakJet gesetzt ist, und tritt auch bei allen anderen Funktionen auf, wo die OSC4und5 dann gespielt werden (also nicht nur bei der OSCSynthese). Unklar ist mir nur warum?? Vorallem tritt das erst in Frequenzen auf, höher als 1500Hz... und ja es tritt sowohl auf wenn das Envelope für OSC123 gesetzt oder nicht gesetzt ist. Ist jedoch das Envelope für OSC123 alleine gesetzt gibt es überhaupt keine Probleme! Kann es sich hierbei um ein zeitkritisches Problem am SpeakJet handeln, da ja hier die Tonhöhe für das Envelope, für die OSCs und für das 1/2 Envelope gesetzt wird? Also ich hab mal im Phraselator wie ein wilder an den OSC4 und 5 Einstellungen rumgedreht.. da tritt das Problem nicht auf (da kann ich aber nicht alle einstellungen zur gleichen zeit verändern). Ist vielleicht die Baudrate zu gering? Mit welcher Baudrate wird per MIDI am SpeakJet kommuniziert (19200 oder 9600 (Std))? ..hab ich mir angeschaut - alles probiert - alles ist beim alten geblieben - keine Änderung des Problems! nein. Die Volumen Begrenzung ist nur relevant für die OSC123 und nicht für OSC45! somit ist das ok in dem Array..sonst hätte ich das aber auch schon tierisch knacken hören müssen... naja bei deiner Sache, waren ja beide Envelope-Typen immer an und es wird ja bei jedem neuen Anschlag MSA_STOP ausgeführt OSCs komplett ausgeblendet und dann wieder aktiviert... (das hatte jedoch zum teil auch zum Knacksen beim Anspielen beigetragen) - ich habe mal das Envelope in deinem Code deaktiviert und siehe da es wird einfach von geisterhand wieder aktiviert nach ner weile... - war also genauso unklar - hab ich auch nicht verstanden, auf jeden fall hat es den Envelope nicht seperat behandelt. Sollten wir das Problem nicht irgendwie determiniert kriegen, würde ich sagen belassen wir es erstmal für ein Release auf: Envelope an und Envelope aus für OSC123. (Env für 4 und 5 wird vernachlässigt...) jo na dann schick ich dir das mal per mail vorab. Ich kann ja mal einen Artikel zu meinem gesamten Projekt (Bilder), den Erweiterungen in der K2 und mit ein paar soundbeispielen auf meine Userpage in der Dokuwiki reinsetzen. Ich muss nur noch heute noch das wichtigste durchkommentieren ;) Beste Grüße, Rio.
  6. na dann viel spass beim weiteren bau ;)
  7. ..accurate! @rainer: yes i use only "for loop" for that with PrintChar... seems that is fast enough.. i don't know another solution..
  8. hi audiocommander, also ich wäre dann fast soweit, die modifizierte Applikation erstmal zu veröffentlichen. Ich werde morgen (im Laufe der Woche) bei Userproject und in der Wiki zu "SpeakJet Application Software" (auf deiner Seite) zusätzlich eine Seite zu meinem vorläufigen K2mod + Key64-Modul verlinken.. ;) wäre das ok? Ich habe jetzt nur noch ein riesiges Problem mit der OSCSynthese, womit ich mich das gesamte Wochenende rumgequält habe.. Ich weiss nicht woran es liegt, komischerweise spinnt der SpeakJet bei der OSCSynthese, wenn der 1/2 Envelope für OSC4und5 zugeschaltet ist. Bei allen anderen Einstellungen funzt die Funktion einwandfrei. Das fiel bei deiner Applikation ja nicht weiter auf, weil dort immer beide Envelope-Typen zugeschaltet waren. Die MSA_STOP / NOTE_OFF Funktion hatte ja so bei jedem einkommenden MIDI Signal alle Pegel komplett aktiviert / deaktiviert... Komischerweise hatte diese Methode auch wenn der Envelope ausgeschaltet war, dann den Envelope wieder aktiviert.. (das war auch schon so ein komischer seiteneffekt ???) ich fahr ja dort nun einen anderen Weg... ..und bei mir fiel dieses wirre Problem nun bei einem bestimmt Frequenzenbereich auf... Wirkungen: der SpeakJet kann zufällig Übersteuerungen hervorufen, die GesamtLautstärke kann sich ändern oder das Rauschen wird einfach aktiviert/deaktiviert usw. ... Jedoch werden die Lautstärkeeinstellung für die einzelnen OSCs durch die for-Schleife wiederum richtig ausgeführt - also es scheint als wenn irgendwas nebenbei am SpeakJet noch passiert... Ich weiss jetzt nicht genau woran es liegt und bin schon fast am verzweifeln. Es kann natürlich sein, dass der Speakjet entweder die Daten zu schnell bekommt und aus den Commandos dann was anderes interpretiert oder der SCP Modus doch einen Buffer für die inkommenden Commandos verwendet und der in der Zeit zu schnell voll ist... (es hängt auf alle fälle mit Envelope 1/2 typ für OSC4 und 5 zusammen)... oder es kann sein das die Baudrate nicht ausreicht oder der SpeakJet mit Envelope 1/2 für OSC 4 und 5 einen Bug hat! Vielleicht hast du noch eine Idee... ich schau heute abend ein letztesmal rein. Ich habe hier die OSCSynthese mal schon Code optimiert (ist wesentlich platzsparender so). Aber es wird hier im vorab keine MSA_STOP / NOTE_OFF ausgeführt wie bisher, sondern nur für die einzelnen OSC-Volumen eingestellt (aus vielerlei gründen). Vielleicht hast du noch eine Erklärung dafür, warum es zu den oben beschriebenen Problem führen kann: const unsigned char of[3][5] = { { 4, 6, 8, 0, 2 }, { 4, 6, 8, 0, 2 }, { 2, 3, 4, 0, 2 } }; const unsigned char oa[3][5] = { { 2, 1, 1,30, 4 }, { 6, 4, 3,30,10 }, {10, 7, 6,30,15 } }; void IIC_SPEAKJET_OSCSynthesis(unsigned char evnt1, unsigned char evnt2) __wparam { // all OSCs, 0..127 unsigned char c, lvl; unsigned int f[9]; // harmonics // determination of frequency harmonics by looking up the table f[0] = freqOfNote[evnt1]; f[1] = f[0] << 1; f[2] = f[0] + f[0]; f[3] = f[0] << 2; f[4] = f[0] + f[2]; f[5] = f[0] << 3; f[6] = f[0] + f[4]; f[7] = f[0] << 4; f[8] = f[0] + f[6]; for (c=0;c<9;c++) if (f[c] > 3999) f[c] = 0; if (env_slide) IIC_SPEAKJET_ENVFreq(evnt1,env_slide); // start transmission IIC_SPEAKJET_TransmitStart(0); IIC_SPEAKJET_SCP_Enter(0, SCP_CTRLTYPE_REGISTER); for (c=5;c>0;c--) { IIC_SPEAKJET_TransmitByte(NUM2ASCII(c)); // select OSC Frq IIC_SPEAKJET_TransmitByte(SCP_MEMADDR); IIC_SPEAKJET_Transmit14bit(f[of[oscsynth_waveshape][c-1]]); IIC_SPEAKJET_TransmitByte(SCP_MEMWRT); IIC_SPEAKJET_TransmitByte('1'); IIC_SPEAKJET_TransmitByte(NUM2ASCII(c)); // select OSC Lvl IIC_SPEAKJET_TransmitByte(SCP_MEMADDR); if (evnt2) IIC_SPEAKJET_Transmit8bit(oa[oscsynth_waveshape][c-1]); else IIC_SPEAKJET_TransmitByte('0'); IIC_SPEAKJET_TransmitByte(SCP_MEMWRT); } // cleanup IIC_SPEAKJET_SCP_Exit(0); // Exit SCP, don't write IIC_SPEAKJET_TransmitStop(); }
  9. kleine Anmerkung: ich möchte auf keinen Fall die alternative Lösung für eine Stromversorgung von amiga_falcon anzweifeln... ich denke mal, es wäre großartig, wenn die Lösung in einem neuen Thread (z.B. unter MIDIbox User Projects) vorgestellt wird... Beste Grüße Rio.
  10. totaler quatsch...ich schimpfe nicht ;D Also die "mbhp_4xsid_c64_psu_optimized" wurde in der Anfrage erwähnt und das Warphead Anfänger ist, hat er auch mit angegeben.. Warum sollte man dann nicht beim thema bleiben? Warum antworten, wenn man sich z.B. nicht die mbhp_4xsid_c64_psu_optimized anschaut.... Finde ich eher unfair demjenigen der die Frage gestellt hat und eine Lösung darauf hin sucht. Das Resultat soll ja nicht sein: Naja die mbhp_4xsid_c64_psu_optimized ist wahrscheinlich nicht für den betrieb mit LCD geeignet.. naja mein comment soll weniger als schimpfen aufgefasst werden, war nur ein hinweis
  11. reservations (in the state, not in the paint)
  12. dann sollte eigentlich alles gehen,... Kann durchaus schon mal passieren, viel schlimmer finde ich die verwirrenden Comments von anderen Leuten zu deinem eigentlichen Problem. Beste Grüße, Rio.
  13. also.. du brauchst eigentlich keine großen Kopfstände machen, um die Core+SID Module mit 1xC64 PSU über die optimierte Schaltung anzuschließen und mit einem LCD zu betreiben. Bei mir sind auch alle bauteile bis auf den 7805 auf dem Core-Board geblieben und es funktioniert 100%!!! Also du solltest zuerst den Fehler suchen - bevor du sachen umbaust. Entweder ist ein Bauteil kaputt, kalte Lötstelle, oder die C64 PSU beisst langsam ins gras.. Schick mal die Bilder.. Und verrat mir mal nach allen Comments, die ich hier lese.. wo du die 5V ranklemmst? - an J1 ode J2? Ich hoffe doch an J2 ... ansonsten hat sich der Thread hier erledigt.. @amiga_falcon: dann bitte sich erst die Schaltung anschauen, bevor gepostet wird... Es sollten hier 5V DC von der C64PSU an J2, und nicht an den unstabilisierten J1, angeschlossen werden.
  14. ne nur den 7805 runter... ja auf dem Backlight müsste ja genauso viel Spannung drauf sein wie auf dem PIC...
  15. quatsch... meine 4xMB-SID läuft auch mit Display und Backlight! und da hängt auch nur ein C64 PSU dran.. 4.5V scheint mir fast zu wenig.. (bei mir waren es etwa 5,15V, die ich am PIC-Sockel gemessen hab) hast du eine andere C64 PSU zur hand?
  16. das 2x20 lcd display von mike sollte ohne probleme laufen. Noch ein Tip: Kann auch an deinem Netzteil liegen... meine ganz alten Dinger diese abgeflachten laufen reichen für meine MB-SID nicht aus. Die Netzteile sind ja nun schon ne weile alt, kann auch sein das du ein defektes erwischt hast.
  17. hast du mal durchgemessen ob auch 5V ankommen und hast du an beiden potis gedreht? also dann weiss ich auch erstmal nicht weiter... klemm mal dein LCD an die anderen Cores (aber sorgfälltig schauen beim raufstecken) - sind dann die gleichen Ergebnisse?
  18. Wie die Brücke verlötet wird ist in der Schematic der mbhp_4xsid_c64_psu_optimized beschrieben.
  19. Da du den aufbau nach der mbhp_4xsid_c64_psu_optimized genommen hast, vermute ich mal dass du die Spannungsregler auf dem Core Board nicht runtergenommen (und überbrückt hast)... ich kann mich auch täuschen, seh ja nicht was du gebaut hast, aber da die C64 PSU ja konstant die 5V DC liefert, reicht es mit dieser direkt ohne 7805 auf das Core-Board raufzugehen (aber wiegesagt muss ne brücke noch gelötet werden) Also mein Display (2x16 oder 2x20) wird ordentlich hell angezeigt. Welchen Displaytyp nutzt du den? Die 5V Spannung reichen auf keinen fall für den unstabilisierten Eingang und die 9V von der PSU würde ich dafür nicht noch abnehmen!! Zumindest lässt diese Äusserung darauf schließen, dass hier davon ausgegangen wird, dass der Spannungsregler auf dem Board ist
  20. yes, only 6581 have this afterburner feature included ;D
  21. Ich bin dabei ein letztes feature zu implementieren... Irgendwie habe ich bei der OSCSynthese noch nen bug für die Wiedergabe des ENV (da schaltet sich aus unerfindlichen Gründen das Rauschen nach einer Weile zu, muss ich mir im detail noch anschauen...) also ich plane mal das wochenende mit ein. Beste Grüße, Rio.
  22. ne ich mein das derbe Knacken wenn ein OSC mit großen Volumenänderungen (Sprüngen) angespielt oder losgelassen wird (also sofort Volumen von 0->31 oder 31->0 gespielt wird. also man hört das...Dafür gibt es jetzt Slides in max. Geschwindigkeit (da knackt dann fast nichts mehr) mhh... ach ja der Multimodus halbiert noch mal das Volumen, um nicht die Grenze von 63 zu überschreiten ;D Also warte noch ein zwei Tage ab.. und ich mach dann noch ein paar soundbeispiele oder so... :)
  23. zu 2. noch: und 3 = für OSC12345 an! ;D
  24. ok ;D ...also mal schauen ob du enttäuscht bist oder nicht (mir fallen natürlich jetzt nicht alle Änderungen ein, darum möchte ich die woche noch nutzen den rest fertig zu implementieren (denn dann bin ich damit fertig) und dann erstmal die Sourcen hier offenzu legen) 1. Problem Knacksen bei Änderungen der OSCs: vorallem bei Volume Änderungen (extrem: an / aus). Bekommt man dann besonders mit wenn der Envelop ausgeschaltet ist. Ist halt schon übel entwickelt das teil ;) aber es gibt wege, das zu umgehen in dem man ein volumenslide vornimmt.. Der Synth wird nicht über das MSA_Stop mehr komplett deaktiviert sondern nur noch über die Volumeslides hörbar gemacht. 2. Trennung der Envelops in 3 schritten: 0 = aus, 1 = an für OSC123 und 2 = an für OSC45 3. Aktivierung des Verschiebens der Tonhöhe des Envelops (für gespielte Noten) duch ein CC command, bei deaktivierung werden die Envelops nicht verschoben. Durch ein CC Wert können diese getrennt durch CCs verschoben werden: Wert*2, Im unteren Bereich Wert*1 um hier die interessanten Schwingungen (vorallem bei Sinus) für den klang auszunutzen) 4. Multimodus... mehrere OSCs können durch CC zugeschaltet (Einstellungen 1,2,3,4,5,6) werden, gibt die Einstellungen der einzel gespielten OSCs in ihren letzten Einstellungen wieder (da kommen dann alle möglichen sound raus) und werden dann relativ zur tonhöhe gespielt. Die 6. einstellung ist die OSCSynthese von AudioCommander). Ein wenig verzögert kann sich im extremfall der Volumeslide, da der sich hier für alle 5 OSC (bei Einstellung 5) berechnet wird. Eventuell wäre hier eine ASM-Routine noch besser aber ich hab jetzt schon das Knacksen in einer angemessenen Geschwindigkeit für alle OSCs gleichzeitig mit guten Resultaten wegbekommen. 5. Harmonizer Optionen werden nur bei nutzung für eine gewisse Zeit eingeblendet und eventuell noch ein zwei andere Sachen...fällt mir jetzt auf die schnelle nicht ein. Ich würde sagen schau dir zum ende der Woche einfach mein release an... ein zwei Änderungen an den Envelops und an der Darstellung wollte ich noch vornehmen... Beste Grüße Rio.
  25. jo, kommt drauf an, ob audiocommander die sachen, die ich geändert habe später eventuell integriert...(ist natürlich seine Entscheidung ;) und dazu muss er die Änderungen auch erstmal sehen) Da ich einige Parameter getrennter am SpeakJet kontrollieren möchte, sind die gemachten Änderungen Grundlage dafür. Als zusätzliches Modul kommt bei mir ja noch eine C64 Keyboard ansteuerung mit hinzu.. ;D welche mit diesen Parametern via MIDI IN interagiert. Ich muss erstmal die K2mod zuende entwicklen, meine Änderungen dokumentieren und die K2mod veröffentlichen .. dann kann man weitersehen. Anderseits ist es natürlich jedem überlassen, welche Applikation er für seine Zwecke nutzt :) Die Hauptapplikation ist die K2. Meine Version ist ja eine modifizierung der K2 - darum K2mod. Eventuell hat das eine sein vorteil, das andere sein nachteil. Damit es darüber kein Streit gibt, sind zwei Releases eventuell vorab nicht verkehrt.. man muss halt schauen Im Großen und ganzen möchte ich mich hiermit auch gleichzeitig für die riesige Vorarbeit von AudioCommander bedanken. Beste Grüße, Rio.
×
×
  • Create New...