Forum: Mikrocontroller und Digitale Elektronik ?suche nach einem Soundmodul mit variabler Geschwindigkeit


von Michael (bandpass)


Lesenswert?

Guten Tag,

wende mich mit einer Suchanfrage an euch, da ich das passende leider 
nicht gefunden habe.
Ich suche ein Soundmodul für ein Museumsprojekt. Der Trick ist der, dass 
man die Sounddateien mit variabler Geschwindigkeit zur Laufzeit des 
Stücks abspielen können soll, wobei sich die Tonhöhe nicht verändern 
darf. Ob das mit mp3 Dateien überhaupt gehen kann überblicke ich leider 
nicht, mit wav sollte es ja gehen.
Für den Modellbau (Motorgeräusche usw.) gibt es das wohl, aber meist nur 
mit kurzer Laufzeit (Speichertiefe).
Bei mir spielt die Baugrösse aber keine Rolle.
Die Soundstücke müssen allerdings beliebig lang sein dürfen (SD-Karte), 
also nicht nur ein Modul, das einige Sekunden abspielen kann.
Kennt jemand so ein Modul oder ein Modul auf dem ein IC ist, das 
vielleicht diese Eigenschaft versteckt hat?
Selbstbau ist sicher eine Option, die Latte dürfte dafür für mich aber 
doch recht hoch liegen. Ein IC das man ansteuern kann wäre da schon viel 
einfacher und meine "Firmware Welt".

Herzlichen Dank für jeden Tipp
Michael

von Christoph S. (mr9000)


Lesenswert?

Nein, mit wav geht es auch nicht so einfach. Wenn ich einen 400Hz-Sinus 
mit den hinterlegten Werten und der bekannten Datenrate nur halb so 
schnell abspiele, kommt da ein 200Hz-Sinus am Ende raus.
Wenn Speicherplatz keine Rolle spielt, könntest du das Audiofile mit 
Audacity in verschiedenen Geschwindigkeiten hinterlegen, Audacity kann 
die Geschwindigkeit ohne Tonhöhenänderung ändern, muss das aber 
berechnen. Das wäre nicht "on-the-fly".

von Motopick (motopick)


Lesenswert?

Benutze "einfach" Sprachsynthese. Die kann langsam oder schnell plappern
ohne die Tonhoehe aendern zu muessen.

Aendert man die Abspielgeschwindigkeit, aendert sich normalerweise
auch die Tonhoehe. Schlumpf- und Mickymousestimmen sind dir ja
wohl bekannt. Mit einem "Pitchshifter" kann man das im begrenzten
Masse beheben.
Wie sich das bei den einfachen "Pitchshiftern" anhoert, kannst du
mit dem Videoplayer "VLC" ausprobieren, Der kann dieses Kunststueck.

von Michael (bandpass)


Lesenswert?

Christoph S. schrieb:
> Nein, mit wav geht es auch nicht so einfach. Wenn ich einen 400Hz-Sinus
> mit den hinterlegten Werten und der bekannten Datenrate nur halb so
> schnell abspiele, kommt da ein 200Hz-Sinus am Ende raus.
> Wenn Speicherplatz keine Rolle spielt, könntest du das Audiofile mit
> Audacity in verschiedenen Geschwindigkeiten hinterlegen, Audacity kann
> die Geschwindigkeit ohne Tonhöhenänderung ändern, muss das aber
> berechnen. Das wäre nicht "on-the-fly".

UPS, dann geht das ja gar nicht. Hatte mir vorgestellt, durch Variation 
der Abtastrate bzw. durch weglassen bzw. Mehrfachausgabe von Samples, 
dass das geht. Aber du hast recht, einige Versuche mit Excel zeigen, 
dass das nicht trivial ist. Sorry, hätte ich auch gleich machen können.

von Achim H. (anymouse)


Lesenswert?

Hm, also bei diversen Playern kann ich die Geschwindigkeit anpassen, 
ohne die Tonhöhe bzw. merklich zu verändern. Das geht also auch 
"on-the-fly" -- allerdings braucht das etwas Rechenleistung.

SingleBoardComputer könnten vielleicht ausreichend sein, da wäre nur das 
Problem der Ansteuerung bzw. des Benutzerinterfaces.

Vielleicht ist auch eine stufenlose Geschwindigkeitsregelung gar nicht 
soo relevant, und man kommt mit einigen wenigen 
Geschwindigkeitsvarianten aus; dann könnte man die vorher berechnen, was 
aber Speicher benötigt, und braucht diese nur abzuspielen.

von Klaus H. (hildek)


Lesenswert?

Achim H. schrieb:
> Hm, also bei diversen Playern kann ich die Geschwindigkeit anpassen,
> ohne die Tonhöhe bzw. merklich zu verändern. Das geht also auch
> "on-the-fly" -- allerdings braucht das etwas Rechenleistung.
Richtig, verschiedene Android-Apps können das. Aber die leben 
tatsächlich von der verbauten Rechenleistung. Aber damit wird es wieder 
schwierig, das über ein Poti einen Museumsbesucher bedienen zu lassen.

> SingleBoardComputer könnten vielleicht ausreichend sein, da wäre nur das
> Problem der Ansteuerung bzw. des Benutzerinterfaces.
Wenn man einen Software dafür findet, ja. Selber schreiben mag durchaus 
anspruchsvoll sein und wird man wegen der externen Bedienung 
wahrscheinlich tun müssen.

von Falk B. (falk)


Lesenswert?

Klingt nach einem Job für einen Raspberry PI. Poti einlesen über 
externen ADC (oder Trickschaltung, ggf. Drehgeber), passende 
Software damit steuern.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Falk B. schrieb:
> Klingt nach einem Job für einen Raspberry PI. Poti einlesen über
> externen ADC (oder Trickschaltung, ggf. Drehgeber), passende
> Software damit steuern.

Hähä.

Es dürfte wohl an der "passenden Software" scheitern...

von Matthias 🟠. (homa)


Lesenswert?

Ob S. schrieb:
> Falk B. schrieb:
>> Klingt nach einem Job für einen Raspberry PI. Poti einlesen über
>> externen ADC (oder Trickschaltung, ggf. Drehgeber), passende
>> Software damit steuern.
>
> Hähä.
>
> Es dürfte wohl an der "passenden Software" scheitern...

https://de.wikipedia.org/wiki/SoX

https://sox.sourceforge.net/sox.html

Michael schrieb:
> Der Trick ist der, dass
> man die Sounddateien mit variabler Geschwindigkeit **zur Laufzeit**² des
> Stücks abspielen können soll, wobei sich die Tonhöhe nicht verändern
> darf.

² **könnte zum Problem werden**

von Mario M. (thelonging)


Lesenswert?

MPlayer im Slave Mode.

von Karl B. (gustav)


Lesenswert?

Also bei bestimmten WAV-Editoren am PC gibt es die Möglichkeit zu 
"transponieren". Mit der Auswahl, "ursprüngliche Länge beibehalten" oder 
nicht.
Bei "Länge beibehalten" kommen bei mir Artefakte hinzu.
Also hörbare Lücken, oder Jittern.
Bei etwa einem temperierten Halbton rauf oder runter klappt das noch 
einigermaßen, bei einer Oktav höher, sind Lücken deutlich hörbar.

Hatte mich früher schon damit beschäftigt, aber die Ergebnisse waren 
nicht zufriedenstellend.
Beitrag "Tonhöhenverschieber mit Eimerkettenspeicher"

Der Rechenaufwand muss schon ein bisschen höher sein.
Mir ist momentan auch kein Player bekannt, der wirklich in der Hinsicht 
total überzeugen würde.

ciao
gustav

P.S.: Die Freilaufdioden im alten Schaltplan sind falsch herum gepolt.

: Bearbeitet durch User
von Zino (zinn)


Lesenswert?

Wenn nicht genug CPU-Kraft fürs Resampling vorhanden ist, hilft 
vielleicht einer von diesen:
https://www.ti.com/audio-ic/interface/sample-rate-converters/products.html
Gibt es sicher auch von anderen Herstellern.

von Falk B. (falk)


Lesenswert?

ABer mal ganz grundlegend. Welche Tondatei soll da abgespielt werden und 
was soll die variable Geschwindigkeit bei konstanter Tonlage bringen?

von Frank K. (fchk)


Lesenswert?

Michael schrieb:

> UPS, dann geht das ja gar nicht. Hatte mir vorgestellt, durch Variation
> der Abtastrate bzw. durch weglassen bzw. Mehrfachausgabe von Samples,
> dass das geht. Aber du hast recht, einige Versuche mit Excel zeigen,
> dass das nicht trivial ist. Sorry, hätte ich auch gleich machen können.

Lies das hier:

https://en.wikipedia.org/wiki/Audio_time_stretching_and_pitch_scaling

Hier werden die mathematische Verfahren aufgezeigt, die man hier 
verwenden kann.

fchk

von Michael (bandpass)


Lesenswert?

Herzlichen Dank allen für die super Informationen.

Damit habe ich tolle Fakten warum wir das Projekt mit unseren Mitteln 
(Zeit) und know how so nicht umsetzen können.

Viele Grüsse Michael

von Zino (zinn)


Lesenswert?

Es gab MP3-Player, die das konnten. Es gibt auch noch portable MP3- und 
PCM-Aufnahmegeräte, wie z.B. Olympus LS-P1 und Nachfolger (LS-P2 usw.). 
Diese können 50% bis 350% Abspielgeschwindigkeit. Man müßte Strippen 
anlöten und die Tasten per MCU drücken.

von Michael (bandpass)


Lesenswert?

Zino schrieb:
> Es gab MP3-Player, die das konnten. Es gibt auch noch portable MP3- und
> PCM-Aufnahmegeräte, wie z.B. Olympus LS-P1 und Nachfolger (LS-P2 usw.).
> Diese können 50% bis 350% Abspielgeschwindigkeit. Man müßte Strippen
> anlöten und die Tasten per MCU drücken.
Super, das ist genau das was ich suchte.
Habe mir gerade das Manual des Olympus LS-1 angeschaut. Die Funktion ist 
nicht einmal tief im Menue versteckt, so dass man das wohl leicht durch 
einen Controller steuern könnte.
Ob es tatsächlich noch MP3 Player mit dieser Funktion gibt? Solche 
Player sind wahrscheinlich längst von den Handys abgelöst. Egal, dann 
halt mit dem Olympus. Das macht wieder Hoffnung.

Danke und viele Grüsse Michael

von Karl B. (gustav)


Lesenswert?

Falk B. schrieb:
> und
> was soll die variable Geschwindigkeit bei konstanter Tonlage bringen?

Beim Zusammenschneiden verschiedener Aufnahmen, vielleicht ein 
Instrument zu hoch, anderes zu tief gestimmt. Ausgleich.
So soll übrigens durch diese Tonhöhendifferenz-"Panne" der ARD-"Tatort" 
Trailer entstanden sein. Eigentlich war das nicht so geplant. Die 
Bandmaschinen war wohl nicht 100%-ig justiert.

ciao
gustav

von Zino (zinn)


Lesenswert?

Es muß nicht Olympus sein, z.B. der TASCAM DR-05X tut's auch. Die 
Olympus LS-Px sind relativ einfach zu öffnen, aber doch recht winzig. 
Bei den Zoom-Geräten ist der Bereich für die Geschwindigkeitsänderung 
eher klein und die Stufen groß. Geh' einfach mal die Anleitungen durch:

https://www.thomann.de/de/portable_recorder.html

von Christian M. (likeme)


Lesenswert?

Guggt euch beim DJ Equipment um!

von Karl B. (gustav)


Lesenswert?

Zino schrieb:
> Bereich für die Geschwindigkeitsänderung

Geschwindigkeitsänderung ist ja nicht das Problem.
Es soll aber das Tempo gleich bleiben, und Tonhöhe rauf oder runter.
Ohne irgendwelche hörbaren Artefakte. Oder umgekehrt, Tempo rauf und 
runter, dabei Tonhöhe gleich.
https://www.youtube.com/watch?v=zTtzllDQUlE

ciao
gustav

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
Noch kein Account? Hier anmelden.