Hi,
ich bin auf der Suche nach einem Tool mit dem ich zeitgesteuerte Audioaufnahmen anfertigen kann. Ich möchte also angeben, dass mein PC z.B. eine Aufzeichnung von 14 bis 16 Uhr anfertigen soll. Das ganze sollte dann gleich on-the-fly als ogg/mp3 encodiert werden. Ich hatte mal ein wenig gegoogelt und bin auf Waverec gestoßen. Das trift so ziemlich genau meine Anforderungen. Ich will einfach bestimmte Radiosendungen aufzeichnen können wenn ich nicht zu Hause bin. Der Hacken an dem Programm ist leider, dass es ein W32 Binary ist
Auf Freshmeat hatte ich dieses Projekt hier gefunden:
http://www.taolab.it/opensource/flrec/index_en.htm
Das Programm kann zwar schön on-the-fly Oggs bzw. Mp3s erzeugen nur leider nicht zeitgesteuert. Jetzt dachte ich mal daran hier im Forum zu fragen. Kennt jemand ein Programm zum zeigtesteuerten Aufzeichnen von Audio?
Zeitgesteuerte Audioaufnahmetools
Hallo,
nehm doch einfach ein Konsolenprogramm wie arecord und starte
einen cron-job, der das Programm startetet und einen cron-job, der das
Programm nach der entsprechenden Zeit killt.
Sollte eigentlich funktionieren - eventuell die Aufnahmezeit etwas länger, um
sicherzustellen, daß alles auf der Platte ist. Auch ein sync im kill-script
ist sehr hilfreich (vor dem kill)
nehm doch einfach ein Konsolenprogramm wie arecord und starte
einen cron-job, der das Programm startetet und einen cron-job, der das
Programm nach der entsprechenden Zeit killt.
Sollte eigentlich funktionieren - eventuell die Aufnahmezeit etwas länger, um
sicherzustellen, daß alles auf der Platte ist. Auch ein sync im kill-script
ist sehr hilfreich (vor dem kill)
Hi,
vielen Dank für den Hinweis! Habe das Programm mal per apt-get installiert und gleich mal ausprobiert. Funktioniert prima. Ogg Vorbis Encoding on-the-fly funktioniert gut mit:
arecord -f cd -t wav | oggenc -q 3 -o mo.ogg -
Jetzt kann ich das also per Script und Cron automatisieren. Eine GUI wäre mir aber trotzdem ganz lieb, damit man schnell mal ein paar Sendungen eintragen kann. Aber so funktionierts erstmal
vielen Dank für den Hinweis! Habe das Programm mal per apt-get installiert und gleich mal ausprobiert. Funktioniert prima. Ogg Vorbis Encoding on-the-fly funktioniert gut mit:
arecord -f cd -t wav | oggenc -q 3 -o mo.ogg -
Jetzt kann ich das also per Script und Cron automatisieren. Eine GUI wäre mir aber trotzdem ganz lieb, damit man schnell mal ein paar Sendungen eintragen kann. Aber so funktionierts erstmal
Ich habe gerade gesehen, dass arecord auch automatisch die Aufnahme beenden kann:
-d, --duration=#
Interrupt after # seconds. A value of zero means infinity. The
default is zero, so if this option is omitted then the arecord
process will run until it is killed.[/i] (man arecord)
Damit entfällt dann auch das killen des Prozesses und das vorhergehende syncen der HDD.
-d, --duration=#
Interrupt after # seconds. A value of zero means infinity. The
default is zero, so if this option is omitted then the arecord
process will run until it is killed.[/i] (man arecord)
Damit entfällt dann auch das killen des Prozesses und das vorhergehende syncen der HDD.
Habe gerade noch bemerkt das nur der rechte Kanal aufgezeichnet wird und der linke stumm bleibt.
Den Mixer setze ich vor der Aufnahme mit:
amixer sset Line,0 20%,20% unmute captura
Das sieht dann so aus:
oliver@oliver:~$ amixer sset Line,0 20%,20% unmute captura
Simple mixer control 'Line',0
Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 31
Front Left: Playback 6 [19%] [on] Capture [on]
Front Right: Playback 6 [19%] [on] Capture [on]
oliver@oliver:~$
Beide Kanäle sind also auf Capture gestellt.
Da der LineIn Kanal nicht gemutet ist kann ich auch live beide Kanäle korrekt hören. Der Linke Kanal verstummt erst in der Aufnahme. Ich hab auch schonmal eine wav mit arecord aufgezeichnet:
arecord -d 10 -f cd -t wav foobar.wav
Dort ist auch nur der rechte Kanal enthalten.
Ich habe aber vorsichtshalber mal ein paar andere Testfiles mit XMMS abgespielt, dort werden dann beide Stereo Kanäle korrekt wiedergegeben. Es muss also irgendenein Aufnahmeproblem vorliegen.
Hat jemand ne Idee?
Den Mixer setze ich vor der Aufnahme mit:
amixer sset Line,0 20%,20% unmute captura
Das sieht dann so aus:
oliver@oliver:~$ amixer sset Line,0 20%,20% unmute captura
Simple mixer control 'Line',0
Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 31
Front Left: Playback 6 [19%] [on] Capture [on]
Front Right: Playback 6 [19%] [on] Capture [on]
oliver@oliver:~$
Beide Kanäle sind also auf Capture gestellt.
Da der LineIn Kanal nicht gemutet ist kann ich auch live beide Kanäle korrekt hören. Der Linke Kanal verstummt erst in der Aufnahme. Ich hab auch schonmal eine wav mit arecord aufgezeichnet:
arecord -d 10 -f cd -t wav foobar.wav
Dort ist auch nur der rechte Kanal enthalten.
Ich habe aber vorsichtshalber mal ein paar andere Testfiles mit XMMS abgespielt, dort werden dann beide Stereo Kanäle korrekt wiedergegeben. Es muss also irgendenein Aufnahmeproblem vorliegen.
Hat jemand ne Idee?
-
- prolinux-forum-admin
- Posts: 1444
- Joined: 26. Jun 2004 21:18
- Contact:
Cron ist für regelmässige Aufgaben gedacht. Für einmalige/ spontane zeitversetzte Kommandos
gibt es "at".
Dieses Beispiel startet den amixer um 23Uhr.
Also eingeben: at Zeit. Darauf hin öffnet sich eine Eingabeaufforderung (eine subshell)
in die du den auszuführenden Befehl eingibst. Tastenkombination Str+D beendet die subshell
was durch das <EOT> in der Ausgabe quittiert wird.
Mehr dazu gibts in der manpage.
MfG, Klopskuchen
gibt es "at".
Code: Select all
oliver@oliver: at 23:00
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at>amixer -und_so_weiter
at> <EOT>
job 1 at 2005-03-09 23:00
oliver@oliver:
Also eingeben: at Zeit. Darauf hin öffnet sich eine Eingabeaufforderung (eine subshell)
in die du den auszuführenden Befehl eingibst. Tastenkombination Str+D beendet die subshell
was durch das <EOT> in der Ausgabe quittiert wird.
Mehr dazu gibts in der manpage.
MfG, Klopskuchen
When all else fails, read the instructions .