Degenerator DIY Sampler/Synthesizer (Tubeohm)

Re: AVR Synthesizer "WAVE 1"

Hallöchen..

Ich hab den externen Audio-Eingang im DE-GENERATOR etwas abgeändert. Man hat jetzt die Möglichkeit das Stereosignal am Eingang als Summensignal zu sampeln. Ferner ist das Eingangssignal auch auf die Filtereingänge geschalten. Für die MiniScope-Funktion wird der Stereoausgang auf den gleichen ADC-Eingang geschaltet. Das spart Bauteile und Platz auf der Platine.

Stereo Eingang im DE-Generator
Audio_Input.JPG


Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

Hallo zusammen..

Damit das Sampeln von Audio-Signalen noch etwas störungsfreier funktioniert, habe ich den ADC-Eingang im Xmega Prozessor als Differenzial-Eingang beschaltet. Der ADC im Xmega Prozessor sampelt mit 12Bit und einer Abtastrate von 44.1KHz. Intern wird der 12Bit Wert dann auf 8Bit herunter gerechnet und ins 1MByte große Sample-Ram geschrieben. Der Operationsverstärker IC 15c+15d erzeugen aus dem Audio-Signal ein Differenzsignal für den ADC-Eingang.

ADC im Xmega128A1: http://www.atmel.com/images/atmel-8032- ... vr1300.pdf



Bild: ADC mit Differenzial-Eingang
Audio_IN_1.2.JPG


Initialisierung des ADC im Xmega128A1 Prozessor
Code:
// intit ADCA 12Bit (Sample Input)
// 8Bit / differencial mode / ext.VRef 2.5V PortA0 / Prescaler 64 / positive Input PortA3 / negative Input PortA1
    ADCA.CTRLB = ADC_RESOLUTION_12BIT_gc | ADC_FREERUN_bm;
    ADCA.REFCTRL = ADC_REFSEL_AREFA_gc;        
    ADCA.PRESCALER = ADC_PRESCALER_DIV64_gc;
    ADCA.CH0.CTRL = ADC_CH_INPUTMODE_DIFF_gc;
    ADCA.CH0.MUXCTRL |= ADC_CH_MUXPOS_PIN3_gc | ADC_CH_MUXNEG_PIN1_gc;
    ADCA.INTFLAGS = 0x00;
    ADCA.CTRLA = ADC_ENABLE_bm;        // ADC enabled

Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

Hallöchen..

Im DE:GENERATOR habe ich für die Sample Aufnahme eine Noise Shaper Function integriert. Der ADC-Eingang arbeitet mit einer Auflösung von 12 Bit. Für die weitere Bearbeitung werden die Samples im DE:GENERATOR auf 8Bit herunter gerechnet. Beim normalen Herunterrechnen von 12 auf 8Bit (4* rechts Shiften) entsteht bei leisen Signalen ein sehr störendes pumpartiges Rauschen. Der Noise Shaper verschiebt dieses Rauschen in einen höheren Frequenzbereich, so dass unser Ohr das Rauschen als weniger störend wahrnimmt.

Programmcode
Code:
//*************************************************************************
// Test noise-sharping 12Bit 44.1KHz 
//*************************************************************************
ISR(TCC0_OVF_vect)
{
    
    // Noise Shaper function
    int16_t sample_x = ADCA_CH0RES;
    int16_t sample_16 = sample_x * 12;
    sample_16 += quant_error;
    if (sample_16 < -32768){sample_16 = 32768;}
    else if (sample_16 > 32767){sample_16 = 32767;}
    int8_t sample_8 = sample_16 >> 8;
    quant_error = sample_16 - ((int16_t)(sample_8) << 8);
    
    /* convert 12Bit into 8Bit
    uint16_t sample_16 = ADCA_CH0RES;
    uint8_t sample_8 = sample_16 >> 4;
    */

    // DAC out
    DACA.CH0DATAH = sample_8;
    DACB.CH0DATAH = sample_8;

}


Um das zu demonstrieren habe ich ein paar Klangbeispiele aufgenommen. Jeweils ohne und mit der Noise Shaper Funktion. Am deutlichsten hört man es bei Sound 3+4. Ohne Noise Shaper versinkt das Piano quasi im 8Bit Rauschen.

Sound 1: https://drive.google.com/file/d/0BxbpDq ... sp=sharing
Sound 2: https://drive.google.com/file/d/0BxbpDq ... sp=sharing
Sound 3: https://drive.google.com/file/d/0BxbpDq ... sp=sharing
Sound 4: https://drive.google.com/file/d/0BxbpDq ... sp=sharing
Sound 5: https://drive.google.com/file/d/0BxbpDq ... sp=sharing
Sound 6: https://drive.google.com/file/d/0BxbpDq ... sp=sharing

Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

Von Andre gibts eine nächste Beta fürs DE:GENERATOR Gehäuse

Gehäuse Entwurf Beta15 :kaffee:
GUI%2BTEIL%2B1BETA15.bmp


Gruß Rolf und gute Nacht (für heute is genug) ;-)
 
Re: AVR Synthesizer "WAVE 1"

rolfdegen schrieb:
Von Andre gibts eine nächste Beta fürs DE:GENERATOR Gehäuse

Gehäuse Entwurf Beta15 :kaffee:
[ https://lh6.googleusercontent.com/-IMnhFdT8Pm8/VqUuzalhiLI/AAAAAAAACoI/jTfKMRL4upc/w900-h500-no/GUI%2BTEIL%2B1BETA15.bmp (•BILDLINK) ]

Gruß Rolf und gute Nacht (für heute is genug) ;-)

jetzt bin ich gerade schwer begeistert: das sieht ja richtig, richtig schick aus.

Also ich würde es so lassen :supi:

p.s. die Potis im Display sind mir nich nicht mal aufgefallen :mrgreen:
 
Re: AVR Synthesizer "WAVE 1"

Die Potis im Display sind überflüssig und haben keinen Mehrwert, hier würde ich lediglich die Parameter und die Bezeichnung des Wertes anzeigen und den Platz lieber für etwas anderes nutzen. Andonsten finde ich such, dass es super geworden ist.
 
Re: AVR Synthesizer "WAVE 1"

Mir gefällt dieser letzte Entwurf sehr gut! Kann so bleiben... ;-)

Mfg Aven
 
Re: AVR Synthesizer "WAVE 1"

T M A schrieb:
Rolf das Teil interessiert mich

Hallo Thorsten. Freut mich sehr das es dir gefällt :P


Unser Zeitplan für die weitere Entwicklung sieht im Moment so aus:


  • - Abschluss der Softwareentwicklung Ende Februar 2016
    - Platinen- und Gehäuseentwicklung bis Ende April 2016
    - Auslieferung von 1.Testmustern Mitte Mai 2016
    - Auslieferung an Endkunden Juni 2016

Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

rolfdegen schrieb:
T M A schrieb:
Rolf das Teil interessiert mich

Hallo Thorsten. Freut mich sehr das es dir gefällt :P


Unser Zeitplan für die weitere Entwicklung sieht im Moment so aus:


  • - Abschluss der Softwareentwicklung Ende Februar 2016
    - Platinen- und Gehäuseentwicklung bis Ende April 2016
    - Auslieferung von 1.Testmustern Mitte Mai 2016
    - Auslieferung an Endkunden Juni 2016

Gruß Rolf

Was ist noch mal, der aufgerufene Preis :denk:

Kann man irgendwo auf ne Vorbestellliste :dunno:

Foren $ :klemmgrins:
 
Re: AVR Synthesizer "WAVE 1"

Hallo chain

Wir sind noch am rechnen. Es soll so preiswert wie möglich sein ;-) Wenn die ersten Testmuster fertig sind wissen wir auch die Preise für Platinen und Gehäuse.

Eine Möglichkeit der Vorbestellung wird es dann auch geben und hier bekannt gemacht.

Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

rolfdegen schrieb:
Hallo chain

Wir sind noch am rechnen. Es soll so preiswert wie möglich sein ;-) Wenn die ersten Testmuster fertig sind wissen wir auch die Preise für Platinen und Gehäuse.

Eine Möglichkeit der Vorbestellung wird es dann auch geben und hier bekannt gemacht.

Gruß Rolf

Spontan 250€ aber real 399€

Es ist ein deutsches Produkt, darf auch mehr kosten, leider bin ich dann raus ;-) :floet:
 
Re: AVR Synthesizer "WAVE 1"

Hallo zusammen..

Der Schaltplan für das Frontpanel ist jetzt fertig. Insgesamt gibt es jetzt 13 Tasten, fünf Drehimpulsgeber und 3 Potis. Für die indirekte Beleuchtung der Drehimpulsgeber und Potis sorgen 32 LED's. Für spezielle Statusinformationen wzB Midi-Empfang und laufende LFO gibt es noch zusätzliche rote LED's. Die LED-Farbe kann aber bei der Bausatzbestellung selber ausgewählt werden.

Das LCD-Display wird über einen 8Bit breiten Datenbus vom Xmega Prozessor angesteuert. Mit dem Latch IC1a werden die oberen Adress- und Datenleitungen DB8-DB15 für das LCD erzeugt. Die LED-Hintergrundbeleuchtung liegt über R67 1.5 Ohm direkt an der Versorgungsspannung von +3.3 Volt.

Die Drehimpulsgeber und Tasten werden mit Hilfe eines Schieberigster IC3a, IC4a und IC5a über die SPI-Schnittstelle am Xmega Prozessor abgefragt. Über die gleiche SPI-Schnittstelle steuert das Schieberegister IC6a die roten Status LED's an.

Pot1+2 sind über zwei ADC-Eingänge am XMega verbunden und werden jede Millisekunde abgefragt. In der Modulationsmatrix kann diesen Potis ein oder auch mehrere Modulationsziele zugewiesen werden. Das Volum-Poti ist ein Stereo-Poti und steuert die Lautstärke am Audioausgang.

Schaltplan Frontpanel
PanelBoard.jpg



Schaltplan Prozessor Board
CPU_Board_321.jpg


Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

rolfdegen schrieb:
Hallöchen..

Im DE:GENERATOR habe ich für die Sample Aufnahme eine Noise Shaper Function integriert. Der ADC-Eingang arbeitet mit einer Auflösung von 12 Bit. Für die weitere Bearbeitung werden die Samples im DE:GENERATOR auf 8Bit herunter gerechnet. Beim normalen Herunterrechnen von 12 auf 8Bit (4* rechts Shiften) entsteht bei leisen Signalen ein sehr störendes pumpartiges Rauschen. Der Noise Shaper verschiebt dieses Rauschen in einen höheren Frequenzbereich, so dass unser Ohr das Rauschen als weniger störend wahrnimmt.

Programmcode
Code:
//*************************************************************************
// Test noise-sharping 12Bit 44.1KHz 
//*************************************************************************
ISR(TCC0_OVF_vect)
{
    
    // Noise Shaper function
    int16_t sample_x = ADCA_CH0RES;
    int16_t sample_16 = sample_x * 12;
    sample_16 += quant_error;
    if (sample_16 < -32768){sample_16 = 32768;}
    else if (sample_16 > 32767){sample_16 = 32767;}
    int8_t sample_8 = sample_16 >> 8;
    quant_error = sample_16 - ((int16_t)(sample_8) << 8);
    
    /* convert 12Bit into 8Bit
    uint16_t sample_16 = ADCA_CH0RES;
    uint8_t sample_8 = sample_16 >> 4;
    */

    // DAC out
    DACA.CH0DATAH = sample_8;
    DACB.CH0DATAH = sample_8;

}

Hallo Rolf,

ich finde besonders gut an Deinem Projekt, daß Du es mit allen teilst. Und damit sich das noch mehr für Dich lohnt, wollte ich Dir, zusätzlich zu dem Fehler in obigem Code, den Du bereits selbst entdeckt hattest, noch einen Tippfehler zukommen lassen:

Code:
    if (sample_16 < -32768){sample_16 = -32768;}
Aber das tatsächliche Problem ist, daß der mögliche Under-/Overflow von sample_16 in der Zeile mit "sample_16 += quant_error;" stattfindet und nachfolgend unbemerkt bleibt. Die "if/else if"-Abfragen sind entsprechend toter Code. Da muß also noch mal ganz ernsthaft drüber nachgedacht und neu codiert werden.
 
Re: AVR Synthesizer "WAVE 1"

Hallo Dan

Ja.. vielen Dank für deinen Hinweis. Ich schau mir den Code noch einmal an. Ursprünglich waren die Variablen quant_error und sample_16 32Bit breit. Um Prozessor Ressourcen zu sparen, habe ich die Variablen auf 16Bit gekürzt. Klangtechnisch habe ich keinen Unterschied zwischen der 16Bit und 32Bit Berechnung gehört.

Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

Vermutlich reichen auch weniger als 16 Bit. Dann wäre eine Lösung, statt mit 16 nur mit 15 Bit zu rechnen, so daß auch das Clipping wieder funktioniert:

Code:
    int16_t sample_16 = sample_x * 8;         // Hier nur von 12 auf 15 Bit hochrechnen
    sample_16 += quant_error;
    if (sample_16 < -16384){sample_16 = -16384;}
    else if (sample_16 > 16383){sample_16 = 16383;}
    int8_t sample_8 = sample_16 >> 7;        // Von 15 auf die gewünschten 8 Bit kommen
    quant_error = sample_16 - ((int16_t)(sample_8) << 7);
Daß das Clipping bisher nicht funktionierte, hätte man nur bei etwas stärker übersteuerten Aufnahmen anhand von fürchterlichem Krachen merken können.
 
Re: AVR Synthesizer "WAVE 1"

Ja beim Übersteuern trat dieses Krachen immer auf. Werde deinen Code gleich mal testen und mir das Ergebnis anhören. Man lernt ja nie aus... :supi:
 
Re: AVR Synthesizer "WAVE 1"

Du benötigst eine intelligente SHIFT Routine, welche immer den max. möglichen 8Bit Wert eines kompletten Audiotakes errechnet. Somit sind die 8bit immer am Anschlag, auch wenn Dein 12bit ADC z.B.: nur ein Peak 6bit Amplituden Sample empfangen hat (in diesem Fall ein Upshift/Add). Kombiniert mit einem Kompressor Algo - kompensiert das S/N nochmals...
 
Re: AVR Synthesizer "WAVE 1"

DanReed schrieb:
Vermutlich reichen auch weniger als 16 Bit. Dann wäre eine Lösung, statt mit 16 nur mit 15 Bit zu rechnen, so daß auch das Clipping wieder funktioniert:

Code:
    int16_t sample_16 = sample_x * 8;         // Hier nur von 12 auf 15 Bit hochrechnen
    sample_16 += quant_error;
    if (sample_16 < -16384){sample_16 = -16384;}
    else if (sample_16 > 16383){sample_16 = 16383;}
    int8_t sample_8 = sample_16 >> 7;        // Von 15 auf die gewünschten 8 Bit kommen
    quant_error = sample_16 - ((int16_t)(sample_8) << 7);
Daß das Clipping bisher nicht funktionierte, hätte man nur bei etwas stärker übersteuerten Aufnahmen anhand von fürchterlichem Krachen merken können.

Da stimmt etwas in der Berechnung nicht. Die Ausgabe hört sich schon bei leisen Pegeln sehr verzerrt an.

Änder ich den Wert auf von 15Bit auf 14Bit ist der Sound normal, clipt aber schon unterhalb von -6dB
Code:
 int16_t sample_16 = sample_x * 7;         // Hier nur von 12 auf 14 Bit hochrechnen

mmm :?
 
Re: AVR Synthesizer "WAVE 1"

Hier ein Wave Plot einer Aufnahme mit NoiseShaper

NoiseShaper
Code:
// Noise-Shaper
		int16_t sample_16 = ADCA_CH0RES * 8;
		sample_16 += quant_error16;
		if (sample_16 < -16384){sample_16 = -16384;}
		else if (sample_16 > 16383){sample_16 = 16383;}
		int8_t sample_8 = sample_16 >> 7;
		quant_error16 = sample_16 - ((int16_t)(sample_8) << 7);
			
		// DAC-OUT
		DACA.CH0DATAH = sample_8;
		DACB.CH0DATAH = sample_8;

Oben Sinus für die Aufnahme und unten das Ergebnis mit NoiseShaper
NShap01.JPG
 
Re: AVR Synthesizer "WAVE 1"

Ich denke, der Code ist in Ordnung. Aber ich erinnere mich wage, daß Du den AD-Eingang von single-ended auf differential umgeschaltet hattest? Vielleicht geht dort die negative Halbwelle verloren, siehe http://embedded-lab.com/blog/xmega-adc/ (In diesem Link steht auch, daß man die Multiplikation *8 in Hardware während des Samples ausführen lassen kann, spart nochmal ein/zwei Takte.)

Oder der Datentyp von ADCA_CH0RES ist unsigned. Dann müßtest du folgendes schreiben, um zu vermeiden, daß die Multiplikation unsigned ausgeführt wird:
Code:
int16_t sample_16 = (int16_t)ADCA_CH0RES * 8;

Übrigens:
rolfdegen schrieb:
Änder ich den Wert auf von 15Bit auf 14Bit ist der Sound normal, clipt aber schon unterhalb von -6dB
Code:
     int16_t sample_16 = sample_x * 7;         // Hier nur von 12 auf 14 Bit hochrechnen
14 Bit wären *4
 
Re: AVR Synthesizer "WAVE 1"

Der Datentyp von ADCA_CH0RES ist signed.

Ich hab jetzt alle möglichen Varianten getestet und komme mit deinem Code leider zu keinem brauchbaren Ergebnis.

Ich hab die Variablen jetzt von 16Bit auf 24Bit geändert und es funktioniert jetzt.
Code:
// NoiseShaper ----------------------------------------------------
		int16_t sample_x = ADCA_CH0RES * 16;
		sample_x += 32767;
		__int24 sample_16 = (__int24)sample_x;
		sample_16 += quant_error24;
		if (sample_16 < -32768){sample_16 = -32768;}
		else if (sample_16 > 32767){sample_16 = 32767;}
		int8_t sample_8 = sample_16 >> 8;
		quant_error24 = sample_16 - ((__int24)(sample_8) << 8);
		sample_8 += 128;
		DACA.CH0DATAH = sample_8;
		DACB.CH0DATAH = sample_8;

Noch eine Frage zum Audio Clipping am ADC-Eingang.
Wenn ich das im Code richtig verstehe, steht die if else Abfrage nur fürs software seitige Audio clipping.
Da der AD Wandler bei maximalen Pegel selber ein hardware seitiges Clipping macht, könnte man diesen
Teil im Code doch Überspringen. Oder ?

Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

Ah.. :idea:

Mir lies das jetzt keine Ruhe und hab mal die if else Abfrage im Code entfernt. Und siehe da... jetzt läufts auch mit deinem Code wunderbar :phat:

Code:
// NoiseShaper ----------------------------------------------------
		int16_t sample_16 = ADCA_CH0RES * 8;
		sample_16 += quant_error16;
		/* if (sample_16 < -16384){sample_16 = -16384;} */
		/* else if (sample_16 > 16383){sample_16 = 16383;} */
		int8_t sample_8 = sample_16 >> 7;
		quant_error16 = sample_16 - ((int16_t)(sample_8) << 7);
		DACA.CH0DATAH = sample_8;
		DACB.CH0DATAH = sample_8;
 
Re: AVR Synthesizer "WAVE 1"

Hallo ihr Lieben!

Da die Entwicklung der Platinen noch etwas andauert, habe ich die Zeit genutzt und an der Verbesserung der Menüoberfläche gearbeitet. Damit man die Menüseiten besser unterscheiden kann, haben diese jetzt farbige Frames, die nach Funktionsgruppen sortiert sind. So haben zum Beispiel die Menüseiten für den Oszillator alle einen blauen Frame und die LFO's einen grünen Frame.

Menu.JPG


Die Menüseite für den Filter wurde auch überarbeitet. Entsprechend der eingestellten Filterfunktion wird der Frequenzverlauf und die Resonanz als grafische Filterkurve dargestellt. Ein kleines Scope Fenster auf der rechten Seite zeigt die Wellenform des Filterausganges in Echtzeit an.

Picture%2B19.jpg


Das MiniScope hat jetzt eine bessere Triggerfunktion erhalten. Der Triggerlevel kann jetzt auch auf negative Amplitudenwerte eingestellt werden. Auf der linken Seite zeigt ein kleiner gelber Pfeil auf den eingestellten Pegel. Wird der Triggerlevel auf 0 eingestellt, ist die Triggerfunktion ausgeschaltet.

Als nächstes steht die Oszillator Engine auf dem Programm. Ich will das Bedienkonzept etwas vereinfachen, wodurch die ganze Sachen dann etwas überschaubarer wird.

Bis zum nächten Post und ein schönes Wochenende.

Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

Hallöchen..

Andre hat das CPU-Board jetzt fertig entwickelt. Ich muss es jetzt auf Fehler überprüfen und wenn alles gut ist werden diese Woche die ersten Platinen in China bestellt. Bin gespannt..

Die zwei Pfostenleisten K3 und K4 auf der rechten Seite verbinden das CPU-Board über zwei Flachbandkabel mit dem Bedienpanel für die LCD-Anzeige, Tasten und Encoder. Die restlichen Pfostenleisten sind mit dem Motherboard verbunden und zuständig für Stromversorgung, Audio- und Steuerleitungen. Die zwei 8 poligen Pfostenleisten auf der linken Seite des CPU-Boards sogen für einen sicheren und festen Halt der SD Karte Buchse.

DE-GENERATOR CPU-Board
CPU_Board_final_a.JPG


CPU_Board_final_b.JPG


CPU_Board_final_c.JPG


Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

Hallo.. ich schon wieder Augenzwinkern

Montags ist eben immer viel los und auch bei mir in der Entwicklungswerkstatt.

Um den DE-GENERATOR in seiner "unbegrenzten" Möglichkeit der Klangerzeugung noch zu steigern, können jetzt die 128 festen Wellenformen als Wellenform Bank von der SD Karte geladen werden. Insgesamt besteht dann die Möglichkeit auf 128*100 Waveforms und 128*100 Sample-Files zu zugreifen . Eine Wellenform Bank besteht aus 128 einzelnen 256 Byte großen Wellenformen. Diese können zB am PC mit einem Audioeditor (Audacity) hergestellt und auf die SD Karte kopiert werden. Im Oszillator Menu kann dann der Benutzer auf die verschiedenen Wellenform Bänke und Sample-File Bänke zugreifen. Eine Editierung der Wellenform Bank ist im DE-GENERATOR momentan noch nicht vorgesehen.

Mit dem Mode Schalter kann zwischen der Auswahl von Wellenform oder Sample-File umgeschaltet werden.

Auswahl von Waveforms
IMG_20160229_151838.jpg

IMG_20160229_151910.jpg


Auswahl von Sample-Files
IMG_20160229_152957.jpg


Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

Hallöchen. Was ich zur Zeit mache.. nix Augenzwinkern

Das war gelogen. Ich arbeite zur Zeit an ein paar Midi Funktionen für den DE:GENERATOR. Bei einer Funktion handelt es sich um eine kleine Midi Noten Verwaltung (NoteStack).

Der NoteStack macht folgendes: Wenn ich eine Midi Note spiele, wird die Noten Nummer auf Platz 1 im NoteStack gespeichert und der Ton vom Synthesizer gespielt. Lasse ich die Taste wieder los, so wird die Note im NoteStack gelöscht und der Ton wird ausgeschaltet. Simpel..

Jetzt drücken wir aber zwei Noten. Fast passiert: Zuerst wird die 1.Note auf Platz 1 im NoteStack gespeichert und der Ton gespielt. Danach wird die 2.Note auf Platz 2 im NoteStack gespeichert und der Ton für die 2.Note gespielt. Damit befinden sich jetzt zwei Noten im NoteStack. Die 1.Note auf Platz 1 und die 2.Note auf Platz 2. Lasse ich jetzt die 2.Note los, so wird im Stack die 2.Note auf Platz 2 gelöscht und der Ton für die 1.Note gespielt.

Änliches passiert wenn die 1.Note losgelassen wird und die 2.Note noch gespielt wird. Dadurch wird dann die 1.Note auf Platz 1 im NoteStack gelöscht und die 2.Note auf Platz 1 verschoben. Der Ton für die 2.Note wird ohne Unterbrechung weiter gespielt. Insgesamt können 16 Noten im NoteStack verwaltet werden.

NoteStack Schema
NoteStack_01.jpg


C-Code Beispiel
Code.JPG


Gruß Rolf
 
Re: AVR Synthesizer "WAVE 1"

Mal ein anderes Thema aber trozdem passend smile

Bei mir Zuhause hat sich wieder einiges in der Multimedialandschaft getan. Da mein Linux TV Receiver (VU+ Ultimo) schon etwas älter ist, macht das schauen von Filmen, Dokumentation o.ä. nicht sonderlich viel Spaß. Man muss dabei immer etwas Zeit und Geduld aufbringen bis die Menüs erscheinen und die Tasten reagieren. Aus diesem Grund habe ich mir eine schnelle Streaming Box gekauft. Es ist die neue Fire TV Box von Amazon.

Amazon Fire TV Box
FireTV.JPG

Link: http://www.amazon.de/Das-neue-Amazon-Fi ... ire+tv+box

Die Fire TV Box ist ein kleines schwarzes Kästchen mit viel Ausstattung. Sie besitzt WLan, Lan, Bluetooth 4.1, SD CARD Einschub, externes Netzteil und Fernbedienung. Eingebaut ist ein leistungsstarken Quad Core Prozessor mit 8GB Ram.

Die Fire TV Box unterstützt das Abspielen von Videos auf einem USB-Festplatten oder USB Sticks. Dazu ist das installieren einer App wzB VLC oder Kodi notwendig. Leider werden nur Festplatten oder Sticks mit FAT32 Format erkannt. Für die Fat32 Formatierung hatte ich zuerst das Programm "Fat32Formatter" benutzt. Mein neuer 64GB USB Stick von SanDisk wurde von der Fire TV Box damit nicht erkannt. Als ich dann den USB-Stick mit dem Programm "h2format" von heise.de formatiert habe, funktionierte es problemlos.

Rückseite der Fire TV Box
FireTV_back.JPG


Leider besitzt die Fire TV Box keinen externen Audio Ausgang um zB Musik über die HiFi Anlage zu hören. Macht aber nix. Über den eingebauten Bluetooth Funk lässt sich mit Hilfe eines preisgünstigen Bluetooth Audio Adapters (Logitech) das Audio Signal mit der HiFi Anlage verbinden. Diesen habe ich jetzt bestellt und bin gespannt wies klingt...

Logitech Bluetooth Audio Adapter
BTAudio.JPG

Link: http://www.logitech.com/de-de/product/b ... io-adapter

Neue Kopfhörer
Nachdem ich meine alten AKG K540 Kopfhörer schon zwei mal umgetauscht habe und immer wieder der Kopfbügel gebrochen ist, wurde es Zeit für einen neuen und vor allem einen stabilen Kopfhörer der nicht schon beim leichten auseinanderziehen am Kopfbügel auseinanderbricht.

Defekten AKG K540
AKG_K540.jpg

Link: http://www.amazon.de/AKG-AKGK540-K-540- ... B0042P6JA4

Da mein Arbeitsbereich die Musikelektronik ist, gehören die Kopfhörer zu meinem täglichen Werkzeug. Aus diesem Grund habe ich mich für den Beyerdynamic DT-990 Pro 250 Ohm entschieden. Er ist leicht, bequem und hat einen ausgezeichneten Klang. Längeres Tragen ist mit den 'flauschigen' Ohrmuscheln kein Problem. Das Spiralkabel ist von guter Qualität und fürs tägliche Arbeiten am Mischpult und Computer lang genug.
Ich habe den DT-990 Pro am Kopfhörerausgang meines Mischpultes angeschlossen. Die Lautstärke des DT-990 Pro ist im Verhältnis zu meinen alten AKG K540 Kopfhörern etwas leiser (wegen der größeren Impedanz), aber das Mischpult hat genug Pegelreserven um das auszugleichen.

Fazit: Ein preiswerter und guter Kopfhörer mit sehr guten Klangeigenschaften. Meine Empfehlung!

Beyerdynamic DT-990 Pro
Kopfh%25C3%25B6rer.JPG

Link: http://www.amazon.de/Beyerdynamic-DT-99 ... B0011UB9CQ

Viele Ostergrüße aus Wuppertal. Rolf
 


Zurück
Oben