cc2.tv
 
  Forenübersicht
  Anmelden
  Registrierung
  Mitgliederliste
  Teammitglieder
  Hilfe
  Suche
  FAQ
  Forenregeln
  Wie poste ich richtig?
  Impressum

cc2.tv-Fan-Club » CC2tv +CC2audio » ATM18/AVR, Arduino + Sonstiges » AVR Synthesizer-Projekt » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (31): « erste ... « vorherige 27 28 29 30 [31] Antwort erstellen
Zum Ende der Seite springen   AVR Synthesizer-Projekt
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Hallo..

Andre hat ein kleines Video mit dem DE-GENERATOR gemacht und stellt ein paar interessante Klänge vor. Viel Spaß beim anhören ebueb


Youtube: https://www.youtube.com/watch?v=gNiUXgoGdoU&feature=youtu.be

Gruß Rolf
10.10.2017 21:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Bender
Mitglied

images/avatars/avatar-816.png

Dabei seit: 17.11.2012
Beiträge: 38
Wohnort: HEF

Bender ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Krasse Sache! ebueb
13.10.2017 16:49 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Danke. Wir sind jetzt in der Endphase. Zur Zeit wird ein neues Panelboard mit einem besseren TFT-Display entwickelt und ein Gehäuse gebaut. Das Neue TFT Display ist kontrasstärker und hat eine gleichmäßig beleuchtete Hintergrundfläche.

Altes TFT Display im DE-GENERATOR


Neues TFT Display im DE-GENERATOR


Gruß Rolf

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von rolfdegen: 15.10.2017 00:10.

14.10.2017 23:36 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
perlian perlian ist männlich
Mitglied

images/avatars/avatar-631.gif

Dabei seit: 04.05.2010
Beiträge: 869
Wohnort: Osnabrück

perlian ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Zitat:
Original von Bender
Krasse Sache! ebueb


Ja dem kann ich mich nur Anschliessen.
Fetter Sound !!
Reicht zur Ansteuerung ein normales Midi Keyboard ?
Ich hab eins allerdings mit USB Anschluss
Ist das mit dem de-generator kompatibel ?
Und habt ihr schon einen ungefähren VK Preis im Auge ?
15.10.2017 17:30 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Danke smile

Am DE-GENERATOR kann man ein normales Midi Keyboard über ein Midi-Kabel anschließen. Eine USB Schnittstelle besitzt er leider nicht. Der Verkaufspreis steht noch nicht fest.

Gruß Rolf

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von rolfdegen: 16.10.2017 20:22.

16.10.2017 20:20 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Bootloader im DE-GENERATOR Beitrag: beantworten | zitieren | editieren | melden       | Top

Hallo liebe Mitleser..

Mein guter Freund Thomas Margolf aus Holland hat mir heute einen Bootloader für den DE-GENERATOR
geschickt. Damit ist es jetzt möglich, die Firmware für den DE-GENERATOR über die SD Karte zu
flashen. Allerdings gibts noch Probleme mit älteren 4GB Karten von SandDisk. Mal schaun woran es
noch liegt.. Hab mal ein kleines Video gedreht ums zu zeigen. Auf der SD Karte befindet sich die Firmware.
Für's flashen muss beim Einschalten die "LOAD" Taste gedrückt und gehalten werden. Ist das Firmware
File vorhanden und ok, dann fangen die Led's an zu blinken. War der Flashvorgang erfolgreich blinkt kurz
die 1.LFO LED. Sollte ein Fehler aufgetreten sein, wird das mit dem Aufleuchten der 3.LFO Led signalisiert.
Eine Textausgabe über das TFT-Display passte leider nicht mehr in den 8 KByte großen Bootsektor.

Youtube: https://youtu.be/X90Xk2eUY2o

Gruß Rolf

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von rolfdegen: 22.10.2017 13:34.

22.10.2017 13:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Hallöchen..

Hab mal wieder etwas Geld von der Bank abgehoben und in meinen Arbeitsplatz investiert. Ein schöner großer 32" Monitor von BENQ (BENQ PD3200Q) mit 2560 x 1440 Pixel Auflösung und Höhenverstellung war auf der Wunschliste. Was mir bei der Auswahl eines Monitors besonders wichtig war, ist ein Augenschonendes Arbeiten. Der BENQ PD3200Q hat für diesen Zweck einige Technologien integriert. Die Flicker-free Technik verhindert das Flimmern des Displays. Das ermöglicht stundenlanges Arbeiten ohne müde oder brennende Augen. Zusätzlich hat der Monotor eine Low-Blue-Light Funktion. Diese Technologie filtert schädliches blaues Licht heraus um die Irritationen der Augen zu verringern.

BENQ PD3200Q


Link: http://www.benq.de/product/monitor/pd3200q/

Gruß Rolf

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von rolfdegen: 29.10.2017 20:13.

29.10.2017 20:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Floppy in concert Beitrag: beantworten | zitieren | editieren | melden       | Top

Hallo..

Hier zur Abwechslung mal was lustiges. Hier macht kein Oszillator die Töne sondern eine Reihe von alten FloppyDisk Laufwerken, Festplatten und Scannern. Echt ideenreich wie ich finde ebueb

The Floppotron in concert: Sweet Dreams

Youtube: https://www.youtube.com/watch?v=oGfkPCZYfFw

Gruß Rolf

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von rolfdegen: 01.11.2017 15:45.

01.11.2017 15:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Einen kleiner Ausschnitt an Dingen, die ich in den vergangenen Wochen am DE-GENERATOR programmiert habe:

Build 3.37 05.08.2017
- Externen Midi-Clock implementiert

Build 3.38 30.08.2017
- Sequencer Funktion integriert

Build 3.39 09.09.2017
- Osc Mode im Osc-Mneü jetzt über Enc3 einstellbar
- Fehler bei der Berrechnung und Anzeige für freies Sample Ram beseitigt
- Share Mode (SHA) für Osc2 implementiert. Ist die Funktion im Osc2 Mneü eingeschaltet, dann teilt sich Osc2 den gleichen Sample mit Osc1. Interessant für Phasing oder andere Effekte
- CPU Last wird nur auf der System Page angezeigt
- Scope Funktion ist zwecks CPU Entlastung jetzt abschaltbar
- Interpolations Routine in den Oszillatoren wurde optimiert (schneller)

Build 3.40 24.09.2017
- Osc Wave- und Sample Mode optimiert
- CPU Last Anzeige entfernt
- Temperaturanzeige entfernt
- Scope Page entfernt

Build 3.41 29.09.2017
- Beim Laden eines neuen Patchs wird der Transpose Wert für die Noten im Sequencer jetzt auf null gesetzt.
- Die Sample Recording Function ist bei Auswahl von Page 12 jetzt immer ei...aden eines neuen Patch wurde die Wellenform im CPU Ram nicht aktuallisiert.
- Einige Fehler beseitigt

Build 3.42 03.10.2017
- Sequencerstart jetzt über die Funktion "PLAY" einstellbar. Im "KEY" Mode startet und stopt der Sequencer mit der "SEQ" Taste am DE-GENERATOR. Im "Note" Mode startet der Sequencer mit einer Keyboard Taste und stopt beim loslassen.

Build 3.50 22.10.2017
- Bootloader integriert

Build 3.52 31.10.2012
Sampel-Page:
- Rec-Led Status auf der Sample-Page integriert. 25% Led-Licht: Aufnahme wartet auf Threshold Level oder Midi_Note Event. 100% Led-Licht bei aktivierter Aufnahme
- Im Sample Rec-Mode "Note" ist der Aufnahmestart oder Ende über Midi-Note möglich.

Sequencer Page:
- Im Sequencer PLay_Mode "NOTE" startet und stop der Sequencer über eine Midi_Not
- Transponieren funktioniert jetzt in allen beiden Sequencer Play_Modes
- Bei der Auswahl eines Steps werden jetzt alle Step-Paramter aktualisiert
- Die Step-Auswahl ist jetzt über Encoder 3 möglich



Sequencer Pages



Der Rote Punkt markiert den laufenden Step. H den Haltewert für die Note. Der dunkelgraue
Balken die Lautstärke der Note

Gruß Rolf

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von rolfdegen: 01.11.2017 16:18.

01.11.2017 15:56 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
highunix highunix ist männlich
Mitglied

images/avatars/avatar-798.jpg

Dabei seit: 16.09.2011
Beiträge: 662

highunix ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Floppy in concert

Das ist schon abgefahren. ebueb
01.11.2017 19:12 Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Hallöchen..

Wärend ich auf meine Lieblings-Pizza warte (ist von Dr.Otker und brauch im Backofen immer 10min) schreib ich mal schnell diesen Beitrag ebueb

Eigentlich ist es nur ein Hinweis auf mein neues Youtube Video. Hab mal neue Sounds und Sequencen aufgenommen. Sind einige verrückte Sachen dabei. Wünsch euch viel Spaß beim anhören.

Long Expression


Youtube: https://youtu.be/P-mxpUMQ2e8

Gruß Rolf

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von rolfdegen: 04.11.2017 22:48.

04.11.2017 22:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Hallöchen..

Habe schon wieder etwas Geld ausgegeben Augenzwinkern

Dieses mal für eine schicke Tastatur mit beleuchteten Tasten. 75,- Euro ist schon ein Batzen Geld,
aber man gönnt sich ja sonst nix.

In Bezug auf die EINFG und ENTF Taste ist ein kleines Umgewöhnen notwendig. Aber sonst echt geil.. ebueb

Logitech K740 ILLUMINATED


Link: https://www.logitech.com/de-de/product/i...d-keyboard-k740

Gruß Rolf

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von rolfdegen: 17.11.2017 17:20.

17.11.2017 17:19 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Radiomicky Radiomicky ist männlich
Mitglied

images/avatars/avatar-166.jpg

Dabei seit: 25.07.2007
Beiträge: 1.746
Wohnort: Göttingen

Radiomicky ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Jou, diese Tastatur leistet seit Jahren bei mir gute Dienste! ebueb
18.11.2017 08:36 Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Wir sind noch fleißig am arbeiten. Hier einige interessante Soundtracks vom DE-GENERATOR. Stammen alle von Andre.

Link: https://soundcloud.com/rolf-degen/de-generator

Oooh je geschockt Da hab ich wohl den Mischpulteingang etwas übersteuert.

Gruß Rolf
02.12.2017 21:41 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Ach.. hätt ich doch mehr Geld. Dann würde ich mir diesen Synthesizer kaufen.


Modal Electronics 001


Der Modal 001 ist ein 2 stimmiger, bi-timbraler Synthesizer mit analoger / digitaler “Hybrid” Klang-Architektur. Pro Stimme gibt es 2 Oszillatoren und 2 Sub-Oszillatoren, mischbar im Mixer mit (Over)Drive Funktion. Wie im DE-GENERATOR sind die Oszillatoren NCOs (Numerically Controlled Oscillators) mit hoher Auflösung und hoher Stabilität. Der zur Auswahl stehende Wellenform-Satz pro Oszillator umfasst 56 Wellenformen ( im DE-GENERATOR sind es 128 + 20 Shapes ), die natürlich per Steuerspannung zu durchlaufen sind. Das VCF ist ein 24dB/Okt 4-Pol Transistor Filter mit Morphing-Möglichkeit (“Slope Control”) hin zur BandPass- und 1dB/Okt Filter Charakteristik. Zwei LFOs, mit MIDI-Sync-Möglichkeit. Zwei ADSR Hüllkurven für VCF und VCA. Eine Modulations-Matrix mit 6 simultane Modulationsquellen und 8 bzw. 9 Modulationsziele. Step-Sequenzer: 32 Steps mit 12 Spuren bzw. Paramater-Modulationen gleichzeitig. MIDI-Synchronisation sowie Live-Transponierung über das Keyboard möglich. Programmspeicher mit Platz für 100 x 100 Sounds. 3-Oktaven FATAR Tastatur mit Velocity und Aftertouch. Ein farbiges 4,3-Zoll TFT Display für die Programmierung. 4 CV Inputs und 4 CV Outputs und zwei Audio-Eingänge u.v.m. Preis um die 1850,- €. Wow..

Link: http://www.modalelectronics.com/modal-001/


Modal Electronics Waveforms


Klangbeispiele: https://www.youtube.com/watch?v=EQjL8VeugA0

Gruß Rolf
03.12.2017 10:41 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Mein Weihnachtsgeschenk an mich:


Korg Monologue silver



Somit besteht zukünftig meine Synthesizer Sammlung aus einem Shruthi, einem DE-GENERATOR und einem Korg Monologue.

Hier noch ein paar Soundtracks vom DE-GENERATOR. Künstler an den Drehknöpfen war Andre von TubeOhm Augenzwinkern

ZU den Soundtracks: https://soundcloud.com/rolf-degen/de-generator-13

Gruß Rolf

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von rolfdegen: 15.12.2017 16:53.

15.12.2017 16:19 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Mein Weihnachtsgeschenk ist Gestern angekommen. Der KORG MONOLOGUE in silber. Hab ihn direkt ausprobiert. Hier mein Ergebnis:

DE-GENERATOR & KORG MONOLOGUE IN CONCERT


Youtube: https://youtu.be/xYaBt2WhCow

Gruß Rolf
20.12.2017 21:34 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

KORG MONOLOGUE inside

Hab mal meinen KORG MONOLOGUE aufgeschraubt um zu schaun, was unter der Haube steckt smile
Insgesammt arbeiten drei ARM MCU's auf den Platinen. Eine ist für die Keyboardabfrage zuständig.
Die Zweite MCU für die beiden Oszillatoren und Filterparameter und diverse andere Sachen.
Die Dritte MCU sitzt auf dem Panelboard und ist für die Abfrage der Potis und Schalter zuständig,
sowie für die Ansteuerung des kleinen TFT Displays.

PS: Wenn ich mir das überlege, dann ist es schon eine Wunder, was die ATMEL MCU mit ihren 32MHz im DEGENERATOR alles leistet ebueb

Mainboard


Link: https://scontent-frt3-1.xx.fbcdn.net/v/t...455&oe=5ACA211D

Panelboard


Link: https://scontent-frt3-1.xx.fbcdn.net/v/t...f60&oe=5ABEEE6A

Gruß Rolf

Dieser Beitrag wurde 6 mal editiert, zum letzten Mal von rolfdegen: 25.12.2017 15:20.

25.12.2017 14:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

KORG MONOLOGUE

Aufbau

Großes Bild: https://scontent-frt3-1.xx.fbcdn.net/v/t...7cd&oe=5AC7D7BF

Bedienung

Großes Bild: https://scontent-frt3-1.xx.fbcdn.net/v/t...637&oe=5AF87191

Rückseite

Großes Bild: https://scontent-frt3-1.xx.fbcdn.net/v/t...301&oe=5AF94698
26.12.2017 07:27 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Hallo zusammen..

Hab ein wenig an der Soundengine im DE-GENERATOR gewerkelt und einen VOWEL Sound implementiert.

VOWEL Sound parameter auf der Oszillator Page


Sound: https://soundcloud.com/rolf-degen/vowel-...om-de-generator


Ich habe den Shruthi code für die Soundengine im DE-GENERATOR etwas angepasst
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
//*************************************************************************
// OscRender: VOWEL
//*************************************************************************
void OscRender_Vowel(uint8_t osc_nr)
{
    uint8_t block_size 40;
    uint8_t parameter;
    uint8_t *buffer;
    uint8_t ix 0;
    
    if (osc_nr == 0)
    {
        parameter Osc.prm[0];
        if (Voice.buffer_nr == 0)
        {
            buffer Voice.Buffer2a;
        }
        else {buffer Voice.Buffer1a;}
    }
    else
    {
        parameter Osc.prm[1];
        if (Voice.buffer_nr == 0)
        {
            buffer Voice.Buffer2b;
        }
        else {buffer Voice.Buffer1b;}
    }
    
    Osc.vw_update = (Osc.vw_update 1) & 3;
    if (!Osc.vw_update) {
        uint8_t offset_1 U8ShiftRight4(parameter);
        offset_1 U8U8Mul(offset_17);
        uint8_t offset_2 offset_1 7;
        uint8_t balance parameter 15;
    
    // Interpolate formant frequencies.
    for (uint8_t i 03; ++i) {
        Osc.vw_formant_increment[i] = U8U4MixU12(
        pgm_read_byte (&(wav_res_vowel_data[offset_1 i])),
        pgm_read_byte (&(wav_res_vowel_data[offset_2 i])),balance);
        Osc.vw_formant_increment[i] <<= 3;
    }
    
    // Interpolate formant amplitudes.
    for (uint8_t i 04; ++i) {
        uint8_t amplitude_a pgm_read_byte (&(wav_res_vowel_data[offset_1 i]));
        uint8_t amplitude_b pgm_read_byte (&(wav_res_vowel_data[offset_2 i]));
        Osc.vw_formant_amplitude[i] = U8U4MixU8(amplitude_a,amplitude_bbalance);
    }
    }    
  
    // sample loop --------------------------------------------------------
    do
    {
        Osc.phase[osc_nr] += Osc.phase_increment[osc_nr];
        
        uint16_t phase_integral Osc.phase[osc_nr] >> 8;
        uint16_t phase_increment_integral Osc.phase_increment[osc_nr] >> 8;
        int8_t result 0;
        
        for (uint8_t i 03; ++i) {
            Osc.vw_formant_phase[i] += Osc.vw_formant_increment[i];
            result += pgm_read_byte (&((== wav_res_formant_square wav_res_formant_sine)
            [(((Osc.vw_formant_phase[i] >> 8) & 0xf0) | Osc.vw_formant_amplitude[i])]));
        }
        result S8U8MulShift8(result, ~ (phase_integral >> 8));
        phase_integral += phase_increment_integral;
        int16_t phase_noise = (int8_t)(Noise.data_rng_state << 8) * 1;// (int8_t)Osc.noise_modulation;
        if (phase_integral phase_noise phase_increment_integral) {
            Osc.vw_formant_phase[0] = 0;
            Osc.vw_formant_phase[1] = 0;
            Osc.vw_formant_phase[2] = 0;
        }
        uint8_t x S16ClipS8(result) + 128;
        
        // write sample in sound-buffer
        buffer[ix++] = x;
        buffer[ix++] = x;
        block_size--;        
        
    } while (--block_size);

}


Gruß Rolf

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von rolfdegen: 28.12.2017 11:52.

28.12.2017 11:27 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Mutable Shruthi & KORG Monologue & DE-GENERATOR in concert


Link: https://soundcloud.com/rolf-degen/shruth...ogue-in-concert

Viel Spaß beim anhören. Gruß Rolf
28.12.2017 13:33 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Hallo und guten Morgen..

Ich habe ein kleines Sound Problem mit der "Quad Saw" im DE-GENERATOR. Im Vergleich mit dem
Shruthi Synthesizer klingt der Sound im DE-GENERATOR sehr statisch. Ich habe den Quellcode
aus dem Shruthi für den DE-GENERATOR etwas angepasst. Der Parameter-Wert steht auf beiden
Synthesizern auf 0. Ich habe ein kleines Video gedreht um es zu zeigen und zu hören.
Damit die QuadSaw funktioniert muss der "phase_spread" immer >0 sein.


Youtube: https://youtu.be/G7RaY6ZXLOM

Shruthi Code
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
.
// ------- Quad saw or pwm (mit aliasing) ------------------------------------
void Oscillator::RenderQuad(uint8_tbuffer) {
  uint16_t phase_spread = (
      static_cast<uint32_t>(phase_increment_.integral) * parameter_) >> 13;
  ++phase_spread;
  uint16_t phase_increment phase_increment_.integral;
  uint16_t increments[3];
  for (uint8_t i 03; ++i) {
    phase_increment += phase_spread;
    increments[i] = phase_increment;
  }
  
  if (shape_ == WAVEFORM_QUAD_SAW_PAD) {
    BEGIN_SAMPLE_LOOP
      UPDATE_PHASE
      data_.qs.phase[0] += increments[0];
      data_.qs.phase[1] += increments[1];
      data_.qs.phase[2] += increments[2];
      uint8_t value = (phase.integral >> 10);
      value += (data_.qs.phase[0] >> 10);
      value += (data_.qs.phase[1] >> 10);
      value += (data_.qs.phase[2] >> 10);
      *buffer++ = value;
    END_SAMPLE_LOOP
  }
  else { //WAVEFORM_QUAD_PWM
    uint16_t pwm_phase static_cast<uint16_t>(127 parameter_) << 8;
    BEGIN_SAMPLE_LOOP
      UPDATE_PHASE
      data_.qs.phase[0] += increments[0];
      data_.qs.phase[1] += increments[1];
      data_.qs.phase[2] += increments[2];
      uint8_t value phase.integral pwm_phase 63;
      value += data_.qs.phase[0] < pwm_phase 63;
      value += data_.qs.phase[1] < pwm_phase 63;
      value += data_.qs.phase[2] < pwm_phase 63;
      *buffer++ = value;
    END_SAMPLE_LOOP
  }
}



DE-GENERATOR Code
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
.
//*************************************************************************
// OscRender: Quad saw or pwm (mit aliasing)
//*************************************************************************
void OscRender_PAD(uint8_t osc_nr)
{
    uint8_t block_size 40;
    uint8_t shape Osc.shape[osc_nr];
    uint8_t parameter Osc.prm[osc_nr];
    uint8_t *buffer;    // pointer name
    uint8_t i 0;
        
    if (osc_nr == 0)
    {
        if (Voice.buffer_nr == 0)
        {
            buffer Voice.Buffer2a;
        }
        else {buffer Voice.Buffer1a;}
    }
    else
    {
        if (Voice.buffer_nr == 0)
        {
            buffer Voice.Buffer2b;
        }
        else {buffer Voice.Buffer1b;}
    }
    
    uint16_t phase_increment_ = (Osc.phase_increment[osc_nr] >> 8);
    uint16_t phase_spread = (uint32_t)(phase_increment_ parameter) >> 13;
    ++phase_spread;
    
    uint16_t increments[3];
    for (uint8_t i 03; ++i) {
        phase_increment_ += phase_spread;
        increments[i] = phase_increment_;
    }

    //BEGIN_SAMPLE_LOOP ---------------------------------------------------
    if (shape == OSC_SAW_PAD) {
        do
        {
            // update Phase
            Osc.phase[osc_nr] += Osc.phase_increment[osc_nr];
            
            if (SREG 0b00000001// test overflow
            {
                Osc.phase[osc_nr] = 0;
            }
                
            uint16_t phase_intergral Osc.phase[osc_nr] >> 8;
            uint8_t value = (phase_intergral >> 10);
            
            // Osc1
            if (osc_nr == 0)
            {
                Osc1.data_qs_phase[0] += increments[0];
                Osc1.data_qs_phase[1] += increments[1];
                Osc1.data_qs_phase[2] += increments[2];
                value += (Osc1.data_qs_phase[0] >> 10);
                value += (Osc1.data_qs_phase[1] >> 10);
                value += (Osc1.data_qs_phase[2] >> 10);
            }
            else // Osc2
            {
                Osc2.data_qs_phase[0] += increments[0];
                Osc2.data_qs_phase[1] += increments[1];
                Osc2.data_qs_phase[2] += increments[2];
                value += (Osc2.data_qs_phase[0] >> 10);
                value += (Osc2.data_qs_phase[1] >> 10);
                value += (Osc2.data_qs_phase[2] >> 10);
            }
            
            // write sample in sound-buffer
            buffer[i++] = ~value;
            
        } while (--block_size);
    }
}


Vielleicht hat jemand eine Idee, wie ich das im DE-GENERATOR verbessern kann.

Gruß Rolf

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von rolfdegen: 30.12.2017 10:20.

30.12.2017 09:59 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Hi Cyclotron

Ich hab ein wenig experimentiert und einen kleinen Zufallswert zu dem phase_spread addiert. Klingt schon besser aber halt noch anders wie im Shruthi.

Mein Code
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
.
//*************************************************************************
// OscRender: Quad saw or pwm (mit aliasing)
//*************************************************************************
void OscRender_PAD(uint8_t osc_nr)
{
    uint8_t block_size 40;
    uint8_t shape Osc.shape[osc_nr];
    uint8_t parameter Osc.prm[osc_nr];
    uint8_t *buffer;    // pointer name
    uint8_t i 0;
       
    if (osc_nr == 0)
    {
        if (Voice.buffer_nr == 0)
        {
            buffer Voice.Buffer2a;
        }
        else {buffer Voice.Buffer1a;}
    }
    else
    {
        if (Voice.buffer_nr == 0)
        {
            buffer Voice.Buffer2b;
        }
        else {buffer Voice.Buffer1b;}
    }
   
    uint16_t phase_increment_ = (Osc.phase_increment[osc_nr] >> 8);
    uint16_t phase_spread = (uint32_t)(phase_increment_ parameter) >> 13;
   
    // Test phase_spread with/without random value
    if (Osc.Test_flag == 0)
    {
        ++phase_spread;
    }
    else {phase_spread += (Noise.sample >> 7);}
   
   
    uint16_t increments[3];
    for (uint8_t i 03; ++i) {
        phase_increment_ += phase_spread;
        increments[i] = phase_increment_;
    }

    //BEGIN_SAMPLE_LOOP ---------------------------------------------------
    if (shape == OSC_SAW_PAD) {
        do
        {
            // update Phase
            Osc.phase[osc_nr] += Osc.phase_increment[osc_nr];
           
            if (SREG 0b00000001// test overflow
            {
                Osc.phase[osc_nr] = 0;
            }
               
            uint16_t phase_intergral Osc.phase[osc_nr] >> 8;
            uint8_t value = (phase_intergral >> 10);
           
            // Osc1
            if (osc_nr == 0)
            {
                Osc1.data_qs_phase[0] += increments[0];
                Osc1.data_qs_phase[1] += increments[1];
                Osc1.data_qs_phase[2] += increments[2];
                value += (Osc1.data_qs_phase[0] >> 10);
                value += (Osc1.data_qs_phase[1] >> 10);
                value += (Osc1.data_qs_phase[2] >> 10);
            }
            else // Osc2
            {
                Osc2.data_qs_phase[0] += increments[0];
                Osc2.data_qs_phase[1] += increments[1];
                Osc2.data_qs_phase[2] += increments[2];
                value += (Osc2.data_qs_phase[0] >> 10);
                value += (Osc2.data_qs_phase[1] >> 10);
                value += (Osc2.data_qs_phase[2] >> 10);
            }
           
            // write sample in sound-buffer
            buffer[i++] = ~value;
           
        } while (--block_size);
    }
}


Im Video schalte ich zwischen einer Addition mit random Wert und ohne um.


Youtube: https://www.youtube.com/watch?v=klz7gUTZ9xs

Gruß Rolf

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von rolfdegen: 30.12.2017 17:13.

30.12.2017 17:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
amsel77
Mitglied

Dabei seit: 10.10.2007
Beiträge: 9

amsel77 ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Zitat:

PS: Wenn ich mir das überlege, dann ist es schon eine Wunder, was die ATMEL MCU mit ihren 32MHz im DEGENERATOR alles leistet


Halbwegs ordentlich programmiert sind die bewährten 8Bitter halt nach wie vor für sehr vieles sehr viel überschaubarer als 32er Boliden einsetzbar. Danke für dieses komplexe Vorzeigeprojekt, welches dies auf beeindruckende Art und Weise beweist!
01.01.2018 23:30 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Hallo amsel77..

Ich wäre schon froh über etwas mehr Prozessor Power ebueb

Es wird irgendwann ein Update des Prozessorboards geben das mit einem ARM Bestückt ist.

Vorerst bleibts beim ATMEL Chip mit 32 MHz.


Gruß Rolf

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von rolfdegen: 02.01.2018 10:14.

02.01.2018 10:01 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

DE-GENERATOR Build 3.61
- Scope Darstellung: Auflösung wurde von 150 auf 64 Pixel reduziert. Dadurch wird die Systemlast verringert. Zeitbasis passt sich jetzt automatisch an Audiofrequenz an.
- Fehler in Ringmodulation auf der Oszillator Page beseitigt
- Vowel Sound implementiert (Shape: VOW)
- SoundBuffer Größe von 40 auf 128 erhöt. Menüdarstellung und Bedienung wird dadurch etwas schneller und flüssiger
- Für eine geringere Systemlast wurden einige Funktionen in der Soundengine verbessert.
- Berechnung der Notenfrequenz verbessert. Tabellenwerte jetzt 16Bit



Gruß Rolf

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von rolfdegen: 02.01.2018 13:49.

02.01.2018 13:48 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Mein neuer "Workplace" und einen Platz für die leckeren Kekse gibts auch noch ebueb



Gruß Rolf
06.01.2018 22:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

Der singende DE-GENERATOR



Link: https://soundcloud.com/rolf-degen/singing-de-generator

Parametereinstellungen
Osc1: Vowel
Osc2: Vowel -7 semitones
Env1: CUTOFF + Osc1+2 vowel parameter
Env2: VCA
LFO1: Osc1+2 fine tune
Portamento: 14
Delay: Time 114 / Feedback 79 / Volume 127
21.01.2018 00:38 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

I love vowel sounds ebueb



Link: https://soundcloud.com/rolf-degen/vowelyy
29.01.2018 22:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
rolfdegen rolfdegen ist männlich
Mitglied

images/avatars/avatar-873.jpg

Dabei seit: 11.07.2008
Beiträge: 1.780
Wohnort: Wuppertal

Themenstarter Thema begonnen von rolfdegen

rolfdegen ist offline
Beitrag: beantworten | zitieren | editieren | melden       | Top

DE-GENERATOR with Midi Control Change

MIDI-Control-Change-Meldungen werden verwendet, um eine Vielzahl von Funktionen in einem Synthesizer fern zu steuern.



Youtube: https://youtu.be/bueQeDujiEI

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von rolfdegen: 15.02.2018 17:54.

15.02.2018 17:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Seiten (31): « erste ... « vorherige 27 28 29 30 [31] Baumstruktur | Brettstruktur
Gehe zu:
 
Antwort erstellen
cc2.tv-Fan-Club » CC2tv +CC2audio » ATM18/AVR, Arduino + Sonstiges » AVR Synthesizer-Projekt

Impressum - Datenschutzerklärung

Forensoftware: Burning Board, entwickelt von WoltLab GmbH