Hallo Ich experimentiere hier gerade mit einer Schaltung, die mir das Geräusch eines Läutewerks von Bahnschranken nachahmen soll. (Modellbahn) Mit einem Sinusgenerator lasse ich ca. 400Hz erzeugen und ein astabiler MV mit 0,5 Hz ändert dessen Amplitude. So weit, so schlecht. :-( Es ist kein realistisches Geräusch zu erreichen. Es gab mal von Siemens diese SAB...xxx Schaltkreise, aber die hatten m.E. einen solche Ton nicht drauf. Frage: Hat schon mal jemand versucht, mittels AVR ein solches Geräusch zu erzeugen? Ich denke dabei an eine .wav oder .mp3 -Datei, die ein einzelnes "Bing" enthält und immer wieder neu aufgerufen wird. MfG Paul
Geh zu einer realen Bahnschranke, nehme das Geräusch auf, bearbeite es etwas am PC, speichere es als MP3 oder sonst was und lasse es durch einen entsprechenden Decoder (VS100?) abspielen.
denke auch das es nicht so einfach hinzubekommen ist. Das beste dieses Geräusch vor Ort aufnehmen. Den Ton macht ja nicht nur seine Frequenz aus sondern die Obertöne, sonst wurde jedes Instrument gleich klingen. Mit einem AVR könntest du das schon aufnehmen. ADC höher takten das sollte schon 20kHz und 8Bit drin sein. Der chinesische Fädelprofi hat ein paar Soundbeispiele auf seiner Homepage. Allerdings weis ich nicht ob er den "Originalsound" auch mit dem AVR aufgenommen hat oder ihn nur bearbeitet hat. http://elm-chan.org/works/vp/report.html Vielleicht kann dir auch einer im Bahn-Forum www.drehscheibe.de den aufgenommenen Klang liefern.
Hallo, 22kHz/8Bit reichen dicke dafür, Aufnahme allerdings möglichst in 44,1/16Bit machen und dann mit einem guten Audioprogramm resamplen, dann kommt es auch ohne Alaising-Störungen. Dann eben auf einen Eproms oder Flash packen, R2R-Netzwerk an die Daten und Adresszähler an die Adressen. Aua, jetzt weiß ich nicht, wie Du den AVR dann ins Spiel bringst... ;) Gruß aus Berlin Michael
Ich habe jetzt das passende Geräusch als .wav-Datei da. Die ist ungefähr 30kByte groß. Jetzt suche ich eine Möglichkeit, die Datei mit möglichst geringem Hardwareaufwand (nur der Avr, ohne externe Decoder, DA-Wandler etc.) "abzuspielen". Die Suche hat mich nur zu MP3-Playern mit AVR´s geführt, aber so gut muß die Qualität bei so einem Geräusch wohl nicht sein. Wer hat schon eine derartige Sache realisiert? MfG Paul
@Frank Den Türgong habe ich mir eben angesehen, jedoch ist das Funktionsprinzip für meine Aufgabe nicht geeignet. MfG Paul
Nik Bamert hat hier mal eine Tonausgabe per PWM angesprochen. Wie er das gemacht hat, weiß ich allerdings (nicht mehr). Es wurde aber per Tiny15 oder so realisiert.
@Rahul Das ist ein guter Tip. Leider gibt es die Funktion "Autorensuche" nicht und mit der normalen Suche nach z.b. "PWM" wird nichts gefunden. ....da habe ich mir ja was in den Kopf gesetzt. ;-) Paul
Hallo, ich weiß nicht, ob ich jetzt daneben liege: PWM mit Samplefrequenz aktualisieren und als PWM-Wert den 8Bit-Wert aus dem Sample? Wenn Du das Sample in 8Bit unsigned speichern kannst, müßte es direkt passen, Tiefpaß an den PWM-Ausgang mit F = Samplerate/2, Transistor und Minilautsprecher. Tiefpaß ist vermutlich Luxus, ein passendes C parallel zum Lautsprecher tut es sicher auch. Bei 8Bit signed als Sample-Format müßtest Du wohl den Kram noch umrechnen. Der Gleichspannungsanteil, der dabei entsteht (-128 -> 0, 1 -> 128 -> 127 -> 255 stört in der Praxis nicht. Gruß aus Berlin Michael
Ich habe mich noch nicht mit dem Aufbau von .wav - Dateien befasst, da ich glaubte, daß sich dieses Problem mit meiner o.g. Idee lösen ließe. Das wollte ich mir eigentlich auch ersparen, weil man sich den Kopf nicht noch mit Sachen füllen sollte, die man sonst nie wieder braucht. ;-) Na, da will ich mal suchen, ob ich den Aufbau von .wav irgendwo finde und sehe dann weiter. Danke erst mal für Eure Hinweise und Ratschläge MfG Paul
Hallo, den Aufbau findest Du sicher im Netz. Ist für Deinen Zweck relativ simpel. Da Du ja selbst festlegst, in welchen Format Du den Kram in den AVR packen willst, bracuhst Du nur ein Audiotool, das halbwehs brauchbar konvertiert. Mein Vorschla wäre, 22kHz Samplrate zu probieren und 8Bit unsigned zu speichern. Dann mit einem Hex-Editor den wav-Header abschneiden und wegwerfen. Was bleibt ist das reine RAW-File, wo in jedem Byte der Spannungs(Lautstärkewert) steht. Den muß Du nur noch Byte für Byte mit der richtigen Geschwindigkeit an einen DA-Wandler (oder eben eine PWM) schicken. Ich kann Dir das wav auch in irgendwelche passenden Formate konvertieren, ich habe Software dafür auf dem Rechner, da müßtest Du Dich dann nur hier melden. Gruß aus Berlin Michael
1. wav-file mit zb 8bit/11025samples erstellen 2. mit http://ulrichradig.de/ -> projekte -> winbin konvertieren 3. timer mit 11025Hz interruptfrequenz laufen lassen und bei jedem interrupt einen pointer erhoehen und den wert ausgeben.
Schau dir mal dies an: http://www.romanblack.com/picsound.htm Da kannst du mit wenig Aufwand und sparsamer Speichernutzung was brauchbares hinbekommen.
Ich habe mal das schweizerische BUe-Geräusch mit minimalem SW- und HW-Aufwand nachgebaut: Es handelt sich dabei um ein 1-kHz-Rechtecksignal mit abfallender Amplitude. Ein kleiner PIC toggelt einen Ausgang mit dieser Frequenz, das Signal gelangt auf ein digitales Poti, welches ebenfalls vom PIC angesteuert wird. Das Ganze wird anschliessend verstärkt und einem Lautsprecher zugeführt. Das Resultat klingt verblüffend echt!
Ich habe mir eben mal den Link von Winfried angesehen. Das Programm dort funktioniert prima und ich konnte mir miene Datei damit "zurechtstutzen". Jetzt bin ich dran, mir den Algorithmus auf´s Papier zu bringen, wie ich die Sounddatei "angreifen" muß, um sie Bit für Bit herunter zu rasseln. Ich muß wohl einen Mega16 oder einen Mega8515 dafür nehmen, damit ich alles "unterkriege". @Bähnler So ungefähr war auch meine erste Idee, die ich oben beshrieben habe. Das Ergebnis hat mir aber nicht so gut gefallen. MfG Paul
am leichtesten wäre es wenn du einen externen DAC nimmst und den Spannungswert einfach an den DAC gibts. Also mit einem Timerinterrupt die Zeit einstellen wann ein neuer Wert an den DAC ausgegeben wird.
Hallo, ich habe mir das auch gerade mal angesehen, mal schauen, wie sein Beispielsound auv dem AVR wirklich klingt... Ist doch nur ein 22050Hz-Timerinterruot, der immer 1 Bit an den Ausgang legt, also wenige zeilen Code, egal in welcher Sprache. Das PIC-asm habe ich im Editor mit Ersetzen zum AVR-asm mit .db usw. gemacht. Gruß aus Berlin Michael
>Ich habe jetzt das passende Geräusch als .wav-Datei da.
Würdest du die Datei mal posten?
Währe nett.
>also man sollte dem DAC schon 8 Bit liefern.
Das ist doch gerade der Trick von Roman Black, daß er nur zwei
Bitströme ausgibt und die mit 2 Widerständen und einem Kondensator
nach Analog wandelt.
Ich habe eben noch eine Applikation gefunden: http://www.atmel.com/dyn/resources/prod_documents/doc2572.pdf Das ist aber alles in C geschrieben und davon habe ich keine Áhnung. :-( @Michael Kannst Du bitte mal den Programmcode posten? Mit welchem AVR -Typ hast Du es getestet? @Franz-Rainer Das Geräusch stammt von einer CD mit weiteren Geräuschen, die ich mal auf einem Eisenbahnerflohmarkt gekauft habe und ich kann es nicht herschicken, weil es sonst vielleicht Ärger wegen dem Urheberrecht gibt. :-( Als Beispiel, welches ähnlich klingt, habe ich diesen Link: http://www.champex-linden.de/produkte/anlagen/elektrik/geraeusche.htm Dort die oberste Datei und das letzte Geräusch. MfG Paul
Hallo, ich habe es noch nicht auf dem AVR gepielt, nur die Beispiel-Wav aus dem picsound-Archiv mal in der Vorschau angehört. Naja... Ich werde es aber mal auf dem AVR nachher probieren. Da ich meine Zeit im Moment mit Kisten packen verbringe (der Umzug ins Nachbarhaus wegen Reko hat sich ja "nur" um ein gutes halbers Jahr verzögert......), erhole ich mich eben am PC. ;) Die Qualität der mp3-Vorlage aus dem letzten Postung ist durchwachsen, mit picsound schon in der Vorschau unbrauchbar... Ich werde das aber mal nachher in 8Bit-PWM versuchen abzuspielen, nur 1 Gong so beschneiden, daß es als Loop laufen kann. Ich habe hier zwar noch eine Sammlung Lok-Geräusche eingelagert (wohl Schallplatte gewesen), aber keine Läutewerk dabei... Gruß aus Berlin Michael
Hallo, hab hier nochwas gefunden: http://www.avrfreaks.net/index.php?module=Freaks%20Tools&func=viewItem&item_id=402 Hab es mal unveräbdert auf einen alten 8515 gebrannt, 8MHz-Quarz dran und an Pin B1 eine 50 Ohm-Quäke mit 380 Ohm Vorwiderstand gehangen. Spielt zumindest, den Source zumindest, muß ich mir mal genauer ansehen. Gruß aus Berlin Michael
@Michael Na, da hast Du ja durch Deinen Umzug genug um die Ohren und jetzt auch noch Bahngeräusche dazu. ;-) Ich habe das auch nur mit dem PICSOUND - Programm ausprobiert. Klingt nicht mehr sehr "original", das Läutewerk. Textansagen dagegen sind ziemlich gut verständlich. Der Link ist gut! Anhand des Quelltextes sehe ich jetzt erstmal, WIE es überhaupt gemacht wird. Leider habe ich keinen 8515 mehr da. Ich will mal in´s Datenblatt gucken, wie der Atmega16 mit Speicher ausgerüstet ist. Vielleicht geht es auch damit. Danke Dir erstmal Paul
Hallo, hab den Kram mal schnell an den Mega16 angepasst bzw. die Timer-Vereinbarungen statt seiner Bitmuster eingetragen. Da ist im Moment das Bim aus Deinem Link drin, wird nach Start an PB1 endlos gespielt, Tastenabfrage ist tot zur Zeit, naja, das findest Du selber. An der PWM-Geschichte war ich noch nicht dran, ich denke so zwischendurch über 4Bit-Sample nach, ADCPM würde sicher auch gehen, das habe ich mir aber noch nicht sonderlich angeschaut. 11,025kHz Samplerate würden schon reichen, mit 4 Bit Auflösung wäre dieses "Bim" dann ca. 5kB groß und der Kram würde in irgendeinen 8kB AVR passen. Muß mal schauen, ob ich irgendwas habe, was auf 4Bit runterrechnet oder per Script eben das 8Bit-Wave konvertieren und ein asm basteln. Etwas zeit habe ich schon noch, Umzug ist ja nur ins Nebenhaus, Schlüssel dort erst ab nächsten Dienstag, Urlaug habe ich sowieso schon. Der Rechner ist also noch gangbar und das STK500 liegt hier. Nur an alle Bauteile komme ich nicht mehr ran... Gruß aus Berlin Michael
@Michael Oh, oh, während ich hier noch kopfüber im Datenblatt steckte, hast Du schon die Sache in die Tat umgesetzt. Das funktioniert. Ich habe bloß noch geändert, daß er in der Tastenabfrage "kreiselt", bis einer drückt. Jetzt werde ich noch ein wenig mit damit experimentieren, die Sounddatei "zusammen zu pressen". Gerade habe ich nämlich gemerkt, daß der Mega 16 nicht in mein Bahnwärterhaus passt ;-) Mal sehen, hier sind noch ein paar Mega 8 da, vielleicht kann ich es dann da hinein "würgen". Gruß aus Thüringen Paul
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.