Просмотр спектра музыкальных файлов с помощью AuSpec

Список разделов foobar2000 Секреты foobar2000

Описание: Кнопочки, конфиги, секреты, советы.

Сообщение #1 panda » 13.04.2009, 21:34

для того, чтобы просмотреть спектр музыкального файла вам нужны:
foobar2000
foo_run
AuSpec (~600 Кб)

Изображение

распаковываем содержимое архива в папку «foobar2000\tools\AuSpec»
в настройках foo_run создаём новый пункт AuSpec, прописываем команду:
Код: Выделить всё
.\tools\AuSpec\AuSpec.vbs /path:"%path%" /codec:"%codec%" /track:%track% /AskForDirs:1 /ForceDel:0
создаём в папке AuSpec текстовый файл, обзываем его AuSpec.vbs и копируем туда:
[code=AuSpec.vbs]'AuSpec.vbs
'foobar AuSpec script for foo_run
'AuSpec.vbs /path:"%path%" /codec:"%codec%" /track:%track% /AskForDirs:1 /ForceDel:0
'-------------------------------------------------------------------------------------------------

Dim A, D, S, path, FSO, cue
Dim objRegExp, objMatches, objMatch

Set A = WScript.Arguments.Named
Set objRegExp = CreateObject("VBScript.RegExp")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

path = A("path")
D = False
'-------------------------------------------------------------------------------------------------
'Проверка на архив
If InStr(A("path"), "|") Then
MsgBox("Альбом находится в архиве")
WScript.Quit
End If
'-------------------------------------------------------------------------------------------------
'Мессаджбокс
If A("AskForDirs") Then
If MsgBox("Создать спектрограммы для каждого файла в папке?" & vbCrLf & _
"Нет = только для одного файла" _
,vbYesNo+vbInformation+vbDefaultButton2,"Вывод спектрограммы")= vbYes Then
path = FSO.GetFile(A("path")).ParentFolder.Path
D = True
End If
End If

'-------------------------------------------------------------------------------------------------
'Проверка на CUE
If Not D And Right(A("path"),3) = "cue" Then
cue = CreateObject("Scripting.FileSystemObject").OpenTextFile(A("path")).ReadAll()
objRegExp.Global = True
objRegExp.Pattern = "FILE[\s]*""([^""]+)"""
Set objMatches = objRegExp.Execute(cue)
S = 0
If objMatches.Count > 1 Then
S = A("track") - 1
End If
path = FSO.GetFile(A("path")).ParentFolder.Path & "\" & _
objMatches.Item(S).SubMatches(0)
End If
'-------------------------------------------------------------------------------------------------
'Генерация файл(а/ов)
WshShell.CurrentDirectory = ".\tools\AuSpec\"
Call WshShell.Run("AuSpec_Pre.exe " & Chr(34) & path & Chr(34), 1, True)
'-------------------------------------------------------------------------------------------------
'Запуск просмотровщика
If D Then
For Each File In FSO.GetFolder(path).Files
If FSO.FileExists(File.Path & ".png") Then
path = File.Path
Exit For
End If
Next
End If

Call WshShell.Run(Chr(34) & path & ".png" & Chr(34), 1, True)
'-------------------------------------------------------------------------------------------------
'Удаление
If A("ForceDel") = 0 Then
If MsgBox("Удалить файл(ы) спектрограммы?" _
,vbOkCancel+vbInformation+vbDefaultButton1,"") = vbCancel Then
WScript.Quit
End If
End If

For Each File In FSO.GetFile(path).ParentFolder.Files
If FSO.FileExists(File.Path & ".png") Then
FSO.GetFile(File.Path & ".png").Delete
End If
Next[/code]

Программа создаёт картинку и складывает её туда же, где находятся музыкальные файлы. Картинка открывается в просмотровщике, ассоциированном у вас в системе с форматом png. После закрытия просмотровщика выдаётся запрос, удалять ли картинку со спектром или оставить лежать в папке.

Вертикальные линии — тонкие через каждые 10 секунд, толстые через каждую минуту.
Горизонтальные линии — тонкие каждый 1 кГц, толстые — каждые 5 кГц.
[table][tr][td]lossless[/td][td]mp3 192 kbps (видно срез на 16 кГц)[/td][/tr]
[tr][td]Изображение[/td][td]Изображение[/td][/tr][/table]

AuSpec понимает следующие форматы: mp3, ogg, wav, aiff, mp2, mp1, wma, ape, flac
не понимает другие форматы и файлы из архивов
Последний раз редактировалось panda 11.06.2009, 05:47, всего редактировалось 1 раз.
panda M
Автор темы
Аватара
Репутация: 12
С нами: 17 лет 6 месяцев

Сообщение #2 panda » 17.04.2009, 15:57

Слегка переделал.
Хрен с ними, с архивами, но зато cue теперь отрабатываются верно. На архивы ругается.
Вместо неименованных аргументов теперь именованные: /AskForDirs:0 отключает один мессаджбокс, а /ForceDel:1 — другой
Последний раз редактировалось panda 17.04.2009, 16:17, всего редактировалось 1 раз.
panda M
Автор темы
Аватара
Репутация: 12
С нами: 17 лет 6 месяцев

Сообщение #3 panda » 17.04.2009, 19:58

По заявкам некоторых товарищей сделал другую версию. Тут ещё нужен foo_runcmd.
Этой версии пофигу архивы, куе, кодеки и прочие извращения.

Запускается без параметров, выводится для выделенных в плейлисте треков.
В конвертере нужно сделать презет и обозвать его auspec:
[img width=357 height=400]http://img2.pict.com/5b/fb/54/be11d2c2fcff9a69cd95d25f32/MHZxp/auspecconverter1.png[/img][img width=357 height=400]http://img2.pict.com/0a/fa/db/f03381bd4030e1eb5f9fad847c/7rem1/auspecconverter2.png[/img]

[code=AuSpec2.vbs]Dim WshShell, FSO
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

Call WshShell.Run("foobar2000.exe " & chr(34) & _
"/runcmd-playlist=Convert/auspec" & chr(34), 1, True)
Do While WshShell.AppActivate("Generating Preview")
WScript.Sleep(500)
Loop
Do While WshShell.AppActivate("Converting")
WScript.Sleep(500)
Loop
WshShell.CurrentDirectory = ".\tools\AuSpec"
Call WshShell.Run("AuSpec_Pre.exe c:\temp\foo_temp\Image.wav", 1, True)
Call WshShell.Run("C:\temp\foo_temp\Image.wav.png", 1, True)
FSO.GetFolder("C:\temp\foo_temp").Delete[/code]

dmzkrsk:Чтобы ничего не поломалось надо убедиться, что в *.ini файле установлено
Код: Выделить всё
output = png
local = 0
Последний раз редактировалось panda 11.06.2009, 16:56, всего редактировалось 1 раз.
panda M
Автор темы
Аватара
Репутация: 12
С нами: 17 лет 6 месяцев

Сообщение #4 Gendos » 21.04.2009, 15:03

Привет всем! 2panda большое спасибо, очень нужная вещь, правда у меня скрипт работает не так как надо. Проблема вот в чем, запускаю через Run Service>auspec, выходит окно с предложением анализировать все файлы (ДА) или только выделенный (НЕТ), нажимаю нет, но анализируются почему-то все файлы, далее одновременно с просмотрщиком вылазит ошибка Изображение, приходится вручную удалять изображение.
ПС. У  меня виндоуз виста сп1, может дело в ней?
Gendos
Репутация: 0
С нами: 14 лет 10 месяцев

Сообщение #5 Mr.Merak » 21.04.2009, 15:22

2panda
panda:AuSpec понимает следующие форматы: mp3, ogg, wav, aiff, mp2, mp1, wma, ape, flac
а wavpack будет?
Mr.Merak M
Откуда: Украина
Репутация: 27
С нами: 17 лет 7 месяцев

Сообщение #6 panda » 21.04.2009, 15:29

2Gendos
висты у меня нет, проверить не на чем.
в принципе, скрипт не настолько сложный, чтобы было непонятно, что из него вырезать лишнее.
в строку вызова картинки можно добавить путь до просмотровщика.

2Mr.Merak
вопрос не ко мне)
я только прикрутил существующую программку.
panda M
Автор темы
Аватара
Репутация: 12
С нами: 17 лет 6 месяцев

Сообщение #7 Gendos » 21.04.2009, 16:03

Проблема решилась  [:-}, установил сторонний просмотрщик, все работает. Еще раз спасибо!
Gendos
Репутация: 0
С нами: 14 лет 10 месяцев

Сообщение #8 donseigneur » 06.05.2009, 17:35

  Штука весьма полезная, но не пойму в чём дело ни как! Сделано всё один в один как написано. Выделяю треки - ран сервис - ауспек - и "привет"... - ничего не происходит. Уже сто раз всё перепроверил... Может где-то не понимаю чего?! У кого какие проблемы были??? Как решали???

[font=Verdana][font=Verdana]ХЕЛП ХЕЛП ХЕЛП !!! ОЧЕНЬ НАДО ТАКУЮ ВЕСЧ!!![/font][/font]
Последний раз редактировалось donseigneur 07.05.2009, 14:58, всего редактировалось 1 раз.
donseigneur
Репутация: 0
С нами: 14 лет 10 месяцев

Сообщение #9 panda » 07.05.2009, 00:59

если вообще ничего не происходит, скорее всего дело в том, что неправильно прописан путь в foo_run
panda M
Автор темы
Аватара
Репутация: 12
С нами: 17 лет 6 месяцев

Сообщение #10 donseigneur » 07.05.2009, 01:15

[img]http://C:\Documents%20and%20Settings\Сергей\Рабочий%20стол\07.05.png[/img]
=- Это там где PATH ??
Вложения
07.05.png
donseigneur
Репутация: 0
С нами: 14 лет 10 месяцев

Сообщение #11 panda » 07.05.2009, 01:54

да, путь правильный?
panda M
Автор темы
Аватара
Репутация: 12
С нами: 17 лет 6 месяцев

Сообщение #12 donseigneur » 07.05.2009, 02:04

:-( :o *упал* я запутался напрочь *sorry*   ...если путь к фо ран.длл в компоненты указать (?!) - то тоже ничего, да ведь и отображаемая надпись в поле "путь" другая бидет, не как в образце. *ну*         медленно схожу с ума...
donseigneur
Репутация: 0
С нами: 14 лет 10 месяцев

Сообщение #13 evil » 07.05.2009, 07:43

2donseigneur
Какой полный путь до AuSpec.vbs?
evil M
Репутация: 67
С нами: 17 лет 10 месяцев

Сообщение #14 donseigneur » 07.05.2009, 14:32

  C:\Program Files\foobar2000\tools\AuSpec\AuSpec.vbs.txt - эт последнее из семнадцати вариантов что сейчас стоит в пути, - если под ним мы понимаем то, что указываем квадратной кнопочкой под надписью PATH и соответственно он же и будет указан в окошке. Я прошу прощенья за примитивизм, но по-другому ужо не воспринимаю  :o:o. И если там надо указать путь этой квадратной кнопочкой до текстового AuSpec.vbs то не понятно с примером кода в начале мануала -

распаковываем содержимое архива в папку «foobar2000\tools\AuSpec»
в настройках foo_run создаём новый пункт AuSpec, прописываем команду:
Код:
.\tools\AuSpec\AuSpec.vbs /path:"%path%" /codec:"%codec%" /track:%track% /AskForDirs:1 /ForceDel:0

  Какие кодеки, какие аскфодиски и т.д.?? Собсно вот тут и непонятно... Объясните пожалста на пальцах - что в энтом пути должно быть и как его правильно создать %)
[img]http://C:\Documents%20and%20Settings\Сергей\Рабочий%20стол\07.05.png[/img]
Вложения
07.05.png
donseigneur
Репутация: 0
С нами: 14 лет 10 месяцев

Сообщение #15 Mishail » 07.05.2009, 14:52

2donseigneur
C:\Program Files\foobar2000\tools\AuSpec\AuSpec.vbs.txt
Вот .txt тут совсем ни к чему
Mishail M
Аватара
Репутация: 5
С нами: 17 лет 10 месяцев

Сообщение #16 donseigneur » 07.05.2009, 14:55

  Сейчас убрал .txt (и раньше без него пробовал) всё -равно...
donseigneur
Репутация: 0
С нами: 14 лет 10 месяцев

Сообщение #17 donseigneur » 07.05.2009, 17:04

  Собсно сама по себе програмка работает прекрасно. Открываю ей мп3, флаки, апе, вэйвы - вообще без проблем, ...вот именно к фубару никак не привинтить.
donseigneur
Репутация: 0
С нами: 14 лет 10 месяцев

Сообщение #18 panda » 08.05.2009, 10:56

сам vbs-файл запускается?
panda M
Автор темы
Аватара
Репутация: 12
С нами: 17 лет 6 месяцев

Сообщение #19 donseigneur » 08.05.2009, 14:23

сам vbs-файл запускается?

После выделения треков ->run servis->AuSpec ничего не происходит, только контекстное меню пропадает. Может запускаю не так?
donseigneur
Репутация: 0
С нами: 14 лет 10 месяцев

Сообщение #20 panda » 08.05.2009, 14:54

у меня не так много времени, чтобы тратить его на человека, который не может ответить на прямо поставленный вопрос.
абсолютно всё, что нужно для функционирования, описано в первом посте.
panda M
Автор темы
Аватара
Репутация: 12
С нами: 17 лет 6 месяцев

След.

Вернуться в Секреты foobar2000