Programming :: Synchronize Sound Cards On Different Computers?
Dec 27, 2010
I've written a "C" program which transmits audio to a number of computers over a TCP LAN connection. I'm using ALSA, the preemptive kernel, and pthread. After running for 30 minutes or so the slight variation in sampling rates (~+-.01%) among the computers accumulates and manifests as a noticeable differential delay in the sound from the speakers. I know how to detect the variation and would like to dynamically compensate for it by individually varying the sampling rate (ever so slightly) of each playback device to oppose the variation.
Does anybody out there in Linux Land know how to dynamically vary the playback sample rate? I've tried using snd_pcm_hw_params_set_rate() and snd_pcm_hw_params_set_rate() followed by snd_pcm_hw_params() to no avail. They don't seem to work when playback is running.
I have two computers with Ubuntu 10.10 on them, a desktop and a laptop. I have two options for handling them: Try and keep them the same Accept that they have different 'personalities' and branch off their on way
However, I've chosen the first option because I like to keep my files and settings the same on both computers. I am in the process of extracting a tar archive I made of my entire desktop's hard drive (9.7GiB) onto my laptop, so after this is done they will be exactly the same. However, upon turning the laptop on with my freshly-copied system, things will become different. If I take the laptop to school, for example, and do stuff there, then come back home, and do stuff on my desktop, how can I sync these computers (both ways!) with the new changes at the end of the day/week/whatever?
I recently had a brain cramp and told Phonon to forget my sound card(s). I have an on-board card and I have installed an old-school Sound Blaster CT-4832. I have followed the steps listed in the comprehensive sound trouble shooting, and still no luck!
Code: gentle@Desktop:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: ALC888 Analog [ALC888 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0
I have 2 threads and both of them are deleting memory at the end nedded by both.
My problem is that maybe it can happen that a thread start and finish before the other one starts and so it deletes the memory nedded by the other thread. How can I synchronize them so that this can't happend.
As a design my threads look like this:
Code:
The other thread looks the same, but this isn't unoff to stop thread1 to finish before thread2 starts.
I have a PXE server.I boot one PC (optiplex 740) with hda-nvidia Sigmatel STAC9200, i have sound.I boot a second one (optiplex 380) with hda-intel Realtek ALC259, can see mixers with alsamixer, the xmms graphs moves when playing music, but i don't hear any sound.
It achieves a bash script that takes two parameters (command line). These two parameters must be two paths of two directories (existing, and different such as not being of the other sub-folder). Path1 and path2 are for simplicity.The script will recursively visit the two directories and all sub-directories, sub-sub-directories, etc.. Looking for differences between their contents (files or directories). In particular, suppose that we work with both path1 and path2 directory, and scanned the files contained therein. These situations can occur:
* Path1 exists in a file that is not present in path2: in this case, the script displays the path of the file to you (print screen) and asks if he wants the file is copied in path2 or not. Reads the user's response and acts accordingly.
* Path2 exists in a file that is not present in path1: in this case, the script displays the path of the file and asks if the user wants the file is copied in path1 or not. Reads the user's response and acts accordingly.
* Both path1 path2 in a file with the same name but different contents: in this case, the script displays the path of the two files (which of course will start with path1 and path2 but end with an equal) to the user together with the two dates have been changed last time. Then asks if you want the file to be replaced by one in path1 path2, or that the file is replaced by one in path2 path1, or that both are left unchanged. Reads the user's response and acts accordingly.
* Both path1 path2 in a file with the same name and same content, in which case the script does nothing and proceeds with the next file.This is done for all regular files in path1 and path2. The special file (socket, device, symbolic link ...) are ignored. For folders in path1 and path2 is recursively by:
* Path1 if there is a folder that is not present in path2: in this case, the script displays the path to the folder and asks if you want the folder and all its contents are copied to path2. Reads the user's response and acts accordingly.
* Path1 if there is a folder that is not present in path2: similar at first.
* Both path1 path2 that there are two folders with the same name as the script works recursively on the two folders.
1. I run Suse 11.2 with two sound cards , one HDA comes with motherboard and second is USB, which I use for skype and talking. In YAST everything is fine the motherboard card is marked as prime card and the usb card is marked as second. But often when I log in alsa decides that second card is main and I have to pull out the USB card, run command "rcalsasound restart" and put the USB back afterward. It is a way that to be fixed in the way that alsa remember my choices forever. 2. The other problem is that from time to time the sound suddenly dies and I have to bring it up with rcalsasound restart again.
But I have to admit that their significant improvement with managing sound with PulseAudio.
tried to install linuxant drivers which failed and then I uninstalled it. Now sound does not work, installed alsa backports again, installed alsa, alsautils again as well. no luck.
I've browsed the internet, but haven't found a satisfying answer. Hope this forum can help me in the right direction.I'm exploring the possibilities of creating a program that manipulates (writes to) two different video cards.I program in C and hope to avoid high level libraries like Xlib to keep the mem footprint as low and the performance as high as possible. Windowing is not important no desktop environment will be used. Be able to write two pixels (one to each screen) to would do.
How would I go about?To give an idea of the solution I'm looking for:One screen will show thumbnails of images on the hard drive. Clicking an thumbnail on display A will show the selection full screen on display B. On a laptop; preferably thumbnails on the laptop screen and the selected image on the external monitor.Is this possible with just low-level libs or do I need X or some third-party software to make life easy?
I just two days ago updated lenny, then unplugged my monitor which raised my video card out of my open system board. This made my debian com freeze and i had to restart. The sound icon looks like its muted or has an X next to it. It says 'No volume control GStreamer plugins and/or devices found.' I tried looking through forums but havent found any solutions yet. I think alsa is installed. I ran alsaconf. It said no sound cards were loaded when unloading them. Then the following cards are found on your system:
hda-intel ATI Technologies Inc SBx00 Azalia (Intel HDA) hda-intel ATI Technologies Inc Radeon HD 3870 Audio device legacy Probe legacy ISA (non-PnP) chips
I tried the first two, it says OK, sound driver is configured ALSA CONFIGURATOR will prepare the card for playing now. I'll run alsasound init script, then use amixer.
I then installed libesd-alsa0, replacing libesd0 or something. If I do # alsamixer, then it says alsamixer: function snd_ctl_open failed for default: No such file or directory
Then i tried this
# cat /proc/asound/cards cat: /proc/asound/cards: No such file or directory then # cat /proc/asound/modules cat: /proc/asound/modules: No such file or directory
[Code]....
Did I break the onboard sound card when pulling out the video cord? I was pretty gentle, I just made it slide out i think. I've also restarted a bunch of times. It seems like alsaconf showed some sound cards. Maybe some driver is not installed, but I think I did install a newer gstreamer or part of it.
I'd like to make a complete switch to Debian. One of the things holding me back is not knowing the state of play regarding sound card support. I've been fiddling around on and off for three years trying to get my M-Audio FireWire Solo to work in Ubuntu without much joy. I think there might be greater support for USB sound cards but I'm not certain of this. Onboard cards aren't OK because in my experience these pick up too much noise. After years of using balanced audio lines it's pretty much impossible to go back. That said, a PCIe card isn't completely out of the picture if I can get balanced outs with it.
I'm planning on plugging KRK powered monitors via XLR or TRS cables into the sound card. But my preference at this point is firmly with USB sound cards. Is there an up-to-date list I can check of supported sound cards in Debian? Can anyone here provide a testimonial of their experience? It's important to note that I'm after playback only. I don't want to record ever. That should hopefully make things easier. I'd be looking at using Debian wheezy.
I have just upgraded to Fedora 14, with some hope that a F13 kernel crash issue would be resolved. Alas, not, and I have lost audio in one of my sound cards. I am using 2 sound cards in my computer. The first one (VT 1708 on the M2V MX SE motherboard) is used for FLDIGI (ham radio program). The other one (Creative Labs SB Live!) is tied to a speaker/microphone. At some point in mid 2010, I started getting kernel crash reports (not sure which kernel version this started), and the VIA VT 1708 audio controller stopped working. The SB Live! card works fine.
From mesg, I get: [9.181148] WARNING: at drivers/pci/pci.c:105 pci_ioremap_bar+0x2c/0x5b() [9.181186] [<c05c36ad>] ? pci_ioremap_bar+0x2c/0x5b [9.181194] [<c05c36ad>] pci_ioremap_bar+0x2c/0x5b [9.181299] ALSA sound/pci/hda/hda_intel.c:2510: ioremap error
I've just pulled out the SB LIVE! card to see if it is causing the VT 1708 controller to fail...there appears to be no interaction.
From lspci -v, I get: 20:01.0 Audio device: VIA Technologies, Inc. VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) (rev 10) Subsystem: ASUSTeK Computer Inc. Device 8290 Flags: fast devsel, IRQ 17 Memory at <ignored> (64-bit, non-prefetchable) Capabilities: <access denied> Kernel modules: snd-hda-intel
So it seems to know it's there. How to get my sound back (and get rid of this kernel crash every time I start my computer)?
I have seen several posts on various message boards that touch on the no sound over hdmi on nvidia cards issue (mine is an 8400 gs) and the general consensus seems to be create a custom edid and tell x to use it. So here is the heart of the post: I downloaded http://analogbit.com/sites/default/file /edid_disable_exts_v1.2.tgz to modify my edid but I don't know what to do with it. I extracted it and tried $ make and $ sudo make install But that wasn't the ticket,
I have an internal PCI sound card, and I would like to find out what MIDI capabilities it has, if any. It is currently using the ens1370 ALSA driver. It has the standard Line in, Line out, and Mic jacks, as well as what appears to be a game port. I think it has some MIDI capabilities, because "cat /dev/snd/midiC0D0" does not fail with "no such device or address," but I don't know if it has MIDI input capabilities, or if it can synthesize, or what. Is there any way to tell?
I've got a problem on Slackware64 13.37, my sound is way to loud even on minimum settings, it just jumps from off to quite loud, this is not a hardware problem as when I use sound from my debian rescue partition I have full control, I have tried using alsamixer as well as the graphical volume control (I'm using xfce but a quick test on kde gives the same results), alsaconf doesn't seem to detect any sound cards, alsa mixer correctly identifies my sound card ( NVIDA ), been googling and searching these forums but all the sound problems seem to be about sound being to low or nonexistent.
I have an nvidia card and a motherboard with an internal sound card.
The nvidia card hogs alsa, and it's really obnoxious because I don't use hdmi for audio (or video, for that matter, crt all day)
I would normally just blacklist the module that the card is using, but I hit a hiccup...
This is the readout for the gfx card from lspci -v
Code: Select all01:00.1 Audio device: NVIDIA Corporation Device 0fbc (rev a1) Subsystem: ASUSTeK Computer Inc. Device 84bb Flags: bus master, fast devsel, latency 0, IRQ 25 Memory at fe080000 (32-bit, non-prefetchable) [size=16K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Kernel driver in use: snd_hda_intel
And this is the readout from the motherboards internal audio card
Code: Select all00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA) (rev 40) Subsystem: Gigabyte Technology Co., Ltd Device a132 Flags: bus master, slow devsel, latency 32, IRQ 16 Memory at fe500000 (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 2 Kernel driver in use: snd_hda_intel
Since they have the same kernel module, all the internet advice is pretty much moot, because I can't figure out how to effectively shut off one without killing the other as well. Huge PITA.
I have an M-Audio Delta 44 sound card, and a USB MIDIinterface device, both are recognized, and work. My problem is as each are seen by alsa as sound cards, sometimes the alsa card numbers switch between boots. Is there a way to set these devices to always have the same card number for alsa
I`ve problem with my microphone on fedora 14 with Gnome 2. When i try to use alsamixer command there everything is ok. I tried pulseaudio and HDA nvidia sound cards, but microphone don`t work. How to fix this problem?
how can I play audio (Mythtv - Play Music) simultaneously on two sound cards using ALSA drivers. I have two cards working well. One card is an onboard Intel cards, and the other card is a USB Audio card. Both cards are working well. I use the onboard Intel to output SPDIF to an amplified. The second USB card is bound to MPD service and it outputs an analog signal to a second amplified. I'd like to have the following configuration: Play to the default card with 5.1 passthrough, while the second card, connected to a second amplifier, plays an analog signal to the same audio played by Mythtv Play Music. In other words, I need to mix somehow and play the same audio on both cards.
Here is the list of cards:
root@mythtv:~# aplay -L null Discard all samples (playback) or generate zero samples (capture)
This is wrong, now My audigy should be default with the UART (onboard) being secondary. I will be setting this up for my microphone / headset.Now if I restart I will get the following..
I've tried googling, but can't manage to figure out how to change the priority order of the sound cards in yast. From yast > hardware > sound, I can see the (default) internal audio from the motherboard, and I can see the usb headset that I would like to be using as the default. How should I go about changing the priority order on these devices?
I have dell inspiron-1545 laptop.I installed rhel5(downloaded from torrent for free),kernel (2.6.18-8el5xen).i got a driver cd from dell containing rhel drivers for audio,video,network.i tried to install those drivers but could not.it asked for dkms 2.0 which i installed.but even now also some errors are coming(like dependencies missing etc.).so no internet ,no sound,no video on my laptop.
Some command outputs:
When i boot every process come OK except(cpu micromodule failed.fatal error and hub port status failed). i think these cards have not been detected.
I have a dns server started with 2 NIC Cards in it. The bios sees both cards but they both dont show in ifconfig. is there a way to activate the second card?
I'm trying to write a mass reboot script in the event of a power outage (servers go to UPS for some 15 minutes or so and shutdown uncleanly). What I have is a set of 6 common passwords which will be prompted for per ssh connection, is there any way I can cycle through this password list
Code: #below is an example of how this is constructed, IP's are used instead of hostnames due to the possibility of a DNS server being offline. SERVERSRM1="1 2 3" SERVERSRM2="110 120 130" For i in $SERVERSRM1; do ssh -n root@192.168.0.$i "hostname && shutdown -y -i5 -g0"; done;' for i in $SERVERSRM2; do ssh -n root@192.168.0.$i "hostname && shutdown -y -i5 -g0"; done;' Each time the code is executed I'm prompted for a password (it's always one of 6 passwords). It would be quicker to have the passwords be cycled through.
I realise this is basic code at the moment but it will eventually allow for a specific set of computers to be shut down based on what power supply they're using. Authorized keys not really an option given the scale of computers (some 300 or so).
im trying to connect two computers on lan.One computer has: VMWare Workstation and has Opensuse 11.3 mounted in it.The other computer has: VMWare Player and has Opensuse 11.3 mounted in it.Both computers are connected to a switch with cables.I have followed this guide in both computers:Depanati singuri calculatorul!: Opensuse 11.3 - configure local networkin order to setup a network.In one computer, if i go to: Computer---Network---Network folder, i only see one machine. When in fact i could see both of them right
Have a couple of very annoying problems. I recently did a re-install of Kubuntu Maverick on my HTPC/fileserver box.It has an onboard (Realtek?) audio card, recognized as... I think, ALC888... Yeah, not sure, KInfoCenter lists a bunch:ALSA Sequencer DeviceUSB 2881 Device ALSA Control Device (my DVB-T stick)ALSA Timer Device
HDA Intel ALSA hardware specific Device ALC888 Analog ALSA Capture Device ALC888 Analog ALSA Capture Device
Before I could not even get to identify the Ipaq on the usb port.
Now, after blacklisting ipaq I got this:
Quote:
But still can't see it on the computer nor in media folder, what goes next? I also installed activesync trhough wine, but still no success on actively detecting the device.
On Ubuntu 10.10 x64, when trying to sync via right click "Ubuntu One/Synchroniser ce dossier" Synchronize to Ubuntu One, nothing happens. When within the "Documents" folder I select "Synchroniser ce dossier" Synchronize this folder from the upper right section of the window I get an error message: "Erreur lors de l'activation du dossier. Impossible d'activer la synchronisation du dossier /home/ao/Documents avec Ubuntu One"
ao@Ordi-AO-Ubuntu:~$ u1sdtool --list-folders No folders ao@Ordi-AO-Ubuntu:~$ u1sdtool -s State: QUEUE_MANAGER
[Code]....
Within the Ubuntu One app, my computer is identified and connected.