Software to find cover art for different mp3 in group

M

martin195

I want to ask you for advice some soft to automatically find cover arts for mp3 files.

I tried to use MP3tag, but its not very good solution for me, because it is adjusted to work with whole albums. I have my music libraries in larger folders, mixed everything possible :)

The second software I found is "MP3 CoverTag", but this one is even too much simple. It has only one button to automatically do everything, and I have no option to select better or proper picture for specific song neither take action if program detect it wrong. But I was suprised, after process, most of songs had right image, so source database is good.

So, I need something with good database, where I can see previews and select which one should be downloaded, and, of course, picture must be inserted into mp3 file as tag, not just downloaded to folder as cover.jpg or similarly.

I hope something exists, because I was looking google and I didnt found anything :/ So Thanks very much if you advise me smtg :)
 

Unreplied Threads

DCM Flyback Transformer Validation

  • Dravat
  • Physics
  • Replies: 0
I have designed a DC-DC flyback converter (DCM) of 30W. To get the required output voltage of 13V, I had to make my own custom transformer which could support the design requirements mentioned below. I have a custom transformer in hand but i don't know how i can determine whether the transformer is as per specs or not, as it was manufactured by a local vendor. Can anyone help me on how I can evaluate the transformer? Design Specifications: Input Voltage: 50-150 VDC Output Voltage : 13V DC (Isolated) Output Power: 30W Switching frequency: 75kHz

I have measured Inductance of the transformer by shorting the secondary and auxiliary windings, and it was correct (~175 uH). To determine Nps, I applied a 75kHz square wave of 12V at the input but it wasn't a proper square wave rather it was more like a pulse (Attaching image below Ps. please don't mind the broken display of my DSO). Please let me know what all tests I can do to validate my transformer. enter image description here

Can Open-Source Hardware and Tools Achieve Comparable Speedup to NVIDIA GPUs?

  • Abhas Kumar Sinha
  • Physics
  • Replies: 0
I recently stumbled upon a fascinating project involving the implementation of the RISC-V ISA into hardware. As someone with a background primarily in machine learning, I've been contemplating the feasibility of achieving performance levels comparable to NVIDIA GPUs using open-source hardware and tools.

Specifically, I've been exploring alternatives to closed-source GPUs, such as OpenXLA, OpenCL, ROCm, etc. My inquiry centers around whether there exists a method or workflow where one could effectively replace NVIDIA GPUs with open-source counterparts, leveraging the RISC-V Vector Extension.

Assuming the RISC-V Vector Extension is implemented and support for OpenCL is integrated, alongside numerous extensions for SIMD/SIMT implementation and memory support, could this pave the way for a credible alternative to closed-source GPUs with similar speedup capabilities?

I understand that achieving a speedup of 40-50% compared to CUDA GPUs would likely necessitate substantial effort. Nevertheless, I'm keen to gather insights from the community on the feasibility and potential challenges associated with such an endeavor.

My question is simple - What EXACTLY NVIDIA does do to their chips that even despite multiple stream processors with SIMD/SIMT and OpenCL, one cannot even get close to 40-50% of their GPU performance?

Apologies if this question appears overly specific, and I appreciate any contributions or perspectives that the experts offer.

Best regards,

Abhas Kumar Sinha



I understand that my previous question wasn't exactly this specific and had to be closed down. Challenges in Open-Sourcing GPU Models for ML Training Workflow and the Feasibility of Developing Open-Source ML Processors

High frequency BLDC control for parallel speed and position control. Looking for thoughts

  • sebbe
  • Physics
  • Replies: 0
I was not able to find a similar topic but am kind of stuck with my problem.

What am I doing?

I am trying to control the speed of a BLDC Motor very precisely but have to control the position of the spinning motor shaft while rotating.

On the shaft a disc is installed with two slits shifted 180 deg from each other. I need to be able to synchronize the position of the slits to an external signal of 5 Hz and then keep spinning with a constant speed of 150 RPM.

I am using a PLL Loop on an FPGA to determine the phase shift of the motor which is controlled via PID and working fine. The phase shift is determined 20 times per revolution from an AB-encoder signal which gives a control frequency of 50 Hz. The PLL on the FPGA generated a PWM signal which is resolved by an ESC and controlling the BLDC.

The motor is spinning now at a constant speed of 150 RPM with sufficient jitter. For the position control I am using the signal of the X-encoder which is generated once per rev. I am now synchronizing the X-encoder to the 20 AB-encoder brackets.

I tried now to simply delay the signal of the X-encoder by an specific amount of time, to have create positioning of the slit on the spinning disc. However, with this logic I am only able to delay the position of the slit in the matter of (1/20) of the disc, because of the other signal from the AB-enc. I should be able to position the slit position from -180 to +180 degrees compared to the external 5 Hz signal.

Has anyone experience with such a parallel position and speed control of a BLDC?

Ansible. Не отрабатывает команда

  • Дмитрий Захаров
  • Technology
  • Replies: 0
Пытаюсь выполнить обновление сервера используя ansible, но возникли проблемы: # ansible ALT_0d -b -m shell -a "apt-get dist-upgrade" --become-user=root -i /etc/ansible/hosts На сервере ansible никаких процессов нет, после ввода пароля висит в состоянии: BECOME password: На клиенте в логах: ansible-command[14964]: Invoked with _raw_params=apt-get dist-upgrade _uses_shell=True warn=False stdin_add_newline=True strip_empty_ends=True argv=None chd> При запуске в ручную на клиенте команда отрабатывает успешно: # apt-get dist-upgrade Прошу помочь с решением проблемы.

Как скопировать файлы из окна списка, с дальнейшим указанием пути куда его копировать Python

  • Только учу программирование
  • Technology
  • Replies: 0
Вот примерный код который я смог сделать но он копирует только 1 файл когда я выбираю из списка несколько файлов но в конце он видит только последний выбраный файл

Code:
''' import os
import tkinter as tk
from tkinter import filedialog
import ctypes
import shutil

ctypes.windll.shcore.SetProcessDpiAwareness(True)

global current_path

def path_change(*event):
    directory = os.listdir(current_path)
    list.delete(0, tk.END)
    for file in directory:
        list.insert(tk.END, file)

def change_path_by_click(event=None):
    global current_path
    picked = list.get(list.curselection()[0])
    path = os.path.join(current_path, picked)
    if os.path.isdir(path):
        current_path = path
        path_change()
    elif os.path.isfile(path):
        os.startfile(path)

def go_back():
    global current_path
    current_path = os.path.dirname(current_path)
    path_change()

def window_new_file():
    global new_window
    new_window = tk.Toplevel(root)
    new_window.geometry('250x150')
    new_window.resizable(0,0)
    new_window.title('Новый файл/папка')
    new_window.columnconfigure(0, weight=1)
    tk.Label(new_window, text='Введите название нового файла/папки').grid()
    tk.Entry(new_window, textvariable=new_file_name).grid(column = 0, pady = 10, sticky = tk.NSEW)
    tk.Button(new_window, text='Создать', command=new_or_folder).grid(pady=10, sticky=tk.NSEW)

def new_or_folder():
    if len(new_file_name.get().split('.')) !=1:
        open(os.path.join(current_path, new_file_name.get()), 'w').close()
    else:
        os.mkdir(os.path.join(current_path, new_file_name.get()))
    new_window.destroy()
    path_change()

def upload_file():
    filename = filedialog.askopenfilename(initialdir="/", title="Выберите файл")
    if filename:
        destination_path = filedialog.askdirectory(initialdir=current_path, title="Выберите папку для загрузки")
        if destination_path:
            shutil.copy(filename, os.path.join(destination_path, os.path.basename(filename)))
            path_change()

def upload_multiple_files(event=None):
    filenames = filedialog.askopenfilenames(initialdir="/", title="Выберите файлы")
    if filenames:
        destination_path = filedialog.askdirectory(initialdir=current_path, title="Выберите папку для загрузки")
        for filename in filenames:
            if destination_path:
                shutil.copy(filename, os.path.join(destination_path, os.path.basename(filename)))
        path_change()

def download_file():
    picked = list.get(list.curselection()[0])
    source_path = os.path.join(current_path, picked)
    if os.path.isfile(source_path):
        destination_path = filedialog.asksaveasfilename(initialdir="/", title="Выберите путь для выгрузки файла", initialfile=picked)
        if destination_path:
            shutil.copy(source_path, destination_path)
            path_change()

def consolidate_files():
    filenames = filedialog.askopenfilenames(initialdir=current_path, title="Выберите файлы для консолидации")
    if filenames:
        destination_path = filedialog.askdirectory(initialdir=current_path, title="Выберите папку для сохранения консолидированного файла")
        consolidated_filename = "consolidated.txt"
        if destination_path:
            with open(os.path.join(destination_path, consolidated_filename), 'wb') as outfile:
                for filename in filenames:
                    with open(filename, 'rb') as infile:
                        shutil.copyfileobj(infile, outfile)
        path_change()

def exit_program():
    root.destroy()

f = ('Times', 14)
root = tk.Tk()
root.title('Озеро Данных')
root.config(bg='#0B5A81')
p1 = tk.PhotoImage(file="../Avtorizacia/IkonkaOzeroDanih3.png")
root.iconphoto(False, p1)
root.geometry('700x500')
x_position, y_position = 680, 260
root.geometry(f'700x500+{x_position}+{y_position}')

root.grid_columnconfigure(0, weight=1)
root.grid_rowconfigure(1, weight=1)

new_window = ''
new_file_name = tk.StringVar(root, "Блокнот.txt", 'new_name')
current_path = 'C:\\Отчеты'

# Кнопки
tk.Button(root, text='Создать', command=window_new_file).grid(sticky=tk.NSEW, column=0, row=0)
tk.Button(root, text='Загрузить', command=upload_file).grid(sticky=tk.NSEW, column=1, row=0)
tk.Button(root, text='Скопировать', command=download_file).grid(sticky=tk.NSEW, column=2, row=0)
tk.Button(root, text='Консолидатор', command=consolidate_files).grid(sticky=tk.NSEW, column=3, row=0) 
tk.Button(root, text='Назад', command=go_back).grid(sticky=tk.NSEW, column=4, row=0)
tk.Button(root, text='Выход', command=exit_program).grid(sticky=tk.NSEW, column=5, row=0)

list = tk.Listbox(root, selectmode=tk.MULTIPLE)  # Устанавливаем режим выбора EXTENDED
list.grid(sticky = tk.NSEW, column=0, row=1, columnspan=6, ipady=10, ipadx=10)
list.bind('<Double-1>', change_path_by_click)
list.bind('<Return>', change_path_by_click)

path_change('')

root.mainloop()
 '''

Подключение IP-телефонии с помощью оптоволокна

Нужно смоделировать Структурированную Кабельную Систему Исходные данные:

  1. количество подключений не менее 300
  2. количество зданий не меньше двух
  3. здания имеют уникальный вид. Каждый этаж должен быть уникальным, количество конечных подключений в каждой комнате не более 4.
  4. система должна иметь трёхуровневую сетевую иерархию (ядро – 2 самых мощных коммутатора, распределение, доступ)
  5. скорость между коммутаторами ядра соединён со скоростью 40 гигабит в секунду, а всеми остальными 10 мегабит в секунду. Скорость на уровне доступа между пользователями 1 гигабит в секунду.
  6. обеспечить резервирование линии связи
  7. использовать активное и пассивное оптическое сетевое оборудование.
  8. резервное электропитание Вопрос в том, какую систему подключения использовать, многие говорят GPON, но что может быть лучше и проще?

Ошибка ERR_TOO_MANY_REDIRECTS на BitrixVM 5.55

  • Alexander Wahl
  • Technology
  • Replies: 0

Существует проблема с редиректом в BitrixVM v.5.55.2​


Есть VPS, на нём несколько доменов. На одном домене установлен Интернет-магазин Битрикс. Далее был создан второй домен через меню BitrixVM, на который был перенесен старый сайт на WordPress. Всё было нормально, до момента установки SSL сертификата.

Сейчас наблюдается на сайте с Wordpress постоянный редирект 301, а точнее зацикленный редирект. Я грешу на nginx, логи ничего внятного по крайней мере для меня не дают. Самое интересное, что в саму админку Wordpress удалось зайти и внутри не возникает проблем.

Окружение:​

  • CentOS 6.8
  • ISPmanager Lite 5.55.2
  • BitrixVM 5.1.8
  • 1CBitrix интернет-магазин на одном домене
  • WordPress на другом домене, с которым и возникли проблемы конфигурации

В каталоге ниже есть файлы:

/etc/nginx/bx/site_avaliable

  • bx_ext_lokalsite.ru.conf
  • bx_ext_ssl_lokalsite.ru.conf

Содержимое bx_ext_lokalsite.ru.conf​


Code:
# Ansible managed: 
/etc/ansible/roles/web/templates/nginx/http_newsite_template.conf.j2 
modified on 2016-06-23 13:19:43 by root on mywebsite.ru
# Additional website http
    server {
    listen 80 ;
    server_name lokalsite.ru www.lokalsite.ru;
    access_log /var/log/nginx/lokalsite_access.log main;
    error_log  /var/log/nginx/lokalsite_error.log warn;
#charset utf-8;
    server_name_in_redirect off;
    proxy_set_header    X-Real-IP $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_faorwarded_for;
    proxy_set_header    Host $host:80;
    set $proxyserver  "http://127.0.0.1:8887";
    set $imcontenttype  "text/html; charset=utf-8";
    set $docroot        "/home/bitrix/ext_www/lokalsite.ru";
    index index.php;
    root "/home/bitrix/ext_www/lokalsite.ru";
#Redirect to ssl if need
    if (-f /home/bitrix/ext_www/lokalsite.ru/.htsecure) { rewrite ^(.*)$ 
    https://$host$1 permanent; }
#Include parameters common to all websites
    include bx/conf/bitrix.conf;
#Include munin and nagios web
    include bx/server_monitor.conf;
}

Содержимое bx_ext_ssl_lokalsite.ru.conf​


Code:
    #Ansible managed: 
        /etc/ansible/roles/web/templates/nginx/https_newsite_template.conf.j2 
        modified on 2016-06-23 13:19:43 by root on mywebsite.ru
    #Additional website http
        server {
        listen 443 ssl;
        server_name lokalsite.ru www.lokalsite.ru;
    #enable SSL connection
        include bx/conf/lokalsite.ru_ssl.conf;
        access_log /var/log/nginx/lokalsite_access.log main;
        error_log  /var/log/nginx/lokalsite_error.log warn;
    #charset utf-8;
        server_name_in_redirect off;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    Host $host:443;
        proxy_set_header  HTTPS YES;
        proxy_set_header  X-Forwarded-Proto https;
        set $proxyserver  "http://127.0.0.1:8887";
        set $imcontenttype  "text/html; charset=utf-8";
        set $docroot        "/home/bitrix/ext_www/lokalsite.ru";
        index index.php;
        root "/home/bitrix/ext_www/lokalsite.ru";
    #Include parameters common to all websites
        include bx/conf/bitrix.conf;
    #Include munin and nagios web
        include bx/server_monitor.conf;
}

Вот такой ответ получаем 10 раз на сайте https://bertal.ru/


Code:
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.8.1
    Date: Sat, 31 Mar 2018 00:12:47 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Vary: HTTPS
    Location: https://lokalsite.ru/
    X-Content-Type-Options: nosniff
    X-Frame-Options: SAMEORIGIN

Вот так выглядит конфигурационный файл апача bx_ext_lokalsite.ru.conf​


Code:
#Ansible managed: 
    /etc/ansible/roles/web/templates/httpd/bx_apache_site.conf.j2 modified on 
    2016-06-23 13:19:43 by root on kalif24.ru
#site: lokalsite.ru<pre>
    <VirtualHost 127.0.0.1:8887>
        ServerName  lokalsite.ru
        ServerAlias www.lokalsite.ru    ServerAdmin webmaster@localhost
        DocumentRoot  /home/bitrix/ext_www/lokalsite.ru
        ErrorLog logs/lokalsite_error_log
        LogLevel warn
        CustomLog logs/lokalsite_access_log combined
    <IfModule mod_rewrite.c>
    #Nginx should have "proxy_set_header HTTPS YES;" in location
        RewriteEngine On
        RewriteCond %{HTTP:HTTPS} =YES
        RewriteRule .* - [E=HTTPS:on,L]
    </IfModule>
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <DirectoryMatch .*\.svn/.*>
        Deny From All
    </DirectoryMatch>
    <DirectoryMatch .*\.git/.*>
        Deny From All
    </DirectoryMatch>
    <DirectoryMatch .*\.hg/.*>
        Deny From All
    </DirectoryMatch>
    <Directory /home/bitrix/ext_www/lokalsite.ru>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        DirectoryIndex index.php index.html index.htm
        Order allow,deny
        allow from all
        php_admin_value session.save_path /tmp/php_sessions/ext_www/lokalsite.ru
        php_admin_value upload_tmp_dir    /tmp/php_upload/ext_www/lokalsite.ru
    </Directory>
    <Directory /home/bitrix/ext_www/lokalsite.ru/bitrix/cache>
        AllowOverride none
        Order allow,deny
        Deny from all
    </Directory>
    <Directory /home/bitrix/ext_www/lokalsite.ru/bitrix/managed_cache>
        AllowOverride none
        Order allow,deny
        Deny from all
    </Directory>
    <Directory /home/bitrix/ext_www/lokalsite.ru/bitrix/local_cache>
        AllowOverride none
        Order allow,deny
        Deny from all
    </Directory>
    <Directory /home/bitrix/ext_www/lokalsite.ru/bitrix/stack_cache>
        AllowOverride none
        Order allow,deny
        Deny from all
    </Directory>
    <Directory /home/bitrix/ext_www/lokalsite.ru/upload>
        AllowOverride none
        AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht
        php_value engine off
    </Directory>
    <Directory /home/bitrix/ext_www/lokalsite.ru/upload/support/not_image>
        AllowOverride none
        Order allow,deny
        Deny from all
    </Directory>
    <Directory /home/bitrix/ext_www/lokalsite.ru/bitrix/images>
        AllowOverride none
        AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht
        php_value engine off
    </Directory>
    <Directory /home/bitrix/ext_www/lokalsite.ru/bitrix/tmp>
        AllowOverride none
        AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht
        php_value engine off
    </Directory>
    </VirtualHost>

День убил на поиск ошибки, не знаю где она. В конфигурационных файлах Линукса я слаб. Может быть кто-то знает где может быть собака зарыта?
Top