Beiträge von eukalyptus
-
-
Ein SplitStream schein mit einem RecordChannel nicht zu funktionieren.
Du kannst aber einen zusätzlichen Buffer verwenden, um die Record-Samples in den SourceStream zu füttern.Beispiel im Anhang
Gibt es irgendwo eine hilfe zu Bass.dll, kann keine finden
BrettF und ich arbeiten zur Zeit an einer Hilfe im chm-Format, das wird aber noch länger dauern bis wir fertig sind.mfgE
-
Wie man das löst, hängt davon ab was du genau machen willst.
Schau dir einfach mal dieses Beispiel an und dann sehen wir weiter
:Spoiler anzeigen
[autoit]#AutoIt3Wrapper_UseX64=n
[/autoit] [autoit][/autoit] [autoit]
#include "Bass.au3"
#include "BassMix.au3"
#include "BassFX.au3"$iFreq_Lo = 800; Hz
[/autoit] [autoit][/autoit] [autoit]
$iFreq_Hi = 3000; HzHotKeySet("{ESC}", "_Exit")
[/autoit] [autoit][/autoit] [autoit]$sFile = FileOpenDialog("Open...", "", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")
[/autoit] [autoit][/autoit] [autoit]_BASS_Startup(@ScriptDir & "\bass.dll")
[/autoit] [autoit][/autoit] [autoit]
_BASS_MIX_Startup(@ScriptDir & "\bassmix.dll")
_BASS_FX_Startup(@ScriptDir & "\bass_fx.dll")_BASS_Init(0, -1, 44100, 0, "")
[/autoit] [autoit][/autoit] [autoit]$hStream = _BASS_StreamCreateFile(False, $sFile, 0, 0, $BASS_STREAM_DECODE)
[/autoit] [autoit][/autoit] [autoit]$hSplit_Lo = _BASS_Split_StreamCreate($hStream, $BASS_STREAM_DECODE, 0)
[/autoit] [autoit][/autoit] [autoit]
$hLFX_Lo = _BASS_ChannelSetFX($hSplit_Lo, $BASS_FX_BFX_BQF, 1)
_BASS_FXSetParameters($hLFX_Lo, $BASS_BFX_BQF_LOWPASS & "|" & $iFreq_Lo & "|0|1|0|0|" & $BASS_BFX_CHANALL)$hSplit_Mi = _BASS_Split_StreamCreate($hStream, $BASS_STREAM_DECODE, 0)
[/autoit] [autoit][/autoit] [autoit]
$hLFX_MiLo = _BASS_ChannelSetFX($hSplit_Mi, $BASS_FX_BFX_BQF, 1)
_BASS_FXSetParameters($hLFX_MiLo, $BASS_BFX_BQF_HIGHPASS & "|" & $iFreq_Lo & "|0|1|0|0|" & $BASS_BFX_CHANALL)
$hLFX_MiHi = _BASS_ChannelSetFX($hSplit_Mi, $BASS_FX_BFX_BQF, 1)
_BASS_FXSetParameters($hLFX_MiHi, $BASS_BFX_BQF_LOWPASS & "|" & $iFreq_Hi & "|0|1|0|0|" & $BASS_BFX_CHANALL)$hSplit_Hi = _BASS_Split_StreamCreate($hStream, $BASS_STREAM_DECODE, 0)
[/autoit] [autoit][/autoit] [autoit]
$hLFX_Hi = _BASS_ChannelSetFX($hSplit_Hi, $BASS_FX_BFX_BQF, 1)
_BASS_FXSetParameters($hLFX_Hi, $BASS_BFX_BQF_HIGHPASS & "|" & $iFreq_Hi & "|0|1|0|0|" & $BASS_BFX_CHANALL)$aInfo = _BASS_ChannelGetInfo($hStream)
[/autoit] [autoit][/autoit] [autoit]
$hMixer = _BASS_Mixer_StreamCreate($aInfo[0], $aInfo[1], 0)
_BASS_Mixer_StreamAddChannel($hMixer, $hSplit_Lo, 0)
;_BASS_Mixer_StreamAddChannel($hMixer, $hSplit_Mi, 0)
;_BASS_Mixer_StreamAddChannel($hMixer, $hSplit_Hi, 0)_BASS_ChannelPlay($hMixer, True)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While _BASS_ChannelIsActive($hMixer)
[/autoit] [autoit][/autoit] [autoit]
Sleep(10)
WEnd_Exit()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _Exit()
[/autoit]
_BASS_ChannelStop($hMixer)
_BASS_Free()
Exit
EndFunc ;==>_Exit -
Meinst du sowas?
Spoiler anzeigen
[autoit]#include <GuiConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>$pi = 3.14159265358979
[/autoit] [autoit][/autoit] [autoit]
$degToRad = $pi / 180_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]
$hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\bilder\tacho_hintergrund.jpg")$hGUI = GUICreate("GDI+", 256, 256)
[/autoit] [autoit][/autoit] [autoit]
GUISetState()$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
[/autoit] [autoit][/autoit] [autoit]
$Pen = _GDIPlus_PenCreate(0xFFFF0000, 3)For $i = 0 To 360
[/autoit]
$X = Round(Cos($i * $degToRad) * 100)
$Y = Round(Sin($i * $degToRad) * 100)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage, 0, 0, 256, 256)
_GDIPlus_GraphicsDrawLine($hGraphic, 128, 128, 128 + $X, 128 + $Y, $Pen)
Sleep(10)
Next -
Mit der Bass.dll würde das in etwa so funktionieren:
Spoiler anzeigen
[autoit]#AutoIt3Wrapper_UseX64=n
[/autoit] [autoit][/autoit] [autoit]
#include "Bass.au3"
#include "BassExt.au3"OnAutoItExitRegister("_FreeBass")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("{ESC}", "_Exit")_BASS_Startup()
[/autoit] [autoit][/autoit] [autoit]
_BASS_EXT_Startup()_BASS_RecordInit(-1)
[/autoit] [autoit][/autoit] [autoit]$hRecord = _BASS_RecordStart(44100, 2, 0, $BASS_EXT_RecordProc)
[/autoit] [autoit][/autoit] [autoit]
$tFFT = DllStructCreate("float[4096]")
$pFFT = DllStructGetPtr($tFFT)While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_BASS_ChannelGetData($hRecord, $pFFT, $BASS_DATA_FFT8192)
$fMax = 0
$fFreq = 0
For $i = 1 To 4096
If DllStructGetData($tFFT, 1, $i) > $fMax Then
$fMax = DllStructGetData($tFFT, 1, $i)
$fFreq = $i * 44100 / 8190
EndIf
Next
ToolTip("Frequency: " & Round($fFreq, 1) & "Hz")
Sleep(50)
WEndFunc _Exit()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc ;==>_ExitFunc _FreeBass()
[/autoit]
_BASS_RecordFree()
EndFunc ;==>_FreeBassdie nötigen Dateien findest du hier: Audio Meter (Peak, VU, Stereoscope und Korrelationsgradmesser)
mfgE
-
Normalerweise wird beim Pitchen eine Sounddatei mit einer anderen Samplerate abgespielt = Tonhöhe UND Geschwindigkeit verändern sich
Bei der bassfx.dll gibt es 3 verschiedene Varianten:
BASS_ATTRIB_TEMPO_FREQ = Verändert nur die Samplerate beim Abspielen = Ton wird langsamer und tiefer
BASS_ATTRIB_TEMPO = Kombination aus Timestreching und Samplerate = Ton wird langsamer bei gleichbleibender Tonhöhe
BASS_ATTRIB_TEMPO_PITCH = Kombination aus Timestreching und Samplerate = Tonhöhe verändert sich, Geschwindigkeit bleibt gleichSpoiler anzeigen
[autoit]#include <Bass.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <BassConstants.au3>
#include <BassFX.au3>
#include <BassFXConstants.au3>HotKeySet("{UP}", "_Pitch")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("{DOWN}", "_Pitch")
HotKeySet("{LEFT}", "_Pitch")
HotKeySet("{RIGHT}", "_Pitch")HotKeySet("{ESC}", "_Exit")
[/autoit] [autoit][/autoit] [autoit]Global $sFile = FileOpenDialog("Open...", "", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")
[/autoit] [autoit][/autoit] [autoit]
Global $hStream, $hTempo
Global $iPitch = 0
Global $iTempo = 0_BASS_STARTUP("BASS.dll")
[/autoit] [autoit][/autoit] [autoit]
_BASS_FX_Startup("bass_fx.dll")_BASS_Init(0, -1, 44100, 0, "")
[/autoit] [autoit][/autoit] [autoit]$hStream = _BASS_StreamCreateFile(False, $sFile, 0, 0, $BASS_STREAM_DECODE)
[/autoit] [autoit][/autoit] [autoit]
$hTempo = _BASS_FX_TempoCreate($hStream, $BASS_SAMPLE_LOOP)_BASS_ChannelPlay($hTempo, 1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While _BASS_ChannelIsActive($hTempo)
[/autoit] [autoit][/autoit] [autoit]
ToolTip("Pitch: " & $iPitch & " semitones" & @CRLF & "Tempo: " & $iTempo & " percent")
Sleep(100)
WEnd_Exit()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _Exit()
[/autoit] [autoit][/autoit] [autoit]
_BASS_StreamFree($hStream)
_BASS_Free()
Exit
EndFunc ;==>_EXITFunc _Pitch()
[/autoit]
Switch @HotKeyPressed
Case "{UP}"
$iPitch += 1
_BASS_ChannelSetAttribute($hTempo, $BASS_ATTRIB_TEMPO_PITCH, $iPitch)
Case "{DOWN}"
$iPitch -= 1
_BASS_ChannelSetAttribute($hTempo, $BASS_ATTRIB_TEMPO_PITCH, $iPitch)
Case "{LEFT}"
$iTempo -= 1
_BASS_ChannelSetAttribute($hTempo, $BASS_ATTRIB_TEMPO, $iTempo)
Case "{RIGHT}"
$iTempo += 1
_BASS_ChannelSetAttribute($hTempo, $BASS_ATTRIB_TEMPO, $iTempo)
EndSwitch
EndFunc ;==>_PitchmfgE
-
DANKE Prog@ndy für dieses Geschenk!

-
Die richtige Quelle ist immer noch eine Dokumentation:
http://www.com.it-berater.org/gdiplus/GdiPlus.htm
Das ist auch meine Quelle
Weiters findet man auch in der GDIP.au3 immer was brauchbares!
-
Das sollte helfen:
[autoit]DllCall($ghGDIPDll, "int", "GdipSetInterpolationMode", "handle", $hGraphic, "int", 5)
[/autoit]mfgE
-
Ich würde das in etwa so machen:
Spoiler anzeigen
[autoit]#include <Sound.au3>
[/autoit] [autoit][/autoit] [autoit]HotKeySet("!1", "Song")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("!2", "Song")
HotKeySet("!3", "Song")
HotKeySet("!4", "Song")
HotKeySet("!5", "Song")HotKeySet("{ESC}", "Stop")
[/autoit] [autoit][/autoit] [autoit]Global $aSnd_id[6], $iSnd_id
[/autoit] [autoit][/autoit] [autoit]$aSnd_id[1] = _SoundOpen(@ScriptDir & "\1.mp3")
[/autoit] [autoit][/autoit] [autoit]
$aSnd_id[2] = _SoundOpen(@ScriptDir & "\2.mp3")
$aSnd_id[3] = _SoundOpen(@ScriptDir & "\3.mp3")
$aSnd_id[4] = _SoundOpen(@ScriptDir & "\4.mp3")
$aSnd_id[5] = _SoundOpen(@ScriptDir & "\5.mp3")While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(10)
WEndFunc Song()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Switch @HotKeyPressed
Case "!1"
$iSnd_id = 1
Case "!2"
$iSnd_id = 2
Case "!3"
$iSnd_id = 3
Case "!4"
$iSnd_id = 4
Case "!5"
$iSnd_id = 5
EndSwitch
_SoundPlay($aSnd_id[$iSnd_id])
EndFuncFunc Stop()
[/autoit]
_SoundStop($aSnd_id[$iSnd_id])
EndFuncDas Problem mit dem Zeilenabstand hab ich auch manchmal auf meinem Rechner in der Firma - hab allerdings keine Ahnung wieso...
mfgE
-
liegen Bass.dll, Bass.au3 und BassConstants.au3 im Scriptordner?
-
In etwa so:
[autoit]#AutoIt3Wrapper_UseX64=n
[/autoit]
#include "Bass.au3"
_BASS_Startup()
_BASS_RecordInit(-1)
_BASS_RecordSetInput(0, $BASS_INPUT_ON, -1)Dieses Script setzt den ersten Input der (in Windows als default gesetzten) Soundkarte aktiv
_BASS_RecordInit: Welche Soundkarte soll initialisiert werden -1=default, 0=erste, 1=zweite Soundkarte
_BASS_RecordSetInput:
erster Parameter: Input der Soundkarte (welche Zahl dem Mikroeingang bzw. dem Stereomix entspricht mußt du halt ausprobieren)
zweiter Parameter: Input aktiv oder inaktiv setzen (= Hakchen im Windows Mixer)
dritter Parameter: Lautstärke; -1=nicht verändern (=Slider im Windows Mixer)Zu beachten ist, daß unter WinXP die Soundkarten so "dargestellt" werden, wie sie hardwaremässig auch aussehen. (Eine Soundkarte kann mehrere Inputs haben)
Win Vista/7 stellt jeden einzelnen Input einer Soundkarte als "eigene" Soundkarte dar...Spoiler anzeigen
[autoit]#AutoIt3Wrapper_UseX64=n
[/autoit] [autoit][/autoit] [autoit]
#include "Bass.au3"OnAutoItExitRegister("_FreeBass")
[/autoit] [autoit][/autoit] [autoit]Global $iDevice, $iInput, $aInfo, $sName
[/autoit] [autoit][/autoit] [autoit]_BASS_Startup()
[/autoit] [autoit][/autoit] [autoit]$iDevice = 0
[/autoit] [autoit][/autoit] [autoit]
While 1
$aInfo = _BASS_RecordGetDeviceInfo($iDevice)
If @error Then ExitLoop
ConsoleWrite(@CRLF & ">Device found: " & $aInfo[0] & @CRLF)
If BitAND($aInfo[2], $BASS_DEVICE_ENABLED) Then
ConsoleWrite("+" & @TAB & "Device is enabled" & @CRLF)
Else
ConsoleWrite("!" & @TAB & "Device is disabled" & @CRLF)
ContinueLoop
EndIf
If BitAND($aInfo[2], $BASS_DEVICE_DEFAULT) Then ConsoleWrite("-" & @TAB & "Device is the system default" & @CRLF)
_BASS_RecordInit($iDevice)
$iInput = 0
While 1
$sName = _BASS_RecordGetInputName($iInput)
If @error Then ExitLoop
$aInfo = _BASS_RecordGetInput($iInput)
ConsoleWrite(">" & @TAB & @TAB & "Input found: " & $sName & @CRLF)
Switch BitAND($aInfo[0], $BASS_INPUT_OFF)
Case 0
ConsoleWrite("+" & @TAB & @TAB & @TAB & "Input is ON" & @CRLF)
Case Else
ConsoleWrite("!" & @TAB & @TAB & @TAB & "Input is OFF" & @CRLF)
EndSwitch
If BitAND($aInfo[0], $BASS_INPUT_TYPE_DIGITAL) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "Digital input source, for example, a DAT or audio CD." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_LINE) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "Line-in. On some devices, 'Line-in' may be combined with other analog sources into a single BASS_INPUT_TYPE_ANALOG input." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_MIC) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "Microphone." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_SYNTH) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "Internal MIDI synthesizer." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_CD) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "Analog audio CD." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_PHONE) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "Telephone." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_SPEAKER) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "PC speaker." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_WAVE) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "The device's WAVE/PCM output." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_AUX) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "Auxiliary. Like 'Line-in', 'Aux' may be combined with other analog sources into a single BASS_INPUT_TYPE_ANALOG input on some devices." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_ANALOG) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "Analog, typically a mix of all analog sources." & @CRLF)
If BitAND($aInfo[0], $BASS_INPUT_TYPE_UNDEF) Then ConsoleWrite("-" & @TAB & @TAB & @TAB & "Undefined" & @CRLF)$iInput += 1
[/autoit] [autoit][/autoit] [autoit]
WEnd_BASS_RecordFree()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$iDevice += 1
ConsoleWrite(@CRLF)
WEndFunc _FreeBass()
[/autoit]
If _BASS_RecordGetDevice() <> -1 Then _BASS_RecordFree()
EndFunc ;==>_FreeBassmfgE
-
Das gefällt mir

Ich möchte noch auf die Programmiersprache Ook! hinweisen:
-
Such mal im Forum nach _Bass_RecordSetInput
mfgE
-
Im Id3v2 Tag können große Datenmengen gespeichert sein (z.B.: Coverbilder)
Vielleicht liegt das Problem ja hier... -
Hi
Um 2 Lieder gleichzeitig abzuspielen brauchst du nur 2 Streams zu starten:
Spoiler anzeigen
[autoit]#include "Bass.au3"
[/autoit] [autoit][/autoit] [autoit]$hGui = GUICreate("", 150, 120)
[/autoit] [autoit][/autoit] [autoit]
$hSlider1 = GUICtrlCreateSlider(35, 10, 30, 100, 0x0006)
$hSlider2 = GUICtrlCreateSlider(85, 10, 30, 100, 0x0006)
GUISetState()_BASS_Startup()
[/autoit] [autoit][/autoit] [autoit]_BASS_Init(0, -1, 44100, 0, "")
[/autoit] [autoit][/autoit] [autoit]$sFile1 = FileOpenDialog("Open...", "", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")
[/autoit] [autoit][/autoit] [autoit]
$sFile2 = FileOpenDialog("Open...", "", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")$hStream1 = _BASS_StreamCreateFile(False, $sFile1, 0, 0, 0)
[/autoit] [autoit][/autoit] [autoit]
$hStream2 = _BASS_StreamCreateFile(False, $sFile2, 0, 0, 0)_BASS_ChannelPlay($hStream1, True)
[/autoit] [autoit][/autoit] [autoit]
_BASS_ChannelPlay($hStream2, True)While _BASS_ChannelIsActive($hStream1)
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msg
Case -3
ExitLoop
Case $hSlider1
_BASS_ChannelSetAttribute($hStream1, $BASS_ATTRIB_VOL, (100 - GUICtrlRead($hSlider1)) / 100)
Case $hSlider2
_BASS_ChannelSetAttribute($hStream2, $BASS_ATTRIB_VOL, (100 - GUICtrlRead($hSlider2)) / 100)
EndSwitch
Sleep(20)
WEnd_BASS_StreamFree($hStream1)
[/autoit] [autoit][/autoit] [autoit]
_BASS_StreamFree($hStream2)_BASS_Free()
[/autoit]Wenn du mit dem zusammengemixten Signal noch was machen möchtest, z.B. Gesammtlautstärke abfragen, dann solltest du _BASS_Mixer_StreamCreate und _BASS_Mixer_StreamAddChannel verwenden.
Spoiler anzeigen
[autoit]#include "Bass.au3"
[/autoit] [autoit][/autoit] [autoit]
#include "BassMix.au3"$hGui = GUICreate("", 150, 120)
[/autoit] [autoit][/autoit] [autoit]
$hSlider1 = GUICtrlCreateSlider(35, 10, 30, 100, 0x0006)
$hSlider2 = GUICtrlCreateSlider(85, 10, 30, 100, 0x0006)
GUISetState()_BASS_Startup()
[/autoit] [autoit][/autoit] [autoit]
_BASS_MIX_Startup()_BASS_Init(0, -1, 44100, 0, "")
[/autoit] [autoit][/autoit] [autoit]$sFile1 = FileOpenDialog("Open...", "", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")
[/autoit] [autoit][/autoit] [autoit]
$sFile2 = FileOpenDialog("Open...", "", "playable formats (*.MP3;*.MP2;*.MP1;*.OGG;*.WAV;*.AIFF;*.AIF)")$hStream1 = _BASS_StreamCreateFile(False, $sFile1, 0, 0, $BASS_STREAM_DECODE)
[/autoit] [autoit][/autoit] [autoit]
$hStream2 = _BASS_StreamCreateFile(False, $sFile2, 0, 0, $BASS_STREAM_DECODE)$hMixer = _BASS_Mixer_StreamCreate(44100, 2, 0)
[/autoit] [autoit][/autoit] [autoit]
_BASS_Mixer_StreamAddChannel($hMixer, $hStream1, 0)
_BASS_Mixer_StreamAddChannel($hMixer, $hStream2, 0)_BASS_ChannelPlay($hMixer, True)
[/autoit] [autoit][/autoit] [autoit]While _BASS_ChannelIsActive($hMixer)
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msg
Case -3
ExitLoop
Case $hSlider1
_BASS_ChannelSetAttribute($hStream1, $BASS_ATTRIB_VOL, (100 - GUICtrlRead($hSlider1)) / 100)
Case $hSlider2
_BASS_ChannelSetAttribute($hStream2, $BASS_ATTRIB_VOL, (100 - GUICtrlRead($hSlider2)) / 100)
EndSwitch
Sleep(20)
WEnd_BASS_StreamFree($hStream1)
[/autoit] [autoit][/autoit] [autoit]
_BASS_StreamFree($hStream2)_BASS_Free()
[/autoit]mfgE
-
Neue Version; siehe Post 1
-
Mittlerweile werden die Vuvuzelas von vielen Fernsehanstalten herausgefiltert (und auch teilw. Fangesänge mit dem Sampler eingespielt)
Vuvuzelas in action: http://www.youtube.com/watch?v=NXPPyjtw5WU

-
Oberösterreich, also auch Ausland

-
Hi
Das Aufnahmescript ist eigentlich ganz einfach:
Spoiler anzeigen
[autoit]#AutoIt3Wrapper_UseX64=n
[/autoit] [autoit][/autoit] [autoit]
#include "Bass.au3"
#include "BassEnc.au3"
#include "BassExt.au3"HotKeySet("{ESC}", "_Exit")
[/autoit] [autoit][/autoit] [autoit]OnAutoItExitRegister("_FreeBass")
[/autoit] [autoit][/autoit] [autoit]Global $hRecord, $hEncoder
[/autoit] [autoit][/autoit] [autoit]_BASS_Startup()
[/autoit] [autoit][/autoit] [autoit]
_BASS_ENCODE_Startup()
_BASS_EXT_Startup()_BASS_RecordInit(0)
[/autoit] [autoit][/autoit] [autoit]
_BASS_RecordSetInput(0, $BASS_INPUT_ON, -1)
$hRecord = _BASS_RecordStart(44100, 2, 0, $BASS_EXT_RecordProc)
$hEncoder = _BASS_Encode_Start($hRecord, @ScriptDir & "\BASS_EXAMPLE.wav", $BASS_ENCODE_PCM)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(1000)
WEndFunc _FreeBass()
[/autoit] [autoit][/autoit] [autoit]
If $hEncoder Then _BASS_Encode_Stop($hEncoder)
If _BASS_RecordGetDevice() <> -1 Then _BASS_RecordFree()
EndFunc ;==>_FreeBassFunc _Exit()
[/autoit]
ShellExecute(@ScriptDir & "\BASS_EXAMPLE.wav")
Exit
EndFunc ;==>_ExitDieses Script nimmt von Device Nr.: 0 / Input Nr.: 0 auf
welcher Input jetzt der richtige ist, kannst du mit diesem Script ausprobieren:
Spoiler anzeigen
[autoit]#AutoIt3Wrapper_UseX64=n
[/autoit] [autoit][/autoit] [autoit]
#include "Bass.au3"Global $iDevice, $iInput, $aInfo, $sName
[/autoit] [autoit][/autoit] [autoit]_BASS_Startup()
[/autoit] [autoit][/autoit] [autoit]$iDevice = 0
[/autoit]
While 1
$aInfo = _BASS_RecordGetDeviceInfo($iDevice)
If @error Then ExitLoop
ConsoleWrite(@CRLF & "+---------------------------------" & @CRLF)
ConsoleWrite(">" & $aInfo[0] & @CRLF)
_BASS_RecordInit($iDevice)
$iInput = 0
While 1
$sName = _BASS_RecordGetInputName($iInput)
If @error Then ExitLoop
ConsoleWrite("-" & $sName & @CRLF & "+" & @TAB & $iDevice & "/" & $iInput & @CRLF)
$iInput += 1
WEnd
ConsoleWrite(@CRLF & "+---------------------------------" & @CRLF)
_BASS_RecordFree()
$iDevice += 1
WEndDas liefert bei mir unter WinXP:
Spoiler anzeigen
Code
Alles anzeigen+--------------------------------- >X-Fi Surround 5.1 What U Hear -Was Sie hören + 0/0 +--------------------------------- +--------------------------------- >Realtek HD Audio Input -Mikrofon + 1/0 -Stereomix + 1/1 +--------------------------------- +--------------------------------- >X-Fi Surround 5.1 Line/Mic-In -Eingang/Mikro + 2/0 +---------------------------------und unter Win7:
Spoiler anzeigen
Code
Alles anzeigen+--------------------------------- >Eingang/Mikro (SB X-Fi Surround -Hauptlautstärke + 0/0 +--------------------------------- +--------------------------------- >Stereo Mix (Realtek High Defini -Hauptlautstärke + 1/0 +--------------------------------- +--------------------------------- >Microphone (Realtek High Defini -Hauptlautstärke + 2/0 +--------------------------------- +--------------------------------- >Was Sie hören (SB X-Fi Surround -Hauptlautstärke + 3/0 +---------------------------------
In meinem Fall kann ich den Ausgang der Realtek-Soundkarte über Stereomix und den Ausgang der Creative über "Was Sie hören" aufnehmen.
Diese beiden Hersteller bieten dieses Feature an - das ist quasi, als würde man ein Kabel vom Output wieder in den Input stecken...
Das können aber nicht alle SoundkartenWenn ich jetzt den Ausgang der Realteksoundkarte aufnehmen will (Stereomix), muß ich auf WinXP
[autoit]_BASS_RecordInit(1)
[/autoit]
_BASS_RecordSetInput(1, $BASS_INPUT_ON, -1)
[autoit]
und auf Win7_BASS_RecordInit(1)
[/autoit]
_BASS_RecordSetInput(0, $BASS_INPUT_ON, -1)schreiben
evtl. sind auf Win 7 / Vista manche Inputs deaktiviert und müssen erst in der Systemsteuerung aktiviert werden...
die benötigten bass-UDF´s sind im Anhang