High weil ich gerne Musik selber mache und mit Microcontrollern bastele habe ich mir mit einem Atmel Tiny85 (8KB Flash) einen kleinen Musikgenerator zusammengebastelt den ich 'PlayMe!' genannt habe. Es spielt 1 bit codierte Musiksamples ab. Das Ding funktioniert so: - erstmal komponiere ich einen 1,445 Sekunden langen Loop (1 Takt bei 166 BPM) - dieses kurze Musikstück wandele ich dann mit dem BTc Sound Encoder in eine 1 bit codierte Datei um. Leider macht das BTc Programm nur PIC assembler code deshalb habe ich mir mit Blitzbasic 1.91 einen kleinen umwandler Programmiert der aus dem PIC code dann Atmel code macht. - diesen Atmel code füge ich dann hinten an mein PlayMe! Musikgenerator Programm an. - als hex Datei kann es nun mit einem high voltage Programmiergerät auf den Tiny85 geschoben werden. So, nun kann man mit dem gerät spielen. Es gibt fünf Taster. Einer für die veränderung der Abspielgeschwindigkeit und mit den restlichen vier Tastern können je nach Tastenkombination verschiedene Punkte und Längen innerhalb des komponierten Musikloops angesprungen werden. Je nach Übung, Tastenkombination und schnelligkeit der Tastenwechsel entsteht dadurch ein neues Lied. Natürlich erfolgen alle Tastenwechsel automatisch im Takt der Musik. Bilder, Schaltplan, alle meine Programme mit Sourcecode, Test wav Dateien, eine MP3 Demo, eine ausführliche Beschreibung und das BTc Programm sind im Anhang. Weil die Datei zu gross ist (3MB) konnte ich sie nicht direkt hier im Forum anhängen deshalb habe ich sie hier hingepackt: http://www.file-upload.net/download-1473092/PlayMe--v2.1--Atmel-Tiny85---1bit-DA-Musikgenerator-.rar.html Na dann viel spass Audiooxyd
Mit was macht man das? Versuch schon ewig einen Einstieg zu finden ...
Sehr nettes Teil, überlege mir das auch zu bauen, vorallem wegen dem geringen Hardwareaufwand. Zur Funktion: Sehe ich das richtig, dass man am PC ein kleines Lied macht, das anschliessend in PIC- Code wandelt, und daraufhin in AVR-Code. Nun hängt man diesen Code an dein Programm an und flasht alles auf den µC. Mit den Tasten kann man nun das Lied langsamer oder schneller laufen lassen und Vorwärts oder Rückwärts im Lied springen. Passt das so? Gruß, Steffen
@ Gast was meinst du? meinst du den kurzen loop? das hab ich mit "propellerhead reason" gemacht. oder meinst du das fertige mp3? das hab ich mit meinem "PlayMe!" gemacht "computerartigestimme an" >>> "keine effektive antwort möglich... zuwenig input" "computerartigestimme aus" ^_^ @ Steffen Dankeschön ^_^ Ja, alles richtig erkannt! solange man den einen taster drückt (portb5 am pin eins) dann wird das abspielen langsamer in 16 abstufungen und springt dann wieder auf schnelles abspielen. den taster kann man auch drücken während man gleichzeitig andere tasten drückt. die anderen tasten verändern die aktuelle abspielposition und abspiellänge zum beispiel: - nur taste 1 gedrückt (portb1) >>> vom ersten bis zweiten achteltakt wird wiederholt (der ganze loop hat acht achteltakte). - taste 3 (portb3) und 4 (portb4) zusammen gedrückt >>> vom fünften bis achten achteltakt wird wiederholt. usw. ich habe versucht die tastenkombinationen halbwegs sinnvoll zu den achteltakten zuzuordnen. aber nicht vergessen: es wird ein "high voltage" programmiergerät gebraucht sonst kann man die langsamer/schneller taste nicht verwenden! viel spass beim nachbau Audiooxyd
Ah, genau ... "propellerhead reason" war die richtige Antwort :-) Danke! Wie lang machst du sowas schon?
@ Gast reason benutze ich seit es das gibt (ich glaube seit 2002) musik mache ich aber schon länger und mit microcontrollern bastele ich seit ca. 2 jahren. viele grüsse Audiooxyd
High damit das Umwandeln der '.wav' Datei in den '1 Bit-Code' einfacher geht hat mein Bruder jetzt ein schönes Programm geschrieben das direkt aus der '.wav' Datei den '1 Bit-Code' für das 'PlayMe!' generiert. Das Programm mit Sourcecode (für Pure Basic 4.3) und eine Anleitung habe ich zu diesem Beitrag angehängt. Anleitung: - oben im Menü wird die '.wav' Datei geöffnet. - wenn man mit der Maus in den weissen Bereich klickt dann kann man die angezeigte Position verschieben. - mit der 'Leertaste' wird der '1 Bit-Code' abgespielt. Wenn die 'Leertaste' gedrückt gehalten wird dann kann man mit den drei Schiebereglern den '1 Bit-Code' an die original '.wav' Datei anpassen dabei zeigt der 'Error' Wert (unten rechts) an wie weit der '1 Bit-Code' von der '.wav' Datei entfernt ist. Kleinerer 'Error' Wert = bessere Ähnlichkeit. - mit dem 'Volume' Schieberegler wird die Lautstärke der '.wav' Datei verändert. VORSICHT !!! Übersteuerungen hören sich schrecklich an und führen zu aussetzern und knacken im '1 Bit-Code' !!! - oben im 'File' Menü kann man den 'PlayMe!' Atmel Code dann abspeichern ('Export PlayMe). viel Spass Audiooxyd
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.